当前位置: 首页 > news >正文

VSCode搭建ESP32 ESP-IDF开发环境-Windows

 陈拓 2023/10/09-2023/10/14

1. 安装Windows系统下的ESP32 ESP-IDF开发环境

见《Windows系统安装ESP32 ESP-IDF开发环境》

Windows系统安装ESP32 ESP-IDF开发环境-CSDN博客Windows系统安装ESP32 ESP-IDF开发环境。https://blog.csdn.net/chentuo2000/article/details/133922505?spm=1001.2014.3001.5501

https://blog.csdn.net/chentuo2000/article/details/133922505?spm=1001.2014.3001.5501

为提高成功率,我们先通过ESP-IDF离线安装包安装Windows系统下的ESP32 ESP-IDF开发环境,再在VSCode的ESP-IDF插件中选择已经存在的ESP-IDF开发环境。

2. 使用英文用户名

如果用户名是中文,例如:

重新创建一个英文账户:

用有管理员权限的英文账户登录。

3. 安装VSCode

  • 在Microsoft Store中搜索vscode

免费下载。

  • 安装

4. pip换源

如果不换源在安装virtualenv时可能会出现错误:

  • 打开CMD窗口,找到并进入前文安装好的python的Scripts文件夹

cd C:\Espressif\python_env\idf4.1_py3.8_env\Scripts

  • 执行

pip config set global.index-url Simple Index

查看:type C:\Users\ct\AppData\Roaming\pip\pip.ini

5. 安装ESP插件

  • 启动VSCode
  • 在 VSCode 界面左侧的扩展中搜索“esp idf”

在列表中找到“Espressif IDF”

  • 点击Install

6. 配置 ESP-IDF 插件

  • 安装完成后,按下 F1 或 Ctrl+Shift+P 打开命令行,输入esp-idf extension

  • 点击ESP-IDF: Configure ESP-IDF extension

等待配置界面出现。

  • 选择配置方式

我们已经安装了Windows系统下的ESP32 ESP-IDF开发环境,所以选择USE EXISTING SETUP

  • 在本机系统中查找已经安装的ESP-IDF

点击Search ESP-IDF in system…

为避免在安装过程中出现无法访问 Github 的情况导致安装失败,可以将服务器设置为 Espressif。

  • 点击 Install,开始安装过程

看安装进度

在安装virtualenv时有可能出现错误:

可能是网络环境不好,再安装几次可能会成功😉

VSCode ESP-IDF扩展安装成功的提示:

7. 测试

  • 按下F1打开命令行,输入ESP-IDF: Show Examples Projects

  • 点击ESP-IDF: Show Examples Projects

  • 点击Use current ESP-IDF使用当前ESP-IDF

  • 在列表中选择hello_world

然后点击Create project using example hello world

  • 在跳出的选择文件夹窗口中选择一个工作目录

  • 信任此目录

  • COM口配置

  • 选择目标芯片

点击目标芯片图标:

选择要设置的目标工作区文件夹,F:\esp\hello_word。

对于更改的IDF版本,可以选择目标芯片。下面是来自

https://gitee.com/EspressifSystems/esp-idf

的ESP-IDF版本与所支持的芯片:

  • 配置项目

对应idf命令idf.py menuconifg

点击齿轮图标。

在配置窗口中选择Serial flasher config,将Falsh的大小改为4MB:

Save

  • 编译项目

在build目录

 

下生成bootloader、分区表和运行程序3个可在ESP32中运行的bin文件:

  • 选择烧写模式(选择串口)

  • 烧写

  • 监视器终端(串口)

  • 编译、烧写、打开监视器一条龙

8. ESP32仿真

参考《用Wokwi仿真ESP-IDF项目》

https://blog.csdn.net/chentuo2000/article/details/133963728?spm=1001.2014.3001.5501

