【ESP32+MicroPython】开发环境部署
本教程将指导你如何在Visual Studio Code(VSCode)中设置ESP32的MicroPython开发环境。我们将涵盖从安装Python到烧录MicroPython固件的整个过程,以及如何配置VSCode以便与ESP32进行交互。
准备工作
安装Python
确保你的计算机上安装了Python 3.7或更高版本。
- 下载链接:Python官网
- 安装时,确保勾选“Add Python to PATH”选项。
安装ESP32驱动程序
ESP32通常使用USB转串口芯片(如CP2102或CH340),需要安装相应的驱动程序。
- CP2102驱动程序:Silicon Labs官网、网盘链接
- CH340驱动程序:WCH官网
下载并安装相应的驱动程序后,重启计算机。
安装esptool.py
esptool.py是一个用于与ESP32进行烧录的工具。可以通过以下命令在终端(命令提示符或PowerShell)中安装:
pip install esptool
下载MicroPython固件
访问MicroPython的ESP32固件页面下载适合你ESP32型号的最新固件(.bin文件)。
查看端口号
要查找ESP32的串口号,你可以按照以下步骤操作:
Windows系统
连接ESP32:将ESP32通过USB线连接到计算机。
打开设备管理器:
- 右键点击“开始”按钮,选择“设备管理器”。
查找串口:
- 在设备管理器中,展开“端口 (COM & LPT)”部分,你应该能看到类似“COM3”或“COM4”的条目,后面的数字就是ESP32的串口号。
macOS系统
连接ESP32:将ESP32通过USB线连接到计算机。
打开终端:在“应用程序”->“实用工具”中找到“终端”并打开。
查看串口:
-
输入以下命令并按回车:
ls /dev/tty.* -
查找类似
/dev/tty.SLAB_USBtoUART或/dev/tty.wchusbserialxxxx的条目,这些就是连接的串口设备。
Linux系统
连接ESP32:将ESP32通过USB线连接到计算机。
打开终端。
查看串口:
-
输入以下命令并按回车:
ls /dev/ttyUSB* /dev/ttyACM* -
找到输出中的类似
/dev/ttyUSB0或/dev/ttyACM0的条目,这些就是ESP32的串口号。
注意事项
- 如果设备没有显示在设备管理器或终端中,检查USB线是否连接正常,或者尝试更换USB端口或USB线。
- 在某些情况下,可能需要安装或更新USB驱动程序以确保ESP32能够被计算机识别。
烧录MicroPython固件
将ESP32连接到计算机,通过USB线连接后,确认计算机能识别到设备。
打开终端,并查找ESP32的串口号(在Windows上通常是COMx(x指数字),在Linux或macOS上是/dev/ttyUSBx或/dev/tty.wchusbserialxxxx)。
执行以下命令烧录固件(请根据你的固件路径和串口号进行修改):
esptool --port COMx erase_flash
esptool --port COMx --baud 115200 write_flash -z 0x1000 <path_to_your_firmware.bin>
替换
COMx为你的串口号,<path_to_your_firmware.bin>为下载的固件文件路径。
配置Visual Studio Code
安装VSCode
如果尚未安装,请访问VSCode官网下载并安装。
安装Python扩展
在VSCode中,打开扩展视图(快捷键:Ctrl+Shift+X),搜索并安装“Python”扩展,以便于代码编辑和调试。
安装Pymakr插件
Pymakr是一个VSCode插件,能够方便地与MicroPython设备进行交互。
- 在扩展视图中搜索“Pymakr”并安装。
- 安装完成后,在VSCode中打开Pymakr设置(
Ctrl + Shift + P,输入“Pymakr”)。
连接ESP32
确保ESP32已连接并识别到串口后,在VSCode中按下Ctrl + Shift + P,输入“Pymakr: Connect”来连接ESP32。
编写和上传代码
创建一个新的Python文件(如main.py),在其中编写MicroPython代码。例如,简单的LED闪烁程序:
from machine import Pin
import timeled = Pin(2, Pin.OUT) # GPIO2为内置LED引脚while True:led.on()time.sleep(1)led.off()time.sleep(1)
上传代码到ESP32。在VSCode中,按下Ctrl + Shift + P,输入“Pymakr: Upload”,选择你要上传的文件。
打开串口监视器。按下Ctrl + Shift + P,输入“Pymakr: Open Serial Monitor”,查看ESP32的输出。
引脚图

