(一)下載、安裝 Python 的最新版本
網址:https://www.python.org/
可以看到網站上現在可以下載的最新版本是:Python 3.10.0 版,下載、安裝完成後,我們需要確認是否安裝成功,在 Windows 系統請開啟命令提示字元後,輸入:
C:\python -V Python 3.10.0若版本訊息顯示如上面黃字一樣 3.10.0,那就代表安裝成功。若你的系統是 MAC,則請輸入
tmps07@> python3 -V Python 3.10.0
(二)下載 MicroPython 韌體
網址:https://micropython.org/download/
找到自己要運行的控制板,如我使用的是 WeMos D1 Mini,所以我選擇 ESP8266:
進入後我們可以選取最新的版本 esp8266-20210902-v1.17.bin,如下圖:
(三)下載 ESP8266 韌體燒錄程式:esptool
esptool 是使用 Python 語言編寫成的 ESP8266 韌體燒入程式,我們可以用它來把上面下載的韌體 esp8266-20210902-v1.17.bin 寫到 ESP8266 的晶片,esptool 的下載指令為:
tmps07@> sudo pip3 install esptoolpip 會自動搜尋、下載並安裝指定的套件,同時也會依據套件的相依性安裝額外需要的套件,從下載的過程中可以看到,除了 esptool 以外,pip 還連帶下載了其他 3 個套件。
pip 套件管理員還具備列表(list)、更新(upgrade)、刪除(uninstall) 等功能。
列表tmps07@> pip3 list更新:更新套件tmps07@> sudo pip3 install --upgrade esptool更新:piptmps07@> python3 -m pip install --upgrade pip刪除:刪除套件tmps07@> sudo pip3 uninstall esptool
(四)安裝 USB 驅動程式
CH340 晶片:CH34x Serial
CP2102 晶片:CP210x Serial
驅動程式安裝後,將控制板使用 USB 連接線連接,在 Windows 系統可以透過以下步驟來檢查驅動程式是否有正確安裝:
Windows 圖示按右鍵 -> 裝置管理員 -> 連接埠 (COM 和 LPT)在 MAC 系統則以指令來檢查:
tmps07@> ls -l /dev/tty.*
(五)利用 esptool 將韌體寫入晶片
要將下載的韌體寫入 ESP8266 晶片前,宣要先將晶片內目前的程式清除,指令為:
tmps07@> esptool.py --port /dev/tty.subserial1420 erase_flash其中 /dev/tty.subserial1420 是控制板與電腦的連接埠。
清除晶片的程式後,就可以將韌體寫入晶片了:
tmps07@> esptool.py --port /dev/tty.subserial1420 --baud 460800 write_flash --flash_size=detect 0 esp8266-20210902-v1.17.bin
(六)使用 Screen 終端機來操作 MicroPython 控制板
tmps07@> screen /dev/tty.subserial1420 115200MicroPython 快速鍵:
Up Arrow、Down Arrow:瀏覽之前輸入過的指令。
Ctrl+A:進入原始模式(Raw)。
Ctrl+B:離開原始模式。
Ctrl+C:中斷程式執行。
Ctrl+E:進入貼入模式。
Ctrl+D:在非貼入模式為「暖開機,將控制板重新啟動」。
在貼入模式時 Ctrl+C -> Ctrl+D:離開貼入模式。
Ctrl+A -> K -> Y:結束 screen,離開 MicroPython 的 REPL 模式。
(七)下載安裝 ampy 控制板管理程式
tmps07@> pip3 install adafruit-ampy日後若需要更新 ampy,則以指令:
tmps07@> pip3 install adafruit-ampy --upgrade來更新。
(七)ampy 控制板管理程式的操作
在我們利用 esptool 將韌體寫入 ESP8266 控制板後,除了可以使用 screen 指令來即時操作 MicroPython 控制板,我們還可以利用其他的文字編輯器(例如:vsCode)先把我們的 MicroPython 程式編完後,再利用 ampy 上傳到 MicroPython 控制板執行。
只執行 led.py 不上傳:
tmps07@> ampy --port /dev/tty.subserial-1410 run --no-output led.py把 led.py 上傳到控制板:
tmps07@> ampy --port /dev/tty.subserial-1410 put led.py列出控制板上目前有哪些程式:
tmps07@> ampy --port /dev/tty.subserial-1410 ls把控制板上 led.py 下載到電腦:
tmps07@> ampy --port /dev/tty.subserial-1410 get led.py刪除控制板上 led.py 程式:
tmps07@> ampy --port /dev/tty.subserial-1410 rm led.py在控制板上建立資料夾 dd:
tmps07@> ampy --port /dev/tty.subserial-1410 mkdir dd刪除控制板上的資料夾 dd:
tmps07@> ampy --port /dev/tty.subserial-1410 rmdir dd