用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/

  • DOWNLOAD

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

  • 选择ESP32

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

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

选择最新的稳定版下载:

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

  • 解压

  • 双击flash_download_tool_3.9.2.exe运行

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

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

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

记住串口号。

  • 按下图设置

  • 烧写固件

点击STOP,再点击START:

等待下载完成…

  • 下载完成

4. 程序运行测试

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

  • 安装串口调试助手

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

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

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

  • 按开发板的RST键。

串口显示:

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

5. 交互操作

  • 寻求帮助

按照提示输入:

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

点击发送按钮:

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

以及基本的Wifi配置

  • 交互命令hello world

输入:

print ('hello world')

发送,串口响应:

  • 点亮一盏灯

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

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

import machine

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

pin2.value(1)

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

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

  • micropython模块

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

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

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

  • 官方文档

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

参考文档

  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

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
2022 / 01/ 30: 新版esptool 刷micropython固件指令不是 esptool.py cmd... 而是 esptool cmd... 即可;另外rshell 在 >= python 3.10 的时候出错解决方法可以查看:  已于2022年发布的: 第二章:修复rshell在python3.10出错 免费内容: https://edu.csdn.net/course/detail/29666 micropython语法和python3一样,编写起来非常方便。如果你快速入门单片机玩物联网而且像轻松实现各种功能,那绝力推荐使用micropython。方便易懂易学。 同时如果你懂C语音,也可以用C写好函数并编译进micropython固件里然后进入micropython调用(非必须)。 能通过WIFI联网(2.1章),也能通过sim卡使用2G/3G/4G/5G联网(4.5章)。 为实现语音控制,本教程会教大家使用tensorflow利用神经网络训练自己的语音模型并应用。为实现通过网页控制,本教程会教大家linux(debian10 nginx->uwsgi->python3->postgresql)网站前后台入门。为记录单片机传输过来的数据, 本教程会教大家入门数据库。  本教程会通过通俗易懂的比喻来讲解各种原理与思路,并手把手编写程序来实现各项功能。 本教程micropython版本是 2019年6月发布的1.11; 更多内容请看视频列表。  学习这门课程之前你需要至少掌握: 1: python3基础(变量, 循环, 函数, 常用库, 常用方法)。 本视频使用到的零件与淘宝上大致价格:     1: 超声波传感器(3)     2: MAX9814麦克风放大模块(8)     3: DHT22(15)     4: LED(0.1)     5: 8路5V低电平触发继电器(12)     6: HX1838红外接收模块(2)     7:红外发射管(0.1),HX1838红外接收板(1)     other: 电表, 排线, 面包板(2)*2,ESP32(28)  
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晨之清风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值