MicroPython for esp32 - 简书

2,131 阅读1分钟
原文链接: www.jianshu.com

我已经使用 Python 很多年了,但用 MicroPython 来开发单片机是我最新的尝试。

安装 MicroPython

git clone https://github.com/micropython/micropython.git
cd micropython
git submodule update --init
cd ports/esp32
# 根据 README.md 安装 SDK
make V=1
# 在 macos 上会报错执行下面命令
cd ../../mpy-cross
clang -o mpy-cross ......     # 报错前面的那条命令,手动执行一下
cd ../ports/esp32
make

export PORT=/dev/cu.wchusbserial1420 # 串口的设备文件
export BAUD=230400 # 下载的频率
make deploy # 下载到板子上

安装 picocom

使用 picocom 作为串口调试工具

git clone https://github.com/npat-efault/picocom.git
cd picocom
make 
cp picocom ~/bin

串口调试

执行下面命令然后就可以看到熟悉的 Python 命令行

./picocom -b 115200 /dev/cu.wchusbserial1420 # 要换成自己的串口块设备
print('hello world')

连接 wifi

import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password) # 换成自己 WIFI 账户和密码
while not wlan.isconnected():
    pass
print('Wifi 已连接')

控制 LED

from machine import Pin
led = Pin(2, Pin.OUT)
led.value(1)
led.value(0)

读取按键电位

from machine import Pin 
btn = Pin(0, Pin.IN)
print(btn.value())
print(btn.value()) # 按下去后执行看看

重启板子

import machine 
machine.reset()

下载文件到板子

使用 ampy 下载 python 脚本

pip3 install adafruit-ampy
ampy put demo.py demo.py # 现在 demo.py 到板子
ampy get demo.py # 获取板子上 demo.py 文件

参考