Browsed by
Month: 2016 年 11 月

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.

設計思考相關的影片

設計思考相關的影片

ABC: The Deep Dive, IDEO the shopping cart project (中文字幕)

 

IDEO the shopping cart project (21分鐘版)

 

IDEO TED talk, 改善醫療經驗的設計(中文)

 

讓人快樂的好設計Don Norman(中文)