esp8266的平臺建置、基本使用說明及韌體更換

在開始使用esp8266前要先接觸過Arduino,只要會使用Arduino,基本上接觸esp8266就不會有太大的問題。


平臺建置的前置作業,要先安裝好Arduino及USB to TTL的驅動程式


Arduino的安裝方法不敘述太多,通常不會遇到問題,會遇到問題的通常都是驅動程式及MAC上燒錄程式的問題。


________________________________________________(驅動)


在Linux中比較不會遇到驅動程式的問題,不過現在大部分使用的作業系統大多是Windows或者MAC OS X,所以特別撰寫一下安裝驅動時會遇到的問題。


驅動程式以CH340及PL2303為例


Windows:


在Windows7的時候通常兩者都不會遇到什麼特別的問題,但如果是使用Windows10可能就會發生不明的錯誤,之前查過的資料是發現說,最新版的驅動程式在Windows10執行反而無法使用,因此要安裝舊版的驅動程式,然後到裝置管理員內將驅動程式更新成舊版,理論上這樣就可以使用了。


MAC:


過程有點複雜,而且又有分系統版本,待補。



________________________________________________(載入esp8266板子及函式)


此部分的作法兩個作業系統操作方式大同小異,唯獨MAC需要額外安裝esp tool工具,MAC燒錄安裝過程會較麻煩。


先進入 檔案→偏好設定,將下方網址貼入(額外的板子管理員網址)內

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



接著進入 工具→板子→板子管理員




在板子管理員搜尋處輸入esp,接著選擇版本就能安裝了。



上方的操作過程兩個作業系統都一樣,下方的esp tool只需要在MAC上執行,Windows不需要。


esp tool待補。


________________________________________________(基本使用說明)


環境都已經建置完成後,就可以開始使用,不過有部分問題要注意。


燒錄程式跟執行程式的不同,更重要的問題是電源的問題。


先講電源的重要性


在操作esp8266時,明明接線都正確,環境也沒問題,卻一直無法燒錄,就要檢查電源了,我自己使用的經驗是在某些情況單用USB to TTL供給的電流勉強能夠驅動esp8266,但這樣的方法不太好,最正確的方法是使用一個額外的供電模組,由他供給所有電源,USB to TTL只拿來當傳輸用,我自己使用中的電源模組是下圖這個,在使用時記得與USB to TTL線共接地,不然是無法正常燒錄或執行的。




在撰寫程式時可先參考esp8266內建的簡易範例。


平常使用Arduino時,最簡易的測試程式通常都是像這樣



在設置輸出入時要先選擇pin腳,在Ardunio UNO的時後可使用的pin腳是0~13,還有A0~A5,他與板子上寫的pin腳相同,esp8266也是,在設置輸出入時要注意要使用哪一支pin腳,例如esp-01可使用的腳理論上只有GPIO 2,為什麼會說理論呢?這邊就要先提燒錄跟執行的問題了


esp8266的燒錄方式與Arduino有很大的不同,以下是官方提供的燒錄與執行的GPIO的電位狀態


 模式      GPIO 0 GPIO 2 GPIO 15
UART下載模式  低   高   低
Flash Boot 模式    高   高   低


esp8266啟動時三支腳的預設電位

GPIO 0  高

GPIO 2  高

GPIO 15  低


如果是esp-01就忽略GPIO 15,基本上只需要更動GPIO 0的電位就好,因為esp8266啟動時已經有預設電位了,如果要將程式燒錄到esp8266,必須將GPIO 0接地,詳細如圖


線路的部分就是這樣連接,但這算是錯誤的示範,最好是使用獨立供電模組來供電,免得發生問題。


程式寫完要燒錄程式前除了電路要接好以外,Arduino的也要將板子設定成esp8266及選擇序列埠(COM port)才能開始燒錄。



選完esp8266板子後其餘設定不需要更改,即可按上傳,等待上傳完成即可看程式的運作結果。


________________________________________________(韌體更換)


文章開始前先介紹一下硬體、軟體、韌體的區別


硬體:

我們眼睛所能看見的實體設備,例如CPU、顯示卡、硬碟、光碟機......等,都屬於硬體。


軟體:

可以在作業系統內使用的軟體,又有分系統軟體跟應用軟體,例如:磁碟修復程式(系統軟體)、Office(應用軟體)


韌體:

在硬體中含有軟體或者微型系統幾乎都可稱為韌體,例如:

Arduino上燒錄的程式就稱為韌體

主機板內的BIOS

顯示卡內也有一些韌體

網路卡內也有

其實韌體在日常生活中非常常見,冰箱、電風扇、電視......等平常用的到的家電也都有韌體存在。


更換韌體的方式就是覆寫掉原本MCU的程式,據我的指導老師跟我說過,韌體是可以被讀取出來的,但我沒有親自實作過,也沒有看過,所以真實性我也不太確定,但由理論來說應該是可以沒有錯。


esp8266其實原本的韌體就夠用了,那麼什麼情況下需要更新韌體呢?

1.有更新或更穩定的韌體發布了。

2.esp8266發生未知的錯誤,可以試試看更新韌體,也可以刷入原本的韌體版本。

3.想要將esp8266作為其他應用,例如前篇文章所提到的Webduino、WFduino等,就需要刷入新的韌體。


特別提一個韌體,NodeMCU,目前有不少人都將原本的韌體刷為NodeMCU的韌體,至於原因不外乎就是功能更強,但其實如果沒有特別的需求,內建的韌體就很好用了。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章