為啥要用arduino?最重要的一個(gè)原因就是因?yàn)閍rduino完美的生態(tài),即可以找到很多庫。最近幾年興起的樂鑫方案(ESP8266、ESP32),是不支持很多老的arduino(這里指的是傳統(tǒng)的開發(fā)板如uno、nano、mini等)庫的,相信很多朋友也和我一樣遇到過這個(gè)問題,比如TMRPCM和樂高私服電機(jī)。原因這里就不聊了,重點(diǎn)聊一下我的解決方案供您參考
需求的提出:
新嘗試的ESP8266,想用他來實(shí)現(xiàn)之前arduino的功能
ESP8266功能強(qiáng)大又便宜,希望用他替代arduino uno nano minipro什么的
之前的DIY作品需要增加wifi(物聯(lián)網(wǎng))功能
上述需求提出后,一般就會(huì)嘗試在esp8266的工程中include之前用過的arduino庫,然后就會(huì)妥妥的報(bào)一堆解決不了的錯(cuò)誤
總之就是希望在ESP8266上運(yùn)行傳統(tǒng)arduino的庫
需求就不分析了,直接發(fā)解決方案,還是老樣子,我推薦的方案不一定是最優(yōu)的,但一定是我認(rèn)為最簡(jiǎn)單粗暴可以解決問題的。供您參考
如下圖所示,非常簡(jiǎn)單,就是通過uart給arduino發(fā)命令來運(yùn)行庫,華麗巧妙的躲過了移植這個(gè)麻煩。
那么問題就來了,arduino uno和nano是5V的IO,8266是3.3v的可以直接通信嗎?這個(gè)我還真沒試過,講究點(diǎn)的方案是用電平轉(zhuǎn)換模塊,雖然電平轉(zhuǎn)換模塊挺便宜的,但畢竟接線太麻煩了,這里使用3.3v的mini pro就能直接和8266通信了。
就這么簡(jiǎn)單,有問題、需要例程什么的可以在下邊留言