(原文來(lái)源 電子芯吧客 在此特別鳴謝)在百忙之中抽出時(shí)間給大家寫(xiě)一個(gè) ESP32的燒錄固件的方法,我先給大家看看我購(gòu)買的 ESP32模塊長(zhǎng)啥樣子:
價(jià)格有點(diǎn)兒小貴, 但是聽(tīng)一個(gè)老外說(shuō)不錯(cuò),我就被老外忽悠下了海, 買回來(lái)后發(fā)現(xiàn)的確很精致.
網(wǎng)上還有很多,你們自己看著買.
這些都可以滿足你的需求,就是要看看是否他們把所有引腳都引出來(lái)了.
這個(gè)板子的特點(diǎn)是:
1. 支持 wifi 和藍(lán)牙
2. 240Mhz 雙核 520KB SRAM? 如果你選擇的是 WROOM 可能沒(méi)有 WROVER 屌, 但是都可以用.
3. 超級(jí)低功耗, Ultra LOW POWER CONSUMPTION 不是哪個(gè)廠家都敢掛的.哈哈
4. ADC, DAC, 加密, PWM, TOUCH 一應(yīng)俱全, 估計(jì)可以滿足你裝 X 的所有需要吧.
更讓我覺(jué)得很爽的是, micropython 直接可以支持它...那就舒服很多了, Arduino IDE? 你給我坐下, 復(fù)雜? 不存在的,喜歡的朋友來(lái)刷一波關(guān)注.
看看大蟒蛇, 就感覺(jué)一陣舒爽~來(lái)吧.
接駁方法super 簡(jiǎn)單,只需要一根 usb 轉(zhuǎn) microUSB 線就可以搞定了,插入樹(shù)莓派就可以識(shí)別了.
然后樹(shù)莓派去官方站點(diǎn)下載最新的鏡像,通過(guò) win32imager 工具或者 etcher 工具燒錄到 TF 卡上,插入樹(shù)莓派 TF 卡槽,然后記得用一個(gè)5v2.5A 足量的電源供電,第一啟動(dòng)最好接個(gè)顯示器,如果沒(méi)有顯示器就接家里的電視機(jī), 通過(guò) HDMI 線連上去,再找一個(gè)鍵盤和鼠標(biāo),插 usb 口上,啟動(dòng)后,連接 wifi. 當(dāng)然得先設(shè)置一下 wifi 國(guó)家,通過(guò)打開(kāi)一個(gè)終端,然后輸入:?
sudo apt-get update && sudo apt-get upgrade
這里更新倉(cāng)庫(kù)和軟件包升級(jí)的時(shí)間可能會(huì)根據(jù)網(wǎng)絡(luò)的環(huán)境不同時(shí)間有所不同,這個(gè)時(shí)候你就可以去泡杯咖啡,調(diào)戲一下前臺(tái)的小姐姐.
然后回來(lái)繼續(xù):
sudo raspi-config
然后再跳出來(lái)的畫(huà)面里面選擇:
然后選擇 wifi
然后就點(diǎn)擊 wifi 圖標(biāo)去連接你的 wifi 吧,這里我就不想寫(xiě)用命令行連接 wifi 的方法了,雖然也是非常簡(jiǎn)單,如果有想知道的,給我評(píng)論的時(shí)候?qū)懗鰜?lái)哦.
再然后,記得開(kāi)啟 ssh 服務(wù),不然遠(yuǎn)程連不上來(lái)操作非常不方便,我習(xí)慣了直接開(kāi) ssh 連接, 通過(guò)我 Mac 直接 ssh Pi@IP 地址 就可以訪問(wèn)樹(shù)莓派是最方便的.
就是選擇 interfacing Options 然后選擇 ssh 服務(wù)開(kāi)啟就好了.這里不再贅述了.
設(shè)置好,就可以通過(guò) pi 用戶遠(yuǎn)程登錄到樹(shù)莓派了.接下來(lái),是我在 mac 上的操作,如果你是用 windows, 那么請(qǐng)去找個(gè) putty.exe 的軟件,或者 rshell, 或者 xshell, 或者 SecureCRT,只要是支持 ssh 協(xié)議的終端工具都行.
-----------------------------------------------------------------------這是我華麗的分割線---------------------------------------------------------------------------------
下面的操作是我通過(guò) ssh 遠(yuǎn)程登錄到樹(shù)莓派以后在樹(shù)莓派上完成的操作.
安裝完 esptool 就完成了一大半了,這個(gè)是為了方便我們燒錄的工具, esptool 一看名字你就應(yīng)該猜出了個(gè)大概.
然后接著接好了 esp32的模塊后,通過(guò)下面的命令檢測(cè)一下是否識(shí)別了你的模塊.
dmesg | grep ttyUSB
如果看到如下內(nèi)容就說(shuō)明 ok 的.
竟然用是 CP210x 的串口芯片...這個(gè)比起 FTDI真的是差了很遠(yuǎn),不過(guò)看上去是識(shí)別出來(lái)了,可以用就好.哈哈
EPS32模塊被識(shí)別到/dev/ttyUSB0設(shè)備.
接下來(lái)可以嘗試檢查一下你的 ESP32的設(shè)備信息.
通過(guò)使用:?
esptool.py --port /dev/ttyUSB0 flash_id
看看效果是這樣的:
好吧,啥信息都給你們看到了. mac地址,芯片ID, 還檢測(cè)到4MB flash, 恩,不錯(cuò),最后提示硬件重置要按下 RTS 引腳.也就是要下載程序的時(shí)候要按一下 boot 按鍵, 是不是 so easy?
接下來(lái),我要刷一下flash, 就是類似格式化一下硬盤.哈哈
esptool.py --port /dev/ttyUSB0 erase_flash
然后看到這樣的效果:
接下來(lái)就去 micropython.org 下載最新的固件唄...
選擇 Download, 然后再找esp32...
接下來(lái)可以看看你是否支持 SPIRAM, 如果支持選擇下面的固件,如果不支持選擇標(biāo)準(zhǔn)固件.我不在我電腦上下載,所以我只是右擊復(fù)制了連接,然后到樹(shù)莓派的終端上用 wget 直接下載就好,我嘗試的是支持 SPIRAM 固件的版本發(fā)現(xiàn)刷了固件后,無(wú)法進(jìn)入 REPL 的環(huán)境,所以我又刷了標(biāo)準(zhǔn)的固件.
連接如下:http://micropython.org/resources/firmware/esp32-20180628-v1.9.4-225-gd8dc918d.bin利用 wget 下載到樹(shù)莓派上,然后再 erase_flash 后在 write_flash, 不知道我這樣說(shuō)你們能否看懂,看不懂就自己嘗試一下.
接下來(lái)就是直接燒錄到你的 ESP32上去.
耐心等待1分鐘左右, 可以看到我高亮標(biāo)注的內(nèi)容,自動(dòng)檢測(cè)到 flash 就好了.
再接下來(lái)就要進(jìn)入一個(gè) Read-Eval-Print-Loop 里面了,在 micropython 里面這個(gè)叫 repl, 一旦進(jìn)去了就像是進(jìn)入了一個(gè) python 的 IDLEshell 環(huán)境, 交互式輸入輸出的狀態(tài).就像你在你的機(jī)器上輸入 python 回車后進(jìn)入的環(huán)境一樣.
網(wǎng)上有個(gè)叫 webREPL 的東西,可以讓你訪問(wèn)的時(shí)候通過(guò)網(wǎng)頁(yè)進(jìn)入到編輯器里面,我覺(jué)得要如果有點(diǎn)兒逼格,必須直接命令行執(zhí)行啊!就可以用 putty 或者 linux 下面的 screen 命令進(jìn)入,或者也可以使用 rshell 工具.
我是樹(shù)莓派上操作,所以直接安裝 rshell 比較方便,應(yīng)為它可以讓我在樹(shù)莓派上直接管理 esp32的文件系統(tǒng),例如上傳下載啥的,比較方便:安裝直接:
sudo pip3 install rshell
接下來(lái)讓我們連一下 esp32吧,命令很簡(jiǎn)單哦:
rshell --buffer-size=40 -p /dev/ttyUSB0
看看效果:
然后可以輸入 boards, help 等命令來(lái)查看接駁的狀態(tài),和啟動(dòng)文件/boot.py
1. boards 看到連接的板子, 以及目錄中的 boot.py 文件
2. help 可以查看在這里能夠使用的命令.
3. boot.py 就是esp32啟動(dòng)時(shí)候讀取的配置,可以把你想加入的加入這里,但是要加錯(cuò)了就涼涼了..
4. 輸入 repl 就可以進(jìn)入 python 的 IDLE 的 loop 里面...就無(wú)法退出了.哈哈~
然后就是通過(guò) ESP32去點(diǎn)燈了,花式點(diǎn) ws2812以后有機(jī)會(huì)再給大家呈現(xiàn)吧~
評(píng)論