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的韌體,至於原因不外乎就是功能更強,但其實如果沒有特別的需求,內建的韌體就很好用了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2022 / 01/ 30: 新版esptool 刷micropython固件指令不是 esptool.py cmd... 而是 esptool cmd... 即可;另外rshell 在 >= python 3.10 的时候出错解决方法可以查看:  已于2022年发布的: 第二章:修复rshell在python3.10出错 免费内容: https://edu.csdn.net/course/detail/29666 micropython语法和python3一样,编写起来非常方便。如果你快速入门单片机玩物联网而且像轻松实现各种功能,那绝力推荐使用micropython。方便易懂易学。 同时如果你懂C语音,也可以用C写好函数并编译进micropython固件里然后进入micropython调用(非必须)。 能通过WIFI联网(2.1章),也能通过sim卡使用2G/3G/4G/5G联网(4.5章)。 为实现语音控制,本教程会教大家使用tensorflow利用神经网络训练自己的语音模型并应用。为实现通过网页控制,本教程会教大家linux(debian10 nginx->uwsgi->python3->postgresql)网站前后台入门。为记录单片机传输过来的数据, 本教程会教大家入门数据库。  本教程会通过通俗易懂的比喻来讲解各种原理与思路,并手把手编写程序来实现各项功能。 本教程micropython版本是 2019年6月发布的1.11; 更多内容请看视频列表。  学习这门课程之前你需要至少掌握: 1: python3基础(变量, 循环, 函数, 常用库, 常用方法)。 本视频使用到的零件与淘宝上大致价格:     1: 超声波传感器(3)     2: MAX9814麦克风放大模块(8)     3: DHT22(15)     4: LED(0.1)     5: 8路5V低电平触发继电器(12)     6: HX1838红外接收模块(2)     7:红外发射管(0.1),HX1838红外接收板(1)     other: 电表, 排线, 面包板(2)*2,ESP32(28)  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值