2019年11月6日 星期三

[ MicroPython ] Python物聯網 - 安裝MicroPython實作環境以ESP8266機智雲WIFI開發板為例



依照IEEE SPECTRUM在程式語言的排名2017-2019連續三年,Python都居於龍頭地位,除了跟人工智慧應用趨於成熟有關外,Python也能實現在嵌入式系統上,也就是上圖中在Type型別中畫有IC符號,這個領域是屬於C語言家族善長的應用領域。
本篇文章就來介紹如何使用Python所撰寫出來的程式,把它嵌入到系統晶片上,對於C語言而言,會先用編譯器將高階語言翻譯成機器語言,通常會是16進制的HEX文件檔,再把這個文件燒錄到晶片的特定位置,重新開機即可以執行。
反觀Python也就是MicroPython是採用直譯式的方式,一行一行地解譯與執行,因此在本篇文章中會介紹如何先燒錄MicroPython作業系統,再將MicroPython原始檔案傳送到系統晶片上。

1.     啟動cmd

2.     建立虛擬開發環境
mkvirtualenv MicroPython

3.     安裝esptool
pip install esptool

4.     建置工作目錄
mkdir MicroPython
cd MicroPython

5.     開啟micropython.org網頁,可以選擇上方Download功能表以及選擇ESP8266

6.     下載MicroPython韌體,就是MicroPython的作業系統

7.     把下載韌體存在MicroPython

8.     下載USB驅動程式,主要在電腦端是採用USB通訊介面,但在系統端則是採用RxD和TxD的UART通訊介面,因此需要安裝一個橋接軟體CP210x。

9.     下載並執行CP210x驅動程式

10.  ESP8266機智雲WIFI開發板接上USB線並連上電腦USB

11.  從控制台開啟裝置管理員,就可以看到COM3

12.  清除韌體
esptool --port COM3 erase_flash

13.  燒錄韌體(MicroPython的作業系統)
esptool --port COM3 write_flash 0 esp8266-20190125-v1.10.bin

14.  安裝上傳和下載Python程式到晶片的工具
pip install adafruit-ampy

15.  IDLE編輯程式,儲存成led.py
from machine import Pin
import time
led = Pin(2, Pin.OUT)
while True:
    led.value(0)
    time.sleep(5)
    led.value(1)
    time.sleep(5)

16.  上傳程式和執行程式
ampy --port COM3 put led.py
ampy --port COM3 run --no-output led.py

17.  觀察LED,就可以看到LED一閃一閃。

沒有留言:

張貼留言