Arduino Core For ESP8266

如果選擇純C作為ESP8266的開發(fā)汁掠,有兩個(gè)途徑:

  1. 使用樂鑫官方原生的 RTOS-SDK或者NONOS-SDK
  2. 使用Arduino IDE
  3. 使用PlatformIO

作為一個(gè)“Arduino 移民”當(dāng)然最好能用Arudino IDE來作為ESP8266的開發(fā)環(huán)境了姆吭,至少使用Arduino IDE可以省去不少開發(fā)環(huán)境配置的麻煩戴质,要知道配置一個(gè)用于固件開發(fā)的純C環(huán)境可不是容易的事灯变,得天天折騰Make這個(gè)著名而古老的自動(dòng)化工具炫刷。所以我并不會進(jìn)直采用樂鑫(ESPressif )的RTOS-SDK或者NONOS-SDK淹魄,因?yàn)槟莻€(gè)得自已配置C環(huán)境,那對于一直使用高級語言開發(fā)而并被Jetbrains 的優(yōu)秀IDE系列“寵壞”的我來說無疑是一種折磨水评,而做開發(fā)應(yīng)該是一種享受而不是受罪猩系,所以還是回到 Arduino 的懷抱好一些。

其實(shí)用不用Arduino IDE 還是其次中燥,重要的是我想用Arduino 框架來開發(fā)而不是原生SDK寇甸。ESP8266這個(gè)可以多框架開發(fā)的芯片讓我在選擇框架的時(shí)候確實(shí)是作了一番的掙扎。我曾在 Espressif , NodeMCU 和 ESP Arduino 這種三框架之間徘徊了很久才最終想通了自已所要的:適當(dāng)?shù)那闆r下用適當(dāng)?shù)目蚣芰粕妫呓詾槲宜媚妹梗∵@樣說可能和沒說一樣,其實(shí)并不是這樣的咱扣,因?yàn)槿N框各有優(yōu)劣才導(dǎo)致出現(xiàn)選擇困難的绽淘。

?先來說說Espressif 也就是 樂鑫的官方SDK,Arduino ESP (Arduino Core For ESP8266) 和 NodeMCU 都是其于它的偏窝,是原生框架收恢。樂鑫又提供了兩種不同的SDK 一種是 RTOS-SDK 另一個(gè)叫NONOS-SDK 它們主要差異點(diǎn)如下:

  • Non-OS SDK - 主要使用定時(shí)器和回調(diào)函數(shù)的方式實(shí)現(xiàn)各個(gè)功能事件的嵌套,達(dá)到特定條件下觸發(fā)特定功能函數(shù)的目的祭往。Non-OS SDK 使用 espconn 接口實(shí)現(xiàn)網(wǎng)絡(luò)操作伦意,用戶需要按 照 espconn 接口的使用規(guī)則進(jìn)行軟件開發(fā)。
  • RTOS SDK - RTOS 版本 SDK 使用 freeRTOS 系統(tǒng)硼补,引入 OS 多任務(wù)處理的機(jī)制驮肉,用戶可以使用 freeRTOS 的標(biāo)準(zhǔn)接口實(shí) 現(xiàn)資源管理、循環(huán)操作已骇、任務(wù)內(nèi)延時(shí)离钝、任 務(wù)間信息傳遞和同步等面向任務(wù)流程的設(shè)計(jì)方式。具體接口使用方法參考 freeRTOS 官方網(wǎng)站的使用說明或者 USING THE FREERTOS REAL TIME KERNEL--A Practical Guide 介紹褪储。
    • RTOS 版本 SDK 的網(wǎng)絡(luò)操作接口是標(biāo)準(zhǔn) lwIP API卵渴,同時(shí)提供了 BSD Socket APIsocket 接口的封裝實(shí)現(xiàn),用戶可以直接按照socket API的使用方式來開發(fā)軟件應(yīng)用鲤竹,也可以直接編譯運(yùn)行其他平臺的標(biāo)準(zhǔn) Socket 應(yīng)用浪读,有效降低平臺切換的學(xué)習(xí)成本。
    • RTOS 版本 SDK 引入了 cJSON 庫辛藻,使用該庫函數(shù)可以更加方便的實(shí)現(xiàn)對 JSON 數(shù)據(jù)包的解析碘橘。
    • RTOS 版本兼容non-OS SDK中的Wi-Fi接 口、smart config接口吱肌、Sniffer相關(guān)接口痘拆、系統(tǒng)接口、定時(shí)器接 口氮墨、FOTA接口和外圍驅(qū)動(dòng)接口纺蛆,不支持AT實(shí)現(xiàn)。

NodeMCU是采用 NONOS-SDK 和 NodeLua 的開發(fā)框架勇边,而Arduino ESP就是基于RTOS-SDK和Arduino Core的開發(fā)框架犹撒,但很顯示RTOS是最好的一種選擇!

