esp32c3竟然支持micropython环境,真的太让人高兴了。主要是python开发比较友好,开发速度要快于C和C++, 可以用来快速创意验证。
下载
首先到官网:MicroPython - Python for microcontrollers
点击“download”进入下载页面,选择esp32c3,会显示出两款开发板供选择:
ESP32-C3ESP32-C3ESP32-C3
Espressif
C3 mini
Wemos
点击“ESP32-C3 Espressif” ,进入详细下载页面:MicroPython - Python for microcontrollers
下载Firmware,选择最新版:v1.24.0 (2024-10-25) .bin
烧录
下载完成后,进行烧录
首先清除flash
esptool.py --chip esp32c3 --port /dev/ttyUSB0 erase_flash
比如这次是在Windows下清除的,端口在com4
esptool.py --chip esp32c3 --port com4 erase_flash
开始烧录
esptool.py --chip esp32c3 --port /dev/ttyUSB0 --baud 460800 write_flash -z 0x0 esp32c3-20220117-v1.18.bin
实际的烧录语句:
esptool.py --chip esp32c3 --port com4 --baud 460800 write_flash -z 0x0 ESP32_GENERIC_C3-20241025-v1.24.0.bin
测试
登录
烧录之后,通过com4串口登录,即进入micropython的交互界面:
Windows下当时是使用Arduino的monitor 监控进入com4口交互的。
Mac下可以用screen进入串口:
screen /dev/cu.usbmodem58FC0414401 115200
输入python语句试试:
>>> x = 1
>>> y = 2
>>> print (x+y)
3
太棒了,第一次在MCU这样规格的开发板里看到python的提示符!
python交互
使用help()查看帮助:
Basic WiFi configuration:import network
sta_if = network.WLAN(network.STA_IF); sta_if.active(True)
sta_if.scan() # Scan for available access points
sta_if.connect("<AP_name>", "<password>") # Connect to an AP
sta_if.isconnected() # Check for successful connectionControl commands:CTRL-A -- on a blank line, enter raw REPL modeCTRL-B -- on a blank line, enter normal REPL modeCTRL-C -- interrupt a running programCTRL-D -- on a blank line, do a soft reset of the boardCTRL-E -- on a blank line, enter paste modeFor further help on a specific object, type help(obj)
For a list of available modules, type help('modules')
Wifi配置
让我们来试试Wifi配置吧:
import network
sta_if = network.WLAN(network.STA_IF); sta_if.active(True)
sta_if.scan() # Scan for available access points
sta_if.connect("showmemoney", "love lai") # Connect to an AP
sta_if.isconnected()
查看一下ip地址:
sta_if.ipconfig('addr4')
('192.168.0.104', '255.255.255.0')
输入这些python语句后,到路由器上查看,确认它已经登上wifi啦!
mpy-esp32c3
192.168.0.104E4-B0-63-22-DF-68
手册
esp32 micropython手册:Quick reference for the ESP32 — MicroPython latest documentation