总结
通过本教程,你已经成功在Visual Studio Code中配置了ESP32的MicroPython开发环境。你现在可以编写、上传代码,并与ESP32进行交互。后续可以探索更多MicroPython的功能,结合硬件实现更复杂的项目!
如果在设置过程中遇到问题,随时欢迎提问!
相关文章:
【ESP32+MicroPython】开发环境部署
本教程将指导你如何在Visual Studio Code(VSCode)中设置ESP32的MicroPython开发环境。我们将涵盖从安装Python到烧录MicroPython固件的整个过程,以及如何配置VSCode以便与ESP32进行交互。 准备工作 安装Python 确保你的计算机上安装了Pyth…...
Vision - 开源视觉分割算法框架 Grounded SAM2 配置与推理 教程 (1)
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/143388189 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 Ground…...
DAY21|二叉树Part08|LeetCode: 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
目录 LeetCode: 669. 修剪二叉搜索树 基本思路 C代码 LeetCode: 108.将有序数组转换为二叉搜索树 基本思路 C代码 LeetCode: 538.把二叉搜索树转换为累加树 基本思路 C代码 LeetCode: 669. 修剪二叉搜索树 力扣代码链接 文字讲解:LeetCode: 669. 修剪二叉搜…...
在gitlab,把新分支替换成master分支
1、备份master分支,可以打tag 2、删除master分支 正常情况下,master分支不允许删除,需要做两个操作才能删除 a、变更项目默认分支为非master分支,可以先随便选择 b、取消master为非保护分支 操作了上述两步,就可以删…...
使用 Spring Boot 集成 Thymeleaf 和 Flying Saucer 实现 PDF 导出
在 Spring Boot 项目中,生成 PDF 报表或发票是常见需求。本文将介绍如何使用 Spring Boot 集成 Thymeleaf 模板引擎和 Flying Saucer 实现 PDF 导出,并提供详细的代码实现和常见问题解决方案。 目录 一、项目依赖二、创建 Thymeleaf 模板三、创建 PDF 生…...
web——upload1——攻防世界
第一次做木马题目,有点懵逼,浮现一下做题思路 可以上传一个文件,通过学习学习到了一句话木马 一句话木马: 利用文件上传漏洞,往目标网站中上传一句话木马,然后你就可以在本地通过中国菜刀chopper.exe即可…...
nginx 搭建网站
1.查看防火墙状态systemctl status firewalld 2.getenforce 3.安装nginx yum install nginx -y 4.网站信息 echo "welcome to yinchuankejixuanyuan" > /usr/share/nginx/html/index.html 5.查看命令状态 nginx -t 6.重启 systemctl restart nginx...
Java基础-Java中的常用类(上)
(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 String类 创建字符串 字符串长度 连接字符串 创建格式化字符串 String 方法 System类 常用方法 方…...
气压仪器智能打气泵方案芯片SIC8833
智能打气泵方案最开始是机械式的开发,后来慢慢地演变成由一个气缸、压力传感器和主控芯片的开发的PCBA方案,它具备小体积、智能数显、预设胎压、动态测量、精准压力检测以及过充过放等功能。 其方案设计原理是利用主控芯片和压力传感器的组合设计&#x…...
软件测试(系统测试)的定位和专业:完善产品;专业;非助手;自动化
软件测试(系统测试)的定位 在研发流程的后端,测试并非无中生有的创举,而是从既有基础(即“1”)出发,致力于推动产品向更高层次(即从“1”到“100”)的跃升与完善。在这一…...
2024 CSS保姆级教程四
CSS中的动画 CSS动画(CSS Animations)是为层叠样式表建议的允许可扩展标记语言(XML)元素使用CSS的动画的模块 即指元素从一种样式逐渐过渡为另一种样式的过程 常见的动画效果有很多,如平移、旋转、缩放等等&#…...
PostgreSQL技术内幕17:PG分区表
文章目录 0.简介1.概念介绍2.分区表技术产生的背景3.分区类型及使用方式4.实现原理4.1 分区表创建4.2 分区表查询4.3 分区表写入4.4 分区表删除 0.简介 本文主要介绍PG中分区表的概念,产生分区表技术的原因,使用方式和其内部实现原理,旨在能…...
群控系统服务端开发模式-应用开发-上传工厂开发
现在的文件、图片等上传基本都在使用oss存储。而现在常用的oss存储有阿里云、腾讯云、七牛云、华为云等,但是用的最多的还是前三种。而我主要封装的是本地存储、阿里云存储、腾讯云存储、七牛云存储。废话不多说,直接上传设计图及说明,就一目…...
【Docker系列】指定系统平台拉取 openjdk:8 镜像
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
语音识别:docker部署FunASR以及springboot集成funasr
内容摘选自: https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_offline_zh.md FunASR FunASR是一个基础语音识别工具包,提供多种功能,包括语音识别(ASR)、语音端点检测(VAD…...
Rust项目结构
文章目录 一、module模块1.文件内的module 二、模块化项目结构1.关于module2.各个模块之间互相引用 三、推荐项目结构1.实例 参考 一、module模块 1.文件内的module 关键字:mod 引入模块中的方法 usemod名字:方法名usemod名字.*写全路径 二、模块化项…...
计算并联电阻的阻值
计算并联电阻的阻值 C语言代码C代码Java代码Python代码 💐The Begin💐点点关注,收藏不迷路💐 对于阻值为r1和r2的电阻,其并联电阻阻值公式计算如下: R1/(1/r11/r2) 输入 两个电阻阻抗大小,浮…...
MySQL符号类型(详细)
在 MySQL 中,符号可以分为几种主要类型,以下是所有符号类型的小写分类: 1. 占位符 ?:用于准备语句中的占位符,表示将来要替换的值。 2. 分隔符 ;:表示 sql 语句的结束。 ,:用于分隔列、值或…...
Angular引用控件类
说明: angular 在一个控件类里面,引入另外一个控件类,这样做的好处,就是代码分离,当你一个页面存在多少类似于独立的界面时,可以使用这种方式,分离代码 更好维护程序 效果图: step…...
stm32 踩坑笔记
串口问题: 问题:会改变接收缓冲的下一个字节 串口的初始化如下,位长度选择了9位。因为要奇偶校验,要选择9位。但是接收有用数据只用到1个字节。 问题原因: 所以串口接收时会把下一个数据更改...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
规则与人性的天平——由高考迟到事件引发的思考
当那位身着校服的考生在考场关闭1分钟后狂奔而至,他涨红的脸上写满绝望。铁门内秒针划过的弧度,成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定",构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...
渗透实战PortSwigger Labs指南:自定义标签XSS和SVG XSS利用
阻止除自定义标签之外的所有标签 先输入一些标签测试,说是全部标签都被禁了 除了自定义的 自定义<my-tag onmouseoveralert(xss)> <my-tag idx onfocusalert(document.cookie) tabindex1> onfocus 当元素获得焦点时(如通过点击或键盘导航&…...
【PX4飞控】mavros gps相关话题分析,经纬度海拔获取方法,卫星数锁定状态获取方法
使用 ROS1-Noetic 和 mavros v1.20.1, 携带经纬度海拔的话题主要有三个: /mavros/global_position/raw/fix/mavros/gpsstatus/gps1/raw/mavros/global_position/global 查看 mavros 源码,来分析他们的发布过程。发现前两个话题都对应了同一…...
