【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个字节。 问题原因: 所以串口接收时会把下一个数据更改...
Mac应用卸载不干净?Pearcleaner帮你彻底清理,释放存储空间
Mac应用卸载不干净?Pearcleaner帮你彻底清理,释放存储空间 【免费下载链接】Pearcleaner A free, source-available and fair-code licensed mac app cleaner 项目地址: https://gitcode.com/gh_mirrors/pe/Pearcleaner 你是否曾发现,…...
Mac NTFS读写终极指南:Free NTFS for Mac完整解决方案
Mac NTFS读写终极指南:Free NTFS for Mac完整解决方案 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and management fo…...
SCP-Firmware缓冲区溢出漏洞(CVE-2024-9413)分析与防护
1. 漏洞概述与影响范围解析CVE-2024-9413是近期在SCP-Firmware中发现的一个高危安全漏洞,其核心问题在于应用程序处理器(AP)可能通过特定操作触发系统控制处理器(SCP)固件中的缓冲区溢出。这种漏洞类型在嵌入式系统安全…...
DALL·E Mini实战指南:轻量级文本生成图像的平民化落地
1. 项目概述:这不是“另一个AI画图工具”,而是一次轻量级生成式AI的平民化实践Dalle Mini Is Amazing — And You Can Use It! 这句话乍看像社交媒体上随手转发的惊叹,但拆开来看,它其实精准锚定了三个关键信息点:Dall…...
SQLines数据库迁移工具:从零开始的完整使用指南
SQLines数据库迁移工具:从零开始的完整使用指南 【免费下载链接】sqlines SQLines Open Source Database Migration Tools 项目地址: https://gitcode.com/gh_mirrors/sq/sqlines SQLines是一款功能强大的开源数据库迁移工具,专门用于在不同数据库…...
基于 Vibe Coding 的 OJ 平台
基于 Vibe Coding 的 OJ 平台 Github: https://github.com/wjlwjlwjlwjl-cmd/vibe-coding-based-oj-platform Gitee: https://gitee.com/wangs-joyful-home/vibe-coding-based-oj-platform 一个类 LeetCode 的在线编程评测平台,支持题目管理、代码提交、自动判题、提…...
茉莉花插件:5分钟解决Zotero中文文献管理三大难题
茉莉花插件:5分钟解决Zotero中文文献管理三大难题 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 还在为中文文献管理…...
Serverless多事件触发器:提升FaaS效率的关键技术
1. Serverless计算中的多事件触发器:突破传统FaaS的局限在当今云原生架构中,Serverless计算已成为构建弹性应用的重要范式。作为其核心组件的函数即服务(FaaS)平台,如AWS Lambda和Google Cloud Functions,通过事件驱动机制实现了资…...
USB外设概率性不识别问题详解
第一种情况,CPU主机端口下外接一个4口的扩展hub,但是扩展的hub端口概率性无法识别外设。如下log: 04-14 12:33:46.119450[ 18.884163] usb 3-1.2: new high-speed USB device number 4 using xhci-hcd 04-14 12:33:46.200327[ 18.964548]…...
昇腾CANN opbase与算子生态协作:从单一算子到完整计算图
前言 单个算子的性能再高,如果无法和其他算子高效协作,最终端到端的模型推理或训练性能也不会好。一个典型的深度学习模型包含几十到几百个算子,它们之间的数据流、内存分配、执行顺序都需要精心编排。opbase作为所有算子仓库的公共基础&…...
