【Python】【 MicroPython 安裝、測試】

01_MicroPython 安裝、測試

在Hackday上看到一個有趣的項目 RGB_Tree,剛好手上有幾塊ESP32-WROVER模組,加上之前同事有提到可以用 MicroPython 來開發ESP系列,打算用這個項目來練練手。


MicroPython安裝

下載esptool(https://github.com/espressif/esptool/) 工具:

pip install esptool

使用 esptool.py 先對 flash進行擦除:

esptool.py --port COM8 erase_flash

MicroPython - ESP32 下載最新的固件:

例如:esp32-20190214-v1.10-98-g4daee3170.bin

使用 esptool.py 燒錄下載好的固件(注意固件的存放位置):

esptool.py --chip esp32 --port COM8 write_flash -z 0x1000 “C:\Users\xxx\Desktop\esp32-20190214-v1.10-98-g4daee3170.bin”


MicroPython 測試

打開串口工具(比如 SecureCRT),系統啓動時會有如下的打印:

ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:5060
load:0x40078000,len:8788
ho 0 tail 12 room 4
load:0x40080400,len:6772
entry 0x40081610
I (428) cpu_start: Pro cpu up.
I (428) cpu_start: Application information:
I (428) cpu_start: Compile time:     12:32:34
I (430) cpu_start: Compile date:     Feb 14 2019
I (436) cpu_start: ESP-IDF:          v3.3-beta1-268-g5c88c5996
I (442) cpu_start: Single core mode
I (447) heap_init: Initializing. RAM available for dynamic allocation:
I (453) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (460) heap_init: At 3FFB92B0 len 00026D50 (155 KiB): DRAM
I (466) heap_init: At 3FFE0440 len 0001FBC0 (126 KiB): D/IRAM
I (472) heap_init: At 40078000 len 00008000 (32 KiB): IRAM
I (478) heap_init: At 40092834 len 0000D7CC (53 KiB): IRAM
I (485) cpu_start: Pro cpu start user code
I (55) cpu_start: Starting scheduler on PRO CPU.
OSError: [Errno 2] ENOENT
MicroPython v1.10-98-g4daee3170 on 2019-02-14; ESP32 module with ESP32
Type "help()" for more information.
>>> 

可以看到,ESP32對應的 MicroPython 固件已經正確燒錄。
我們可以使用 help() 命令或者在 http://docs.micropython.org/ 來學習基本的接口/模塊操作,此處略去。


我們通過寫一個簡單的腳本來測試下: 目的:通過 GPIO 控制外部LED:1s 點亮,1s關閉 。

在桌面建一個 main.py 命名的腳本,內容如下:

import time
from machine import Pin

# set GPIO12 of ESP32 to output.
p0 = Pin(12, Pin.OUT)   

# set infinite loop: 1s for on and 1s for off.
while True:
    p0.value(0)
    time.sleep(1)
    p0.value(1)
    time.sleep(1)

腳本寫好了,如何燒錄進 ESP32呢?這裏,我們需要用到另一個工具 ampy

ampy 的全稱爲 Adafruit MicroPython tool, 可以被用來將編輯好的 Python 腳本下載至 MicroPython Boards:

ampy is a simple cross-platform command line tool that provides just enough functionality to access MicroPython’s filesystem without being too complex.
ampy does not support talking to boards without a serial/USB REPL connection.

好了,我們找到 ampy 在 windows 平臺下的安裝命令:

pip install adafruit-ampy

使用如下的命令將我們編輯好的main.py腳本下載至esp32開發板:

ampy -d 0.5 --port COM8 --baud 115200 put “C:\Users\xxx\Desktop\main.py

按一下開發板的復位按鍵,可以看到LED已經按照1s的間隔亮滅交替閃爍。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章