MicroPython on WeMos D1 (ESP8266)開發板(2):調試方法
跟據上篇的教學,如果成功燒寫了韌體後,我們就可以開始對Micropython進行調試及燒寫程序。在Micropython我們會通過REPL來調試及更新程序。REPL(交互式解釋器)全稱是Read Evaluate Print Loop,使用REPL是迄今為止來測試你的代碼和運行命令的最簡單的方法。說白了,就是一個類似Python 3.x IDLE Shell 那個介面。
Python 3.x Shell
REPL
a. UART 連接REPL
在ESP8266中,REPL用UART0串口作為接口,而且是不可屏閉的,該外設連接到TX的GPIO1和RX的GPIO3;波特率為115200。因為WeMos D1上已經有了USB轉UART的IC,所以接上PC,裝好驅動,打開終端機軟件便能使用。驅動程序在第一篇教學已經提及,在這裡就不多說了。以下是我用PuTTY連接REPL的例子:
1. 打開PuTTY。到Serial把baud rate 設置成115200 和 Flow control 調成None.
**COM口要跟據自己電腦的接口作出相應的改動
2. 在Session部份設置成Serial
3. 按Open開啟,再按WeMos D1開發板的reset鍵,會出現亂碼和>>>的標誌代表成功了!!
4. 用ESP8266模組內建的LED做測試,LED 是接到模組的GPIO2的腳位。當低電平時就會點亮,高電平時熄滅。輸入以下代碼點亮LED。
import machine
led = machine.Pin(2, machine.Pin.OUT)
led.value(0)
如果成功會像下圖一樣,ESP8266右上角的LED會點亮。
b. WebREPL調試
除了UART連接REPL之外,我們還可以通過WiFi連接REPL。WiFi連接REPL有兩種方法。1.把電腦連接到ESP8266作為AP的MicroPython-xxxx的網絡。2. 把ESP8266和電腦連接到同一個路由器上組成區域網絡。無論哪種方法,我們都要先通過UART的REPL設置。
1. 設置WebREPL
在REPL輸入import webrepl_setup會出現:
Would you like to (E)nable or (D)isable it running on boot?
(Empty line to quit)
再輸入E 去開啟WebREPL的功能,這時會出現
To enable WebREPL, you must set password for it
New password (4-9 chars):
要求你輸入兩次同樣的密碼。這個密碼用於以後每次登錄WebREPL時用,我這裡用admin做例仔。
Changes will be activated after reboot
Would you like to reboot now? (y/n)
輸入兩次密碼後會告訴你重起機後,設置才會生效。
輸入y 重起,完成設置。
2. 連接ESP8266 通過WebREPL
2.1 方法1(連接ESP8266 的WiFi):
- 連接ESP8266 的WiFi, SSID: MicroPython-xxxxx Password: micropythoN
- 打開webrepl.html檔案
- 在WebREPL按connect,打之前設置的密碼(e.g:admin)
- 用print("Have fun") 或之前的點燈程序去測試一下
2.2 方法2(ESP8266連接與PC同一個路由器的WiFi):
我們先在電腦上準備好一個boot.py的檔案。在板子上電時會先執行boot.py,如果有main.py存在的話,會再執行main.py。
boot.py下載: https://drive.google.com/file/d/1s_QC4Z7yih-y-Z5_Tw9r_1Xv9ojRJd86/view?usp=sharing
準備好boot.py的檔案後,我們就可以上傳(upload)到ESP8266板子上。如果大家可以方法1連接到WebREPL,在右手邊有個選擇檔案的按鍵。
再按Send to device
192.168.1.104 是ESP8266連接到到路由器(router)WiFi分配的IP地址,有機會和我的不一樣。到http://micropython.org/webrepl/打上自已的IP地址就可以連接到板子。
留言
發佈留言