陈拓 2022/06/11-2022/06/12
1. 简介
在《用MicroPython开发ESP32-固件烧写与测试》
https://zhuanlan.zhihu.com/p/527291091
https://blog.csdn.net/chentuo2000/article/details/125231902?spm=1001.2014.3001.5501
一文中我们已经在ESP32上烧写好了MicroPython固件,并且在串口调试助手的帮助下用命令做了一些简单的测试,如果要进一步使用MicroPython进行ESP32开发还需要一个方便的开发工具。
Thonny是适合初学者的Python IDE (Python 集成开发工具)编程工具。
下面我们讲述用micropython + Thonny进行ESP32开发。
2. 连接PC和ESP32开发板
用USB转串口线连接PC和ESP32开发板,查看端口号:
串口端口号是COM3。
3. 下载安装设置Thonny
- Thonny的官方网址
https://thonny.org/
- 下载
我们在Win10系统下开发,选择Windows:
当前版本是3.3.13。
- 安装
双击thonny-3.3.13.exe
一路默认安装。
- 设置语言
运行Thonny,选择语言
我们选择简体中文。
Let’s go!
进入Thonny界面
- 设置MicroPython解码器和串口端口
Thonny支持多种芯片我们选择ESP32。
工具 > 设置 > 解码器
选择MicroPython(ESP32),并选择串口端口号:
确认
Shell窗口的响应:
至此Thonny就安装设置晚了。
4. 测试
Shell窗口是用来进行人机交互的,我们可用在这里输入命令,控制ESP32。
- 命令交互
输入命令print('Hello World'),回车:
ESP32响应Hello World
- 点亮板载LED
开发板上有一个蓝色的LED灯接在引脚2上。
输入命令:
import machine #导入machine模块
pin2 = machine.Pin(2, machine.Pin.OUT) #用machine模块的pin功能设置引脚2为输出。
pin2.value(1) #将引脚2设置为高电平
你可以看到蓝色的LED灯亮了。
输入命令:
pin2.value(0) #将引脚2设置为低电平
可以关闭蓝色的LED灯。
说明:
1) 在Python语法中#符号是注释符,用来说明程序的功能,#号后面的部分是不执行的。
2) 高电平,低电平。在数字逻辑电路中,低电平表示0,高电平表示1。当引脚输出高电平时,引脚上的电压为芯片的供电电压,这时就在LED两端加上了电压,LED有电流流过,灯就亮了;当引脚输出低电平时,引脚上的电压0,加在LED两端的电压消失了,这时灯就熄灭了,
5. 写py程序文件
命令交互方式只能做一些简单的操作,对于复制的编程工作我们需要编写Python程序。
计算机语言分为编译型语言和解释型语言。编译型语言常见的有C、C++,解释型语言常见的有Java、Python。
解释型语言所写的程序通常称为脚本程序,所以Python程序称为Python脚本程序。Python脚本程序文件的扩展名是.py。
5.1 第一个Python脚本程序
我们把点亮和关闭LED灯的命令转换成py程序文件。
在Shell命令窗口的上面是程序编辑窗口,我们在这里写Python脚本程序。
- 写程序
我们写入下面的程序:
import machine
import utime
pin2 = machine.Pin(2, machine.Pin.OUT)
pin2.value(1)
utime.sleep(3)
pin2.value(0)
和命令方式不同的是我们加入了延时,延时功能在模块utime中,要使用延时功能,先要导入utime模块import utime
utime.sleep(3)表示延时3秒。
- 运行测试
点击运行按钮,弹出程序保存位置窗口:
选择将程序保存到MicroPython设备。
已经有一个程序boot.py,这是前面烧写进去的系统系统启动程序。
给我们的程序取个名字led_on_off.py。
确认。
可以看到LED灯点亮3秒钟后自动熄灭。
在Shell窗口有程序运行的提示
因为程序已经写入ESP32,以后就可以多次运行了
5.2 程序复用
保存的程序文件可以反复使用。
下次开机从菜单选择:文件 > 打开
选择MicroPython设备:
确认,就可以再次打开文件led_on_off.py。
6. 让程序在ESP32上电时自动运行
上面程序是在开发环境的控制下运行的,作为一个产品程序需要脱离开发环境,上电自动运行。
做的这一点很简单,我们只要将程序名led_on_off.py改为main.py就可以了。
main.py是用户程序运行的起点,上电时系统会自动找到main.py,并加载运行。
- 将led_on_off.py另存为main.py
文件 > 另存为
选择MicroPython设备:
确认。
现在按开发板上的RST键,或者重新上电,程序就会自动运行了。
- 删除led_on_off.py
在上面的窗口中右击led_on_off.py
再点击删除就可以了。