参考文档

  1. 使用VS Code快速搭建ESP-IDF开发环境(Windows、Linux、MacOS)
    https://zhuanlan.zhihu.com/p/630698425
  2. VS Code IDE快速入门
    https://docs.espressif.com/projects/esp-idf/zh_CN/release-v4.3/esp32/get-started/vscode-setup.html
  3. win10 python永久换源-- 解决VSCode配置ESP IDF到最后python virtual environment错误问题
    https://blog.csdn.net/weixin_43869518/article/details/128024113
  4. VSCode配置ESP IDF一直卡在python virtual environment转圈的解决办法
    https://blog.csdn.net/hw0808/article/details/129310695?spm=1001.2101.3001.6650.1
  5. Pip换源
    https://zhuanlan.zhihu.com/p/551940762

相关文章:

VSCode搭建ESP32 ESP-IDF开发环境-Windows

陈拓 2023/10/09-2023/10/14 1. 安装Windows系统下的ESP32 ESP-IDF开发环境 见《Windows系统安装ESP32 ESP-IDF开发环境》 Windows系统安装ESP32 ESP-IDF开发环境-CSDN博客Windows系统安装ESP32 ESP-IDF开发环境。https://blog.csdn.net/chentuo2000/article/details/1339225…...

Java可重入锁(GPT编写)

Java可重入锁是Java并发编程中常用的一种锁机制,它可以允许同一个线程多次获取同一个锁,从而避免死锁和其他并发问题。在本篇博客中,我们将对Java可重入锁的源码进行分析,以便更好地理解它的实现原理和使用方法。 Java可重入锁的…...

京东数据平台:2023年9月京东净水器行业品牌销售排行榜!

鲸参谋监测的京东平台9月份净水器市场销售数据已出炉! 根据鲸参谋平台的数据显示,今年9月份,京东平台净水器的销量为64万,环比下滑约9%,同比下滑约16%;销售额为5.2亿,环比下滑约12%,…...

skiaSharp linux 生成验码字体显示不出来

一、拷贝windows下的字体如:C:\Windows\Fonts 设置字体的地方: var fontPath Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Fonts", "TAHOMA.TTF");最终效果:...

WuThreat身份安全云-TVD每日漏洞情报-2023-10-12

漏洞名称:curl SOCKS5 堆溢出漏洞(CVE-2023-38545) 漏洞级别:高危 漏洞编号:CVE-2023-38545,CNVD-2023-75809 相关涉及:cURL libcurl >7.69.0&#xff0c;<8.3.0 漏洞状态:POC 参考链接:https://tvd.wuthreat.com/#/listDetail?TVD_IDTVD-2023-25382 漏洞名称:Apache H…...

sobel边缘检测算法

Sobel边缘检测算法是一种常用的图像处理技术&#xff0c;用于检测图像中的边缘和轮廓。该算法基于离散卷积操作&#xff0c;通过对图像进行滤波来寻找图像中灰度值的变化。Sobel算子是一种常用的卷积核&#xff0c;用于检测图像中的垂直边缘和水平边缘。以下是Sobel边缘检测算法…...

Kotlin中抽象类与接口

Kotlin 中的抽象类和接口是面向对象编程中的重要概念&#xff0c;它们提供了一种用于定义和组织代码的方式。在下面的代码示例中&#xff0c;我们将介绍 Kotlin 中的抽象类和接口&#xff0c;并给出相应的示例。 抽象类 抽象类是一种不能被实例化的类&#xff0c;它仅用作其他…...

解决osg绘制场景时因Z冲突导致重影或闪烁等不正常情况

目录 1. 问题的提出 2. Z冲突&#xff08;z-fighting&#xff09;简介 2.1. Z冲突&#xff08;z-fighting&#xff09;产生的原因 2.2. 如何消除Z冲突&#xff08;z-fighting&#xff09; 3. 代码实现 1. 问题的提出 今天绘制了一个棋盘格&#xff0c;鼠标在棋盘格上单击…...

adb 获取 Android 设备中已安装的 apk 文件

前言 今天发现手机上一个应用在应用商店已经搜索不到了&#xff0c;想把其推荐给朋友使用&#xff0c;发现不知道从哪里找原始的 apk 安装文件&#xff0c;记录一下。 如何提取 apk 两种方法 MT管理器导出 可以使用 MT管理器(Android 平台逆向神器)&#xff0c;它有个 安装…...

