ESP32集成开发环境Espressif-IDE安装 – Windows
陈拓 2023/10/15-2023/10/16
1. 概述
Espressif IDE是一个基于Eclipse CDT的集成开发环境(IDE),用于使用ESP-IDF框架开发物联网应用程序。这是一个专门为ESP-IDF构建的独立定制IDE。Espressif IDE附带了IDF Eclipse插件、重要的Eclipse CDT插件以及Eclipse平台上的其他第三方插件,以支持构建ESP-IDF应用程序。

特点:
- 基于Eclipse CDT环境构建的易于使用的IDE
- 专门为ESP-IDF应用程序开发而构建
- 自动配置环境变量
- 集成工具链配置
- 新的项目向导和ESP-IDF开始示例
- 具有语法着色功能的高级编辑、编译和编辑
- 预构建的函数头和函数定义导航
- 直接从IDE安装和配置ESP-IDF和ESP-IDF工具
- 用于项目特定设置的SDK配置编辑器
- 用于编辑CMakeLists.txt等CMake文件的集成CMake编辑器插件
- 基于CMake的构建支持
- 支持UART和JTAG烧写
- 使用预构建的配置和设置的自定义ESP-IDF OpenOCD调试
- GDB硬件调试
- 集成ESP-IDF串口监视器
- 带有预配置ESP-IDF构建环境的ESP-IDF终端
- 应用程序大小分析编辑器,用于分析应用程序的静态内存占用
- 支持堆分析,用于内存分析和查找内存泄漏
- 支持GDB Stub调试和应用程序级跟踪
- 支持esp32、esp32s2、esp32s3和esp32c3芯片
- IDE的英文和中文支持
- 用于Eclipse生态系统中其他第三方插件的可扩展IDE
- 支持的主机操作系统:Windows、macOS和Linux
2. Espressif-IDE网址
https://github.com/espressif/idf-eclipse-plugin/blob/master/docs/Espressif-IDE.md
提示:
如果访问github超时或者下载速度慢,可以试试用Watt Toolkit加速,网址:
https://steampp.net/

Watt Tookit可以从Microsoft Store直接安装:

3. 用Windows离线安装程序安装Espressif-IDE
Espressif-IDE安装程序(All-in-One)是一款离线安装程序,它附带了ESP-IDF应用开发所需的所有组件。
Espressif-IDE安装程序将部署以下组件:
- 嵌入式Python
- 交叉编译器
- 开放OCD
- CMake和Ninja构建工具
- ESP-IDF
- Espressif-IDE
- Amazon Corretto OpenJDK
安装程序包捆绑了所有必需的组件和工具,包括稳定的 esp-idf,这样在企业防火墙后面的人员可以开箱即用地使用整个解决方案。这还会在启动IDE时配置所有必需的构建环境变量和工具路径。您所要做的就是开始您的项目权限,而无需手动配置任何内容。这将大大提高您的生产力!
有关Windows工具链标准设置的更多详细信息,请参阅Windows平台工具链的标准设置。
https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/windows-setup.html
3.1 下载
您可以在
https://github.com/espressif/idf-eclipse-plugin/releases
找到最新的Espressif IDE发行说明。以下是最新版本各种平台离线安装包的直接下载链接。

或者,您可以从https://dl.espressif.cn/dl/esp-idf/
下载Windows版本的Espressif IDE:

下载:
https://dl.espressif.com/dl/idf-eclipse-plugin/ide/Espressif-IDE-win32.win32.x86_64/latest
我用谷歌浏览器:

![]()
3.2 安装
双击espressif-ide-setup-2.10.0-with-esp-idf-5.0.2.exe

确定

下一步

下一步

下一步

下一步

安装



Internet连接有问题,看看说明:
在某些情况下,运行D:\Espressif\tools\idf python\3.11.2\python.exe-m pip install--upgrade certific可以解决此问题。
通过下载并使用脱机安装程序https://dl.espressif.com/dl/esp-idf你也许可以解决这个问题。
手工下载esp-rom-elfs-20220823.tar.gz:
https://github.com/espressif/esp-rom-elfs/releases/download/20220823/esp-rom-elfs-20220823.tar.gz
打开网页https://github.com/espressif/esp-rom-elfs/

点击+ 2 releases

点击esp-rom-elfs-20220823.tar.gz下载:

保存到D:\Espressif\dist\esp-rom-elfs-20220823.tar.gz.tmp

双击espressif-ide-setup-2.10.0-with-esp-idf-5.0.2.exe重新安装:

安装成功!
在开始菜单中可以看到两个ESP_IDF终端:



