用MicroPython开发ESP32-固件烧写与测试

陈拓 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. 下载用于ESP32micropython二进制文件

  • micropython官方网址

https://micropython.org/

用MicroPython开发ESP32-固件烧写与测试_第1张图片 

  • DOWNLOAD

用MicroPython开发ESP32-固件烧写与测试_第2张图片 

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

  • 选择ESP32

用MicroPython开发ESP32-固件烧写与测试_第3张图片 

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

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

用MicroPython开发ESP32-固件烧写与测试_第4张图片 

选择最新的稳定版下载:

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

 

点击下载:

flash_download_tool_3.9.2_0.zip

或者从百度网盘下载:

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

提取码:k2ky

  • 解压

用MicroPython开发ESP32-固件烧写与测试_第5张图片 

  • 双击flash_download_tool_3.9.2.exe运行

用MicroPython开发ESP32-固件烧写与测试_第6张图片 

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

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

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

用MicroPython开发ESP32-固件烧写与测试_第7张图片 

记住串口号。

  • 按下图设置

用MicroPython开发ESP32-固件烧写与测试_第8张图片 

  • 烧写固件

点击STOP,再点击START:

用MicroPython开发ESP32-固件烧写与测试_第9张图片 

等待下载完成…

  • 下载完成

 

4. 程序运行测试

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

  • 安装串口调试助手

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

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

https://blog.csdn.net/chentuo2000/article/details/112323488

  • 按开发板的RST键。

串口显示:

用MicroPython开发ESP32-固件烧写与测试_第10张图片 

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

5. 交互操作

  • 寻求帮助

按照提示输入:

用MicroPython开发ESP32-固件烧写与测试_第11张图片 

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

点击发送按钮:

 

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

用MicroPython开发ESP32-固件烧写与测试_第12张图片 

以及基本的Wifi配置

用MicroPython开发ESP32-固件烧写与测试_第13张图片 

  • 交互命令hello world

输入:

print ('hello world')

发送,串口响应:

 

  • 点亮一盏灯

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

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

import machine

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

pin2.value(1)

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

用MicroPython开发ESP32-固件烧写与测试_第14张图片 

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

  • micropython模块

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

用MicroPython开发ESP32-固件烧写与测试_第15张图片 

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

用MicroPython开发ESP32-固件烧写与测试_第16张图片 

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

  • 官方文档

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

用MicroPython开发ESP32-固件烧写与测试_第17张图片

参考文档

  1. 在ESP32上运行micropython
    https://zhuanlan.zhihu.com/p/124059889
  2. ESP32 MicroPython开发之旅 基础篇① ——搭建环境,运行Helloworld
    https://blog.csdn.net/weixin_44614230/article/details/121641451?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7EPayColumn-1-121641451-blog-105306366.pc_relevant_blogantidownloadv1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7EPayColumn-1-121641451-blog-105306366.pc_relevant_blogantidownloadv1&utm_relevant_index=1

你可能感兴趣的:(ESP32,ESP32,micropython)