初識(shí)ESP8266

玩了IoT好幾年了大多數(shù)時(shí)間都耗在搞4軸上,通信方式一直也就用著2.4G (nrf2401),以前一直認(rèn)為這是一種最廉價(jià)的組合,用Arduino 做一個(gè)應(yīng)用也是手到拈來(lái),學(xué)無(wú)止境!當(dāng)我無(wú)意地發(fā)現(xiàn)被我扔到角落上的ESP8266時(shí),我在IoT中形成的世界觀崩潰了,當(dāng)然每次的崩潰帶來(lái)的是極大的喜悅,因?yàn)榻K于找到了比Arduino 和STM更好的板子和開發(fā)方法。

nodemcu

先來(lái)說(shuō)說(shuō)ESP8266的特點(diǎn)吧:

  • 提供硬件的高級(jí)接口,可以將應(yīng)用開發(fā)者從繁復(fù)的硬件配置、寄存器操作中解放出來(lái)。用交互式Lua腳本,像arduino一樣編寫硬件代碼!
  • 事件驅(qū)動(dòng)型API極大的方便了用戶進(jìn)行網(wǎng)絡(luò)應(yīng)用開發(fā),使用類似Nodejs的方式編寫網(wǎng)絡(luò)代碼,并運(yùn)行于5mm*5mm大小的MCU之上,加快物聯(lián)網(wǎng)開發(fā)進(jìn)度。
  • 用于快速原型的開發(fā)板,售價(jià)也就在10人民幣左右 (Arudino + WIFI 可不止這個(gè)數(shù))

ESP產(chǎn)品家族

ESP32

ESP8266
ESP-01
ESP-07
ESP-202
ESP-8266EX

ESP8266開發(fā)環(huán)境準(zhǔn)備

ESP8266 針位

解決無(wú)法在Mac連接ESP8266的問題

CP210x USB to UART Bridge VCP Driver 安裝后當(dāng)接上ESP8266的測(cè)試板后死活無(wú)法找到該USB轉(zhuǎn)串口的驅(qū)動(dòng),經(jīng)過一番折騰終于在 https://blog.sengotta.net/signed-mac-os-driver-for-winchiphead-ch340-serial-bridge/ 上找到答案,這是由于CP210X驅(qū)動(dòng)在Serial上沒有合法的簽名而導(dǎo)致加載失?。?Sierra - macOS 10.12 的安全性被提高了),所以只能下載安裝另一個(gè)驅(qū)動(dòng)加以取代:CH304 就是一取代方案。

安裝后連以前一直無(wú)法連接上的Arduino Nano 也被成功驅(qū)動(dòng)了,確實(shí)是功夫不負(fù)有心人!

如何在macOS上刷NodeMCU的固件

首先按照下圖所示的跳線方式將FTDI轉(zhuǎn)串口的板子與ESP8266連接:

esp8266 刷固件跳線

下表為跳線的具體對(duì)應(yīng)

ESP8266 (esp-01) FTDI Basic interface
RX TX
TX RX
VCC VCC 3.3V
GND GND
RESET ?懸空
CH_PD VCC 3.3v
GPIO-0 GND
GPIO-2 ?懸空

刷固件時(shí)GPIO必須接地

接著按node-emcu-devkit"Geting Started on OSX"一文的推薦,在Mac下可以用Python的esptool工具來(lái)刷ESP8266的固件,在終端用pip來(lái)安裝esptool:

 $ pip install esptool

以下是esptool的具體用法幫助:

esptool 用法

安裝成功esptool.py后接上ESP8266并在終端里讀取一下串行端口的信息

$ esptool.py --port /dev/tty.wchusbserial1430 --baud 115200 read_mac

以上的指令是從串行口的驅(qū)動(dòng)中讀取物理的MAC地址(/dev/tty.wchusbserialXXX就是ESP8266的掛載點(diǎn)) 它將會(huì)返回這樣的結(jié)果:

esptool.py v1.3
Connecting....
MAC: a0:20:a6:14:37:e2

接下來(lái)就需要將固件包刷到ESP8266上了,先從node-flasher 下載固件包:

本來(lái)有兩個(gè)的,我只將常用的這個(gè)放上來(lái),其它的你可以到GitHub上下載

最后,在終端輸入以下指令進(jìn)行固件更新:

$ esptool.py --port /dev/tty.wchusbserial1430 --baud 115200 write_flash 0x0 ./nodemcu-master-10-modules-2015-08-29-11-33-14-float.bin

使用Arduino IDE編程

刷完固件之后就可以開始著手編程了,由于這么多年一直在玩Arduino和樹莓,一切硬件開發(fā)最終都是采用純C,所以說(shuō)開發(fā)環(huán)境一定是可以通用的,帶著這種想法一入手NodeMCU立馬想到的就是用Arduino IDE。

本文就先寫這么多吧下一部分中我將會(huì)介紹NodeMCU中關(guān)于編程上讓人極為興奮的一些功能。

相關(guān)資源

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容