两个终端任选其中一个就可以,打开终端时会自动添加ESP-IDF的环境变量,之后就可使用 idf.py 命令进行开发了。
参考《Windows系统安装ESP32 ESP-IDF开发环境》
https://blog.csdn.net/chentuo2000/article/details/133922505?spm=1001.2014.3001.5502
这是命令行开发方法,我们下面使用集成开发环境Espressif-IDE。
安装成功后在桌面上可以看到3个图标:

关于安装的更详细说明见:
https://github.com/espressif/idf-eclipse-plugin/blob/master/docs/Espressif-IDE-Windows-Installer.md
4. Espressif IDE测试
4.1 运行Espressif-IDE集成开发环境
- 在桌面上双击Espressif-IDE图标

- IDF打开后首先选择工作区

ESP-IDF开发者的Eclipse集成开发环境,使用工作区目录来存储其首选项和开发过程中生成的文件。
点击Launch

您可以从Eclipse首选项中验证CDT构建的环境变量

4.2 创建新项目
- 创建新项目的详细说明
https://github.com/espressif/idf-eclipse-plugin#create-a-new-project
- File->New->乐鑫IDF项目

- Next

- Finish
在工作区创建了项目文件夹:

4.3打开C/C++项目目录和项目导航
- 打开C/C++ Projects


- 打开Project Explorer


4.4 选择目标芯片
- 选择一个目标芯片

4.5 配置项目
项目中没有sdkconfig文件,我们用命令行生成一个。
- 关闭Espressif IDE
- 打开ESP-IDF 5.0 CMD
![]()
- 进入C:\Users\ct\workspace\hello_world>

- 查看ESP-IDF版本
idf.py --version

- 设定目标芯片
idf.py set-target esp32

- 配置项目
idf.py menuconfig

保存,退出。

- 再打开Espressif IDE
- 刷新File – Refresh


在Espressif IDE中配置项目
双击sdkconfig


4.6 编译项目

Build

