陈拓 2022/06/10-2022/06/11

1. 简介

用micropython进行ESP32开发。

进行ESP32开发,官方的标准开发环境是ESP-IDF,开发语言使用C语言。但无论ESP-IDF还是C语言对于新手来说都太难了。micropython的出现使得我们可以用Python语言操作ESP32,这样那些非专业的EP32的爱好者甚至及少年儿童都可以通过micropython来体验ESP32的开发,并从中找到乐趣。

MicroPython是Python 3编程语言的一种精简高效的实现,它包括Python标准库的一小部分,并经过优化,可以在微控制器和受限环境中运行。

MicroPython的目标是尽可能与普通Python兼容,以允许您轻松地将代码从桌面传输到ESP32这样的微控制器或嵌入式系统。

想在ESP32上运行micropython其实很简单,只需跟随我们做即可,以下的操作在Win10下进行。

2. 下载用于ESP32的micropython二进制文件

micropython官方网址

https://micropython.org/

esp32 python开发 micro python esp32_ESP32

 

  • DOWNLOAD

esp32 python开发 micro python esp32_串口_02

 

我们可以看到micropython可以用于很多种硬件设备,我们选择ESP32。

  • 选择ESP32

esp32 python开发 micro python esp32_python_03

 

这样的开发板在网上很容易买到,搜索esp32开发板就可以找到很多,价格也只需要10多元。

  • 下载用于ESP32的二进制bin文件

esp32 python开发 micro python esp32_esp32 python开发_04

 

选择最新的稳定版下载:

esp32-20220117-v1.18.bin

  • 安装运行micropython

在ESP32上安装运行micropython需要借助软件工具,可用的工具有多种,我们使用flash_download_tool。

  • 下载Windows的Flash烧写工具

从官方网站下载:

https://www.espressif.com/zh-hans/support/download/other-tools?keys=&field_type_tid%5B%5D=14

esp32 python开发 micro python esp32_esp32 python开发_05

 

点击下载:

flash_download_tool_3.9.2_0.zip

或者从百度网盘下载:

链接:https://pan.baidu.com/s/1QXssXcSlOf8wXI69NOeTRQ?pwd=k2ky

提取码:k2ky

  • 解压

esp32 python开发 micro python esp32_串口_06

 

  • 双击flash_download_tool_3.9.2.exe运行

esp32 python开发 micro python esp32_esp32 python开发_07

 

选择ESP32的develop开发者模式,OK

  • 用USB转串口线连接PC和ESP32开发板

从设备管理器中查看USB-SERIAL的串口号,我这里是COM3。

esp32 python开发 micro python esp32_micropython_08

 

记住串口号。

  • 按下图设置

esp32 python开发 micro python esp32_esp32 python开发_09

 

  • 烧写固件

点击STOP,再点击START:

esp32 python开发 micro python esp32_micropython_10

 

等待下载完成…

  • 下载完成

esp32 python开发 micro python esp32_串口_11

 

4. 程序运行测试

用串口调试助手与ESP32交互,并查看程序运行结果。

  • 安装串口调试助手

微软串口调试助手的安装使用请看《Win10使用CH340 USB-SERIAL串口》

https://zhuanlan.zhihu.com/p/343013801

  • 按开发板的RST键。

串口显示:

esp32 python开发 micro python esp32_micropython_12

 

至此就可以使用python操作硬件了。

5. 交互操作

  • 寻求帮助

按照提示输入:

esp32 python开发 micro python esp32_esp32 python开发_13

 

注意,help()后面要有回车。

点击发送按钮:

esp32 python开发 micro python esp32_esp32 python开发_14

 

串口终端会显示一些说明。

esp32 python开发 micro python esp32_串口_15

 

以及基本的Wifi配置

esp32 python开发 micro python esp32_串口_16

 

  • 交互命令hello world

输入:

print ('hello world')

发送,串口响应:

esp32 python开发 micro python esp32_esp32 python开发_17

 

  • 点亮一盏灯

开发板上有一个蓝色的LED灯接在引脚2上。

按照help()的提示输入命令:

import machine

pin2 = machine.Pin(2, machine.Pin.OUT)

pin2.value(1)

发送,你可以看到蓝色的LED灯亮了:

esp32 python开发 micro python esp32_micropython_18

 

输入命令pin2.value(0)可以关闭蓝色的LED灯。

  • micropython模块

micropython控制ESP32硬件需要驱动模块的支持。在上面的命令中machine是micropython的外部设备驱动模块,包括pin,i2c,spi,uart,adc,dac,pwm等。除了machine模块还有网络模块network,以及esp32等等其他模块。可以用命令help ('modules')查看模块列表:

esp32 python开发 micro python esp32_python_19

 

要查看某个模块的功能也可以用help命令,例如查看前面我们用过的模块machine可以用命令help(‘machine’)

esp32 python开发 micro python esp32_ESP32_20

 

更多的功能请参考micropython的官方文档。

  • 官方文档

https://docs.micropython.org/en/latest/esp32/quickref.html

esp32 python开发 micro python esp32_ESP32_21

参考文档

  1. 在ESP32上运行micropython https://zhuanlan.zhihu.com/p/124059889
  2. ESP32 MicroPython开发之旅 基础篇① ——搭建环境,运行Helloworld