文章

顯示從 7月, 2018 起發佈的文章

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 以上就是REPL和Python 3 IDLE Shell 的對比圖,很相似對吧? ESP8266和REPL可以通過UART及WIFI進行相互連接。 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會點亮。 再輸入 led.value(1) ,LED就會熄滅 b.  WebREPL調試 除了UART連接REPL之外,我們還可以通過WiFi連接REPL。WiFi連接REPL有兩種方法。1.把電腦連接到ESP8266作為AP的MicroPython-xxxx的網絡。 2. 把ESP8

MicroPython on WeMos D1 (ESP8266)開發板(1): 燒寫韌體Firmware

圖片
最近去了一個在香港理工大學舉辦的活動叫Maker Faire Hong Kong 2018的活動,偶然間發現了ESP8266 的MCU可以用Micropython語言來編寫。於是從櫃桶中找回了這塊買了很久,但未開封的 WeMos D1 (ESP8266)開發板。 WeMos D1 開發板是一塊物聯網(IOT)應用開發板。當 安裝了ESP8266硬件package後可以直接用Arduino IDE 開發,跟Arduino UNO 操作 一樣,是最便宜的WiFi Arduino 板。 A. 準備功夫 要在ESP8266上行 Micropython 需要燒寫ESP8266內的firmware。在燒寫前要做一些準備功夫。 1. USB轉串口CH340驅動  : WeMos D1開發板上用的usb轉串口驅動。 2. NodeMCU-PyFlasher  : 燒寫 Micropython firmware的GUI燒錄程式。 3. 下載Micropython firmware : 我是用最新版本esp8266-20180511-v1.9.4.bin。 4. PuTTY : 可以用來當串口終端機和WeMos D1進行連結。 B. 燒寫firmware 1. 先安裝CH340驅動,把板子和電腦連接,再到裝置管理員內找到自己用的串口。我這裡用的是COM7。 2. 打開NodeMCU-PyFlasher,設定剛才找的串口,並且打開esp8266-20180511-v1.9.4.bin這個檔案。 按上圖設置按Flash NodeMCU。如果燒寫成功就會如上圖一樣出現Done。 C. 測試Micropython 1. 關閉NodeMCU-PyFlasher後打開PuTTY。到Serial把baud rate 設置成115200 和 Flow control 調成None. 2. 在Session部份設置成Serial 3. 按Open開啟,再按 WeMos D1開發板的reset鍵。會出現下圖的字 4. 輸入代碼: print("Hello world") 完成!!可以在EPS8266用micropython進行編程了。 參考 : # WeMo