除了Arduino官方出品的幾個(gè)開發(fā)板能只用Arduino SDK來(lái)開發(fā)外椅寺,很多三方的開發(fā)板和單片機(jī)也可以使用Arduino SDK來(lái)開發(fā)。最近比較火的ESP8266和基于ESP8266的NodeMCU也是可以使用Arduino開發(fā)的驯遇。
說實(shí)話涤躲,ESP8266的原生C版本SDK并不是很好用县遣,ESP8266 SDK從1.x.x版本時(shí)API就比較混亂了,既有開源API耕拷,又有樂鑫原廠API讼昆,還有安信可再次封裝的API。API功能重復(fù)不說骚烧,接口命名風(fēng)格也不同浸赫,API手冊(cè)也只是比較簡(jiǎn)略的介紹API的用法,有的細(xì)節(jié)還得去翻看源碼才能知道具體執(zhí)行時(shí)會(huì)發(fā)生什么赃绊。而使用ESP8266的AT版本SDK掺炭,功能受限,執(zhí)行效率受限凭戴,SDK不穩(wěn)定涧狮,還需要另外搭載一個(gè)單片機(jī)來(lái)控制ESP8266,很是雞肋么夫。在ESP8266上使用Arduino后者冤,不光API封裝更統(tǒng)一明確,Arduino官網(wǎng)也因以教育為主档痪,提供的資料和參考非常豐富易讀涉枫。
Arduino IDE也是非常好用的開發(fā)環(huán)境,麻雀雖小五臟俱全腐螟。Arduino IDE提供的代碼編輯功能雖然不及Eclipse之類的大型集成開發(fā)環(huán)境那么強(qiáng)悍愿汰,但它缺提供了非常簡(jiǎn)易且實(shí)用的單片機(jī)調(diào)試開發(fā)環(huán)境,很多時(shí)候可以實(shí)現(xiàn)一鍵編譯燒寫固件乐纸,不需要在開發(fā)板上切換各種開關(guān)衬廷。Arduino上的三方庫(kù)管理器可以讓你非常方便的尋找和安裝三方功能庫(kù),其中的三方庫(kù)因提供者眾多汽绢,內(nèi)容也非常豐富吗跋,可以輕易的在庫(kù)管理器中找到能夠滿足日常開發(fā)所需功能的優(yōu)秀三方庫(kù)。
好了,給Arduino說了這么多好話跌宛,打了這么多廣告酗宋,不知道Arduino官方會(huì)不會(huì)招我進(jìn)去,幫他們端茶倒水~→_→
接下來(lái)疆拘,我們就介紹一下怎樣在ESP8266和NodeMCU上實(shí)現(xiàn)Arduino開發(fā)蜕猫。
華麗的引用: Cocoonshu說,下面得翻墻欽此~~
下載Arduino IDE
好啦哎迄,還是在官網(wǎng)上下載了丹锹,永遠(yuǎn)都是最新的,也永遠(yuǎn)不擔(dān)心下載到什么不能下載的東西~
下載地址:Arduino IDE
配置ESP8266編譯工具鏈
下載安裝完Arduino IDE后芬失,打開它,打開
"文件"菜單里的"首選項(xiàng)"匾灶,在首選項(xiàng)窗口的"附加開發(fā)板管理器網(wǎng)址"里輸入"http://arduino.esp8266.com/stable/package_esp8266com_index.json"棱烂,然后點(diǎn)"好"就行。這里其實(shí)你可以輸入多條URL阶女,每條用英文逗號(hào)","隔開颊糜,你就可以同時(shí)配置多個(gè)三方開發(fā)板在IDE上了。
上面那個(gè)鏈接是stable版本的秃踩,相對(duì)比較穩(wěn)定衬鱼,但功能會(huì)比較保守。如果你想嘗新憔杨,可以在附加開發(fā)板管理器網(wǎng)址里輸入"http://arduino.esp8266.com/staging/package_esp8266com_index.json"鸟赫,但你要知道,staging版本雖然功能新消别,但可能會(huì)因?yàn)榉€(wěn)定期不足而經(jīng)常出現(xiàn)問題抛蚤。
連接ESP8266
這里有兩種ESP8266給我們用,一種是普通的ESP8266模塊寻狂,一種是基于ESP8266的開源開發(fā)板NodeMCU岁经。
對(duì)于NodeMCU來(lái)說,連接就非常簡(jiǎn)單蛇券,直接插上USB即可缀壤。但對(duì)于普通的ESP8266模塊,需要安裝如下接線法把ESP8266和TTL to USB Serial Cable連接起來(lái)纠亚,然后插入電腦的USB口塘慕。如果你的TTL to USB Serial Cable沒有RTS和DTR口,可以不接這兩個(gè)口蒂胞,只是燒寫程序時(shí)需要在上傳前收到RESET一下ESP8266苍糠。
然后在"工具"菜單中做些設(shè)置:
- 在"工具"菜單的"開發(fā)板"中選擇"NodeMCU (1.0) (ESP-12E Module)"。如果是使用的普通ESP8266模塊啤誊,直接選擇"Generic ESP8266 Module"也是可以的岳瞭,不過燒寫程序的時(shí)候聽說要手動(dòng)切換開發(fā)板到燒寫模式拥娄,本獸也沒有試過= ̄ω ̄=
- 在"工具"菜單的"Upload Using"(上傳方式)中選擇"Serial"(串口)
- 在"工具"菜單的"CPU Frequency"(CPU頻率)中選擇"80 MHz"
- 在"工具"菜單的"Flash Size"(Flash容量)中選擇"4M (3M SPIFFS)" - [根據(jù)自己的實(shí)際情況選擇]
- 在"工具"菜單的"Upload Speed"(上傳速度)中選擇"115200" - [其實(shí)只要上傳穩(wěn)定的話,選得越大上傳越快]
- 在"工具"菜單的"Upload Speed"(上傳速度)中選擇"COMx" - [好吧瞳筏,這個(gè)可以自己在電腦的“設(shè)備管理器”里看看稚瘾,插入TTL to USB Serial Cable后,電腦會(huì)多出哪個(gè)COMx來(lái)姚炕,就選它了]
- 在"工具"菜單的"編程器"中選擇"AVRISP mkll"
如果你在"附加開發(fā)板管理器網(wǎng)址"填寫好了ESP