MicroPython: how to upload program and run code

MicroPython: how to upload program and run code

之前的文章 (MicroPython Lab1: Blink LED) 介紹是使用互動模式在 serial REPL 鍵入在NodeMCU上執行的 python code。

這個方法很適合作即時的小實驗,但要開發比較複雜的程式時在IDE上是比較方便的。如果ESP8266開發板有1MB以上的Flash,MicroPython 啟動後會配置一個內部的 file system,可以將程式碼儲存在file system 中。

當ESP8266啟動時會自行載入特定名稱的程式執行 (就像是 Arduino 執行 Arduino sketch一樣),開機之後系統預設會先執行 boot.py 然後再執行 main.py 。

本文將介紹如何使用 Adafruit MicroPython tool (AMPY) upload 程式碼以及如何執行

第一步要安裝AMPY

可以用 pip 來安裝 Adafruit MicroPython tool (AMPY),需要 Python 2.7.x或3.x的版本。

 $ pip install adafruit-ampy

要確認是否安裝成功可以執行以下執令

$ ampy --help

執行MicroPython程式碼

我們可以使用 run 指令來將一份MicroPython程式上傳到NodeMCU去執行。例如以下的程式若儲存為 “blink10times.py

import machine
import time 
ledD2 = machine.Pin(4, machine.Pin.OUT)
for i in range(10):
    ledD2.high()
    time.sleep(0.5)
    ledD2.low()
    time.sleep(0.5)

那可以執行以下的 shell command

$ ampy --port COM15 run blink10times.py

這樣 ampy 會上傳 blink10times.py 到 NodeMCU 並且執行它,其中的COM port # 要看自己的usb-ttl是接到哪一個Port 而作調整。

Copy 程式到開發板

我們也可以直接將 blink10times.py copy 到 NodeMCU 的根目錄命名為 main.py

$ ampy --port COM15 put blink10times.py main.py

這樣 Reset NodeMCU之後,它就會自動執行 main.py

其它ampy 指令

ampy還有提供其他的指令, 詳情可以參考 https://github.com/adafruit/ampy

get: Retrieve a file from the board.
ls: List contents of a directory on the board.
mkdir: create a folder
rm: Remove a file from the board.

6 thoughts on “MicroPython: how to upload program and run code

    1. Sorry 現在才看到留言.
      請問你是問要放在 ESP8266 裡面的哪一目錄?
      放在根目錄即可.

  1. 可以請問一下,如果我是裝512K的韌體,每有內建檔案系統的話,程式要如何上傳呢???

    1. 不好意思,我不太了解你的問題。
      是說要上傳程式時遇到問題了嗎?

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料