當(dāng)然如果你是個(gè)Geeker粒褒,從來不喜歡開發(fā)工具而且又是個(gè)硬件工程師那無疑Expressif的原生SDK絕對是最佳選擇识颊,那我推薦使用安信可官方的開發(fā)工具系列,感覺上雖然很難用(因?yàn)槲覀€(gè)人很討厭eclipse ide)奕坟。安信可有個(gè)官方的百度網(wǎng)盤(具體地址到他們官網(wǎng)找吧)祥款,他們將所有的資料和資源都丟在那里,有興趣的朋友可以到那里搜刮一下月杉。

Arduino Core for ESP8266 是基于RTOS-SDK的刃跛,而且更新得比較快。我選擇它的最重要一點(diǎn)是它有OTA (over-the-air Update) 而 NodeMCU沒有苛萎!

這里是 Arduino Core for ESP8266 的Github桨昙,他們的源碼和配置方法都有检号。

要Arduino IDE支持ES2688就需要添加驅(qū)動(dòng)支持,可以按以下的方法操作蛙酪,先打開 Arduino IDE的偏好設(shè)定齐苛,然后在"Additional Boards Manager URLS"一欄上加入以下的地址:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

然后在選擇板子的菜單內(nèi)點(diǎn)擊“Boards Manager”:

Arduino IDE 偏好設(shè)定
Board manager菜單

待Boards Manager加載成功后就會找到的ESP8266的驅(qū)動(dòng):

board manager

重打開工具>開發(fā)板菜單就會發(fā)現(xiàn)Arudino Core For ESP8266所能支持的板子了:

工具->開發(fā)板

選對板子,插上一個(gè)LED 來寫個(gè)最簡單Blink程序:

void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

上傳成功后一切有如用Arduino來編程桂塞。

Arduino Core For ESP8266 有極為之豐富的資源凹蜂,除了可以兼容Arduino 絕大多數(shù)的庫之外還有很多的第三方庫支持,這一點(diǎn)做得當(dāng)相不錯(cuò)阁危,點(diǎn)擊庫管理可以查看和安裝到Arduino IDE中來:

項(xiàng)目>加載庫>管理庫
庫管理

唯一比較坑爹的是你一定要確保你的機(jī)器在終端內(nèi)訪問git的速度是沒有問題的玛痊,或者你的機(jī)器是已經(jīng)翻墻了的,否則上所講的內(nèi)容基本與你緣分狂打,由于我們偉大的“墻”腦殘地將GitHub的部分地址給屏了擂煞,如果不翻過去基本下載不了板子的定義與庫定義。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末趴乡,一起剝皮案震驚了整個(gè)濱河市颈娜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌浙宜,老刑警劉巖官辽,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異粟瞬,居然都是意外死亡同仆,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門裙品,熙熙樓的掌柜王于貴愁眉苦臉地迎上來俗批,“玉大人,你說我怎么就攤上這事市怎∷晖” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵区匠,是天一觀的道長干像。 經(jīng)常有香客問我,道長驰弄,這世上最難降的妖魔是什么麻汰? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮戚篙,結(jié)果婚禮上五鲫,老公的妹妹穿的比我還像新娘。我一直安慰自己岔擂,他們只是感情好位喂,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布浪耘。 她就那樣靜靜地躺著,像睡著了一般塑崖。 火紅的嫁衣襯著肌膚如雪点待。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天弃舒,我揣著相機(jī)與錄音,去河邊找鬼状原。 笑死聋呢,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的颠区。 我是一名探鬼主播削锰,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼毕莱!你這毒婦竟也來了器贩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤朋截,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體枚钓,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鹅髓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了廓八。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奉芦。...
    茶點(diǎn)故事閱讀 38,100評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖剧蹂,靈堂內(nèi)的尸體忽然破棺而出声功,到底是詐尸還是另有隱情,我是刑警寧澤宠叼,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布先巴,位于F島的核電站,受9級特大地震影響冒冬,放射性物質(zhì)發(fā)生泄漏筹裕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一窄驹、第九天 我趴在偏房一處隱蔽的房頂上張望朝卒。 院中可真熱鬧,春花似錦乐埠、人聲如沸抗斤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瑞眼。三九已至龙宏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間伤疙,已是汗流浹背银酗。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留徒像,地道東北人黍特。 一個(gè)月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像锯蛀,于是被迫代替她去往敵國和親灭衷。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容

  • OTA - Over the air update of the firmware 即 空中固件更新旁涤。這是樂鑫SD...
    梁睿坤閱讀 17,448評論 13 21
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,515評論 25 707
  • 除了Arduino官方出品的幾個(gè)開發(fā)板能只用Arduino SDK來開發(fā)外翔曲,很多三方的開發(fā)板和單片機(jī)也可以使用Ar...
    Cocoonshu閱讀 3,723評論 1 16
  • 玩了IoT好幾年了大多數(shù)時(shí)間都耗在搞4軸上,通信方式一直也就用著2.4G (nrf2401)劈愚,以前一直認(rèn)為這是一種...
    梁睿坤閱讀 11,022評論 2 26
  • 1. 六月的大太陽考的整個(gè)柏油馬路都散發(fā)著熱氣菌羽,蘇阿暖懷疑放個(gè)雞蛋倒點(diǎn)油就會發(fā)出呲呲的聲音傅蹂,再翻個(gè)個(gè)兒,就直接可以...
    哆啦啦閱讀 491評論 8 1