学习记录683@类别不平衡问题解决的基本策略之再缩放的数学解释

什么是类别不平衡问题 分类学习方法都有一个共同的基本假设&#xff0c;即不同类别的训练样例数目相当。如果不同类别的训练样例数目稍有差别&#xff0c;通常影响不大&#xff0c;但若差别很大&#xff0c;则会对学习过程造成困扰。例如有998个反例&#xff0c;但正例只有2个…...

2023App测试必掌握的核心测试:UI、功能测试

一、UI测试 UI即User Interface (用户界面)的简称。UI 设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。手机APP从启动界面开始, 到运行过程,直至退出,…...

华为荣耀手机,开启开发者选项,hbuilder调试依然找不到

我的手机是华为荣耀50&#xff0c;其他华为手机不知道是不是这个问题哦 解决办法&#xff1a;usb配置&#xff0c;选择音频来源 然后就可以了...

【C++】特殊类实现

一、请设计一个类&#xff0c;不能被拷贝 拷贝只会放生在两个场景中&#xff1a;拷贝构造函数以及赋值运算符重载&#xff0c;因此想要让一个类禁止拷贝&#xff0c; 只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。 C98 将拷贝构造函数与赋值运算符重载只声明不定义…...

代码随想录打卡第四十四天|● 01 二维背包问题 ●一维背包问题-滚动数组 ● 416. 分割等和子集

什么是01背包 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品只能用一次&#xff0c;求解将哪些物品装入背包里物品价值总和最大。 01背包的模板 二维dp数组 dp数组的含义 dp[i][j]含义下标为【0-i】之间…...

燃气管网智能巡检系统

燃气管网维护工作繁杂&#xff0c;涉及人员、资源、巡检等&#xff0c;稍一疏忽就会使我们的工作陷入被动&#xff0c;可见启用燃气管网智能巡检系统是很有必要的。 燃气管网智能巡检系统综合管理智能平台&#xff0c;可对燃气管网数据的统一管理&#xff0c;实现对日常巡查、养…...

【微信小程序开发】运用WXS进行后台数据交互

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于小程序的相关操作吧 一.wxs是什么 WXS是指"微信小程序云开发"&#xff08;WeChat Mini Program Cloud Development&#xff09;&#xff0c;是由微信…...

屏幕录像推荐:Apeaksoft Screen Recorder 中文 for mac

Apeaksoft Screen Recorder 是一款功能强大的屏幕录制软件&#xff0c;它允许用户在 Windows 和 Mac 系统上捕捉和录制屏幕活动。无论是记录游戏过程、创建教学视频、制作演示文稿还是捕捉在线流媒体内容&#xff0c;该软件都提供了丰富的功能和工具。 以下是 Apeaksoft Scree…...

ALPHA开发板网络方案说明

一. 简介 正点原子 ALPHA开发板&#xff0c;包括我们移植的 Uboot&#xff0c;都是参考了 NXP&#xff08;恩智浦&#xff09;官方的开发板的。 I.MX6UL/ULL 内部有个以太网 MAC 外设&#xff0c;也就是 ENET &#xff0c;需要外接一个 PHY 芯片来实现网络通信功能&#…...

[Ubuntu 20.04] HEIF图像格式与libheif库及其工具的使用

一、HEIF图像格式 HEIF 是一种高效的图像文件格式,它由 MPEG(Moving Picture Experts Group)组织制定。相较于传统的 JPEG 格式,HEIF 提供了更好的图像质量和更高的压缩率。下面是对 HEIF 格式的详细解析: 图像编码技术:HEIF 使用先进的编码技术来实现更高效的图像压缩。…...

AI驱动的未来:探索人工智能的无限潜力 | 开源专题 No.39

这一系列开源项目代表着多个领域的最新技术成果&#xff0c;包括深度学习、自然语言处理、计算机视觉和分布式训练。它们共同的特点是致力于教育、资源分享、开源精神、多领域应用以及性能和效率的追求&#xff0c;为广大开发者、研究者和学生提供了宝贵的工具和知识&#xff0…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...