4.7 烧写项目
参考《用乐鑫国内Gitee镜像搭建ESP32开发环境》
https://blog.csdn.net/chentuo2000/article/details/113424934?spm=1001.2014.3001.5501
5. 用 Wokwi仿真
见《在Espressif-IDE中使用Wokwi仿真ESP32》
在Espressif-IDE中使用Wokwi仿真ESP32-CSDN博客在Espressif-IDE中使用Wokwi仿真ESP32。https://blog.csdn.net/chentuo2000/article/details/133935234?spm=1001.2014.3001.5501
参考文档
- Installing Espressif-IDE by Windows Offline Installer
idf-eclipse-plugin/docs/Espressif-IDE-Windows-Installer.md at master · espressif/idf-eclipse-plugin · GitHub
相关文章:
ESP32集成开发环境Espressif-IDE安装 – Windows
陈拓 2023/10/15-2023/10/16 1. 概述 Espressif IDE是一个基于Eclipse CDT的集成开发环境(IDE),用于使用ESP-IDF框架开发物联网应用程序。这是一个专门为ESP-IDF构建的独立定制IDE。Espressif IDE附带了IDF Eclipse插件、重要的Eclipse CDT插…...
python之if else语句介绍
python之if else语句介绍 在Python中,if和else是两种重要的控制流语句,它们用于根据特定的条件来执行不同的代码块。以下是它们的用法和详细介绍: 1)if语句 if语句用于在满足某种条件时执行特定的代码块。它的基本语法如下&#…...
Java版ORM最初雏形
经过一个晚上的加班,终于把ORM初步结构工程搭好了。工程依赖有点难用,编辑器提示比VS差很多。 首先LIS.Core创建一个最初的容器雏形,先能反射得到对象给ORM获得数据库驱动 然后ORM创建数据库驱动差异接口,不同数据库实现接口后配…...
黎曼几何与切空间之间的投影
公式: 从黎曼空间投影到切空间,其中P为黎曼均值,也是切空间的参考中心点,Pi是要投影到切空间的点。 从切空间投影回来,其中Si为切空间中的向量。 function Tcov CovToTan(cov,Mcov)Cm12 Mcov^(-1/2);X_new logm(Cm…...
【Tomcat】为Tomcat服务配置本地Apr库以提升性能
关于 apr 和 apr-util 对 Tomcat 服务的性能提升的说明: 要测APR给tomcat带来的好处最好的方法是在慢速网络上(模拟Internet),将Tomcat线程数开到300以上的水平,然后模拟一大堆并发请求。如果不配APR,基本…...
普通人在当前大环境下——少看宏观,多看具体
前言 宏观叙事,简而言之,就是从宏观把握历史社会的发展,寻找其中永恒的共性。我们大概听过此类的话:贸易战导致本地经济下滑、气候变化是因为过去几十年的工业发展、大环境不行导致不赚钱。此类叙事方式,身边人聊的甚欢,在媒体、社交圈、日常社群交流中,随处可见。以前…...
用echarts在vue2中实现3d饼图
先看效果,再看文章: 一、安装插件 3d的图不仅用到echarts,还用到了echarts-gl,因此都需要安装一下哦~ npm install echarts npm install echarts-gl2.0.9 //可以指定版本,也可不指定二、在main.js中引入 import * …...
低代码助力软件开发
低代码开发工具正在日益变得强大,它正不断弥合着前后端开发之间的差距。对于后端来说,基于低代码平台开发应用时,完全不用担心前端的打包、部署等问题,也不用学习各种框架(Vue、React、Angular等等)&#x…...
C嘎嘎之类和对象上
> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:掌握类的引用和定义,熟悉类成员函数的…...
Vue 3使用 Iconify 作为图标库与图标离线加载的方法、 Icones 开源在线图标浏览库的使用
之前一直naive-ui搭配使用的是xicons,后来发现Iconify支持的图标合集更多,因此转而使用Iconify。 与FontAwesome不同的是,Iconify配合Icones相当于是一个合集,Iconify提供了快捷引入图标的方式,而Icones是一个大的图标…...
springboot+vue基于Spark的共享单车数据存储系统的设计与实现【内含源码+文档+部署教程】
博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ 🍅由于篇幅限制,想要获取完整文章或者源码,或者代做&am…...
如何使双核心的ESP32开启双核功能同时执行多任务
如何使双核心的ESP32开启双核功能同时执行多任务 简介查看ESP32当前哪一个内核在执行任务双核同时执行任务总结 简介 ESP32-WROOM-32模组内置两个低功耗 Xtensa 32-bit LX6 MCU,两个 CPU 核(core 0与core 1)可以被单独控制。可以在两个内核上…...
Node.js在Python中的应用实例解析
随着互联网的发展,数据爬取成为了获取信息的重要手段。本文将以豆瓣网为案例,通过技术问答的方式,介绍如何使用Node.js在Python中实现数据爬取,并提供详细的实现代码过程。 Node.js是一个基于Chrome V8引擎的JavaScript运行时环境…...
LC-2316. 统计无向图中无法互相到达点对数(DFS、并查集)
2316. 统计无向图中无法互相到达点对数 中等 给你一个整数 n ,表示一张 无向图 中有 n 个节点,编号为 0 到 n - 1 。同时给你一个二维整数数组 edges ,其中 edges[i] [ai, bi] 表示节点 ai 和 bi 之间有一条 无向 边。 请你返回 无法互相…...
git笔记 - 常用记录
第1阶段 - Git简介 什么是Git及其重要性?基本的Git概念和术语 仓库(Repository):也称为 repo,是存储代码和版本历史的地方。它可以是本地仓库(在本地计算机上)或远程仓库(在服务器…...
无纸化办公小程序数据交互、wxs的使用
前言 很多同志们再写小程序的过程中,不知道该怎么发起HTTP请求到后端,在Web环境中发起HTTPS请求是很常见的,但是微信小程序是腾讯内部的产品,不能直接打开一个外部的链接。例如,在微信小程序中不能直接打开www.taobao…...
Python之哈希表-哈希表原理
Python之哈希表-哈希表原理 集合Set 集合,简称集。由任意个元素构成的集体。高级语言都实现了这个非常重要的数据结构类型。Python中,它是可变的、无序的、不重复的元素的集合 初始化 set() -> new empty set objectset(iterable) -> new set …...
sql server2014如何添加多个实例 | 以及如何删除多个实例中的单个实例
标题sql server2014如何添加多个实例 前提(已安装sql server2014 且已有默认实例MSSQLSERVER) 添加新的实例 其实就是根据安装步骤再安装一次(区别在过程中说明) 双击安装 选择“全新独立安装或添加现有功能” 然后下一步下一…...
C++ 智能指针常用总结
C 智能指针常用总结 文章目录 C 智能指针常用总结1. 写在对前面2. why 智能指针3. what 智能指针3.1 unique_ptr3.2 shared_ptr3.3 weak_ptr 3. how 指针指针3.1 unique_ptr3.1.1 创建3.1.2 成员函数 3.2 shared_ptr3.2.1创建3.2.2 成员对象 3.3 weak_ptr 4. 碎碎念5.参考资料 …...
OracleRAC 安装配置过程中的问题
OS RHAS 3.2 DB 9204 在RAC的安装配置过程中,虽然是严格仔细按照文档来实施,但还是出现不少问题,现整理出来。 现象一 : 在节点一安装数据库的时候出现以下错误 [oraclerac1 dbs]$ sqlplus "/nolog"SQL*Plus: Relea…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...
