【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的间隔亮灭交替闪烁。

发布了30 篇原创文章 · 获赞 12 · 访问量 8262

猜你喜欢

转载自blog.csdn.net/syjie19900426/article/details/87918915