一 前言

入坑嵌入式以来,一直都在寻找一款通用MCU控制器:他应有优秀的计算处理能力、丰富的外设扩展能力、支持有线/无线联网、小巧的封装。自从ESP8266爆火以来,熟悉过它的使用,但窘于硬件限制,只能做一些简简单单的事情,很多应用都需要搭配另外的MCU,体现不出多功能。随后ESP32发布,600MIPS运算能力、WIFI+BLE+ETH、QFN封装、不到10元的价格。一眼就认定它才是我要找寻的那个人,不过当时入门尚浅,网络啊Make啊不甚了解,加之生态还不是很完善,没有立即入坑。但现在ESP32的生态可谓相当成熟,乐鑫ESP-IDF的教程遍天是,数款模组和开发板任君选择,Arduino、PlatformIO、NodeMCU 都对ESP32提供了支持。比较有意思的是:上周树莓派发布了RP2040,但国内外论坛表示完全不虚,ESP32还能称霸好几年,国内厂商在某一领域做到这步,其付出尤为可嘉。

近期STM32涨价,供应商提前得知消息囤货导致价格暴涨,部分型号的价格翻了三四倍,更可怕的是芯片交期也变长了,替换的需求迫在眉睫。既然着眼长期,那索性来干脆点,国外的替换为国产,功能单一的替换为功能丰富的。在高性能商用处理器方面,与国外确实存在差距,但MCU领域完全不存在技术限制,既然市场有需求,那差的只是一个时机。商贩的炒价正好助长了一波MCU国产化替代浪潮,天下苦芯久矣,外芯已死国产当立。

言归正传,ESP32这个坑蹲很久了,近日有幸填上,之后会陆续推出一系列教程文章,包括 基础外设 | RTOS | WIFI | 物联网平台 | 蓝牙 | GUI开发。另外择机肝出几个型号开发板,做demo开发、当当小摆件都是极好的,敬请期待。


二 ESP32的开发环境有哪几种?

  • ESP32的SDK有这么两种:1.使用乐鑫原厂的SDK,ESP-IDF;2.使用第三方开源库,如 Arduino、NodeMCU。

出于开发,需要原厂技术支持考虑,使用 ESP-IDF。(ESP-IDF 内置 FreeRTOS+Lwip,无论是开发,还是用来学习MCU的嵌入式,都十分友好)

  • 编译环境有两种:1.windows;2.linux。

windows的开发工具和软件多啊,并且教程多,方便查资料。

  • windows编译ESP32方式:1.windows模拟unix环境,如msys2,来GNU Make;2.win10自带的linux子系统 - WSL;3.CMake

第1种是以前推荐的方式,编译非常慢。第2种编译速度快好几倍,不过需要折腾一下。第3种是乐鑫最新推荐的,编译速度快,windows下非常好用。

  • IDE用哪种:1.Eclipse;2.Vscode。(本来Vscode不能称为IDE,不过乐鑫提供了一个异常强大的插件...于是乎...转正了)

盲选Vscode,帅就完了。乐鑫官方提供Vscode插件,一站式安装,直接将Vscode升格为IDE,配合上Vscode原有的插件、主题,coding的过程十分惬意。

于是本篇介绍的开发方式为:windows系统下,用Vscode进行一站式开发,使用最新推荐的CMake编译,编译速度大大提高。


2021.09.08 更新

由于 esp-idf-tools-setup 和 VSCode 插件发生了几次较大的版本变化,于是更新了最新的安装方法。本文的发布时间较早,方法较为古老,使用上不是特别方便,建议优先参考下面链接的安装方式:

ESP32 ESP-IDF开发环境搭建,Windows下基于ESP-IDF | Cmake | VScode插件的 ESP32 开发环境搭建

另外同期间,我在ESP32的开发学习过程中,总结了一套使用方法,并将其汇总为一个开源驱动库 - Easyio,目的是简化ESP-IDF开发框架的使用难度。目前已开放预览版本,功能涵盖GPIO、Key、UART、ADC、DAC、RMT、I2C、SPI、LCD、SDCard等外设驱动,下一步准备扩充jpeg解码库、OTA、LVGL、WIFI/BLE、有线以太网和一些网络通信的Demo。库的导入方式简便,直接拖入工程的components文件夹下即可使用。适合与此教程配套使用,详见:Easyio驱动库-Github

ESP32开源驱动库Easyio的使用,基于ESP-IDF开发框架,非Arduino


三 windows Vscode开发环境搭建

3.1 准备安装工具

  • 1. esp-idf-tools-setup-2.3.exe:安装工具下载
  • 2. esp-idf-v4.2 SDK:乐鑫官网下载 || 或 || github
  • 3. Visual Studio Code:Vscode下载
  • 4. Git:Git下载
  • 5. Python:Python下载

提前准备好工具,以前有安装过的就不需要装了。(Python一定要3.8版本,3.7安装会有非常多问题

  • 事先声明

一定要先将 Git和Python安装好,ESP-IDF Tools的安装依赖于Python,而乐鑫的Vscode插件又要求Python版本不能太低。(一定要3.8)过程中试着安装了两三台电脑,都是Python版本的原因。

因为源的原因,下载速度很忙,所以能用本地安装就用本地安装。但还是要保持电脑始终联网。

3.2 安装Git

一路Next到底。以前有的就不要装了,对Git版本没什么要求。

3.3 安装并更新Python

强烈建议使用Python3.8版本,不然后面问题好多。

更新,这一步也是必须的,不然后面运行Vscode插件会报错。

windows搜索cmd,使用命令行窗口:python.exe -m pip install --upgrade pip

3.4 clone ESP-IDF-V4.2

Git clone ESP-IDF的最新版本。当前最新版本为 V4.2。

也可以去官网下载本地解压包,之后解压到当前目录。修改文件名为 esp-idf。

3.5 esp-idf-tools-setup-2.3.exe

esp-idf-tools-setup-2.3.exe 是乐鑫为方便用户使用ESP-IDF,定制的一款工具集合包。包括Cmake、OpenOCD等,可以自动检测本地的 Python和Git,以便自动安装缺失工具。

  • 双击安装,软件会自动检测本机安装过的 Python、Git。选中本地的 Python 3.8。(一定要3.8

  • Git 一样,选用本地现存版本。

  • 勾选使用本地的ESP-IDF,选择刚刚 ESP-IDF V4.2 的目录。

  • 选取 ESP-IDF-Tools 的安装目录。

  • 创建快捷方式。全勾上。

  • 对配置进行最后预览。无误后点击 Install 安装。

  • 之后开始自动安装。过程比较缓慢,耐心等待。
  • 安装完成,点击 Finish。运行一下。

桌面上会出现快捷方式,也可以通过这个来启动 ESP-IDF Command Prompt (cmd.exe)。

3.6 验证编译

  • 输入命令:(意思分别是:切换到Demo-hello_world工程的工作目录;显示目录文件;清理工程;编译)
cd examples\get-started\hello_world
dir
idf.py clean
idf.py build

  • 第一次编译会自动Git一些工具,时间会久一些。最后编译成功,生成了 .bin文件。

  • 能成功编译,就说明 ESP-IDF SDK 及 ESP-IDF Tools 编译环境准备完毕。

下面安装Vscode及乐鑫插件,此插件可以将Vscode升格为IDE,将编码、调试、终端操作,全部转移到Vscode上,方便Coding和调试。

3.7 Vscode扩展插件(很大概率会出错)

从微软官网下载Vscode,一路Next安装到底。

乐鑫插件的安装,有很大概率会出现乱码和Error,导致不能使用插件的完整功能,但不影响后续开发。只要保证上一步在命令行窗口中能编译成功即可。

  • 先安装一些实用插件,包括中文语言包和一些辅助工具。语言包要重新打开后生效。

  • 之后安装乐鑫插件。搜索 esp-idf。点击安装。

  • 查看 - 命令面板(Ctrl+Shift+P)。输入 configure esp-idf extension,点击。

  • 使用 ADVANCED 安装。

  • 选择本地 ESP-IDF 安装方式,选择 ESP-IDF 的路径。

  • ESP-IDF Tools 也同样选择本地。

  • 自动安装扩展插件中,等待。

  • 安装完成,Setup界面可以关闭了。

4 Vscode插件安装失败怎么办?

ESP- IDF 插件的安装非常容易出错。不过问题不大,只要保证 ESP-IDF Command Prompt (cmd.exe) 能正常编译即可。它的使用会在下一篇与创建新工程一起说。

一般情况,是最后显示配置成功,但如果使用 插件内置的build、flash就会报错乱码。

可能因为是测试版的缘故,有很多兼容性问题,不怪乎为什么它的评分刚3颗星。一般Vscode插件的评分都是4.5~5星。

ESP-IDF 插件不止容易出错,编译速度还不如 ESP-IDF Command Prompt 快。同样都是 CMake,为啥你要比自带的命令行慢那么多。(实测同样的工程,命令行编译花30秒,Vscode内置编译花了一分半)

2021.03更新:随着ESP-IDF插件更新版本到V1.0.0,安装失败问题大多被修复,以前我一台电脑出现乱码不能用Vscode内置的终端,现在随着版本更新都可以使用了。

安装过程中,请留意下方的输出信息。

如果出现下方类似的 乱码和Error,即使最终显示 ESP-IDF 插件配置成功,但如果使用 左下角的图标去 build、flash,又会报错并且弹出设置界面。

5 注意事项

  • 最容易出错的地方是 Vscode乐鑫插件配置失败。该插件严重依赖Python,Python必须为3.8,3.7不行。
  • Python3.8安装后,一定到更新。一定一定!!
  • 我试了两台电脑,一台完美安装运行,另一台在Vscode配置插件过程中出现乱码和Error。虽然最后显示配置成功,并且能从SDK的例程中创建新工程,但不能使用Vscode里的编译、下载。一编译就会弹出最开始的ESP-IDF配置界面,只好另外运行 ESP-IDF Command Prompt (cmd.exe) ,用命令行操作。
  • 推荐 Vscode插件只用来 创建工程、编码编译、下载、监视端口 交给 ESP-IDF Command Prompt
  • Vscode的 ESP-IDF插件体验真是一言难尽,希望乐鑫能重视这个问题,尽快迭代出完善的版本。

2021.03更新:随着ESP-IDF插件更新版本到V1.0.0,安装失败问题大多被修复,以前我一台电脑出现乱码不能用Vscode内置的终端,现在随着版本更新都可以使用了。


ESP32开发板开源计划


现已开源一款ESP32物联网开发板,支持WIFI、蓝牙、以太网、RS485、CAN通信。板载6轴IMU、温湿度传感器、38K红外遥控收/发、独立RTC、TF卡座。USB和18650双电源供电,有2.0寸单点电容屏可用,配套各外设驱动和LVGL源码。Github、立创EDA、CSDN全云端同步更新。

详情可见:

- ESP32-IOT-KIT 开发板介绍

ESP32开发板开源啦 ESP32-IOT-KIT全开源物联网开发板

- PCB硬件

立创EDA:ESP32开发板 IOT-KIT原理图、PCB、BOM

打样免费的时代,速去JLC白嫖PCB。

- 开源学习交流Q群:827686418

ESP32开发 0.windows Vscode开发环境搭建,基于esp-idf-V4.2 | Cmake | Vscode插件相关推荐

  1. JSP开发的工具下载与环境搭建(Windows开发环境)

    一.JSP开发的工具下载与环境搭建 JSP技术的强势: (1)一次编写,到处运行.在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改. (2)系统的多平台支持.基本上可以在所有平台上的 ...

  2. php iis mysql windows2003,Windows Server 2003 IIS6.0+PHP5(FastCGI)+MySQL5环境搭建教程 | 系统运维...

    准备篇 一.环境说明: 操作系统:Windows Server 2003 SP2 32位 PHP版本:php 5.3.14 MySQL版本:MySQL5.5.25 二.相关软件下载: 1.PHP下载地 ...

  3. iis10 php,Windows Server 2019 IIS10.0+PHP(FastCGI)+MySQL环境搭建教程

    准备篇 一.环境说明: 操作系统:Windows Server 2019 PHP版本:php 7.3.11 MySQL版本:MySQL 8.0.18.0 二.相关软件下载: 1.PHP下载地址: ht ...

  4. IOS开发基础之网易新闻环境搭建异步请求json,AFN网络封装第1天

    IOS开发基础之网易新闻环境搭建异步请求json,AFN网络封装第1天 视频资料是2015年的,但是AFN是导入框架的关键文件,我尝试使用cocoapods安装最新的AFN,虽然成功了,但是版本太高, ...

  5. mysql+server+80_Windows Server 2019 IIS10.0+PHP(FastCGI)+MySQL环境搭建教程

    准备篇 一.环境说明: 操作系统:Windows Server 2019 PHP版本:php 7.3.11 MySQL版本:MySQL 8.0.18.0 二.相关软件下载: 1.PHP下载地址: ht ...

  6. php7 iis10 mysql_Windows Server 2019 IIS10.0+PHP(FastCGI)+MySQL环境搭建教程

    准备篇 一.环境说明: 操作系统:Windows Server 2019 PHP版本:php 7.3.11 MySQL版本:MySQL 8.0.18.0 二.相关软件下载: 1.PHP下载地址: ht ...

  7. 从零开始的51单片机——VsCode+EIDE环境搭建

    从零开始的51单片机--VsCode+EIDE环境搭建 环境 Windows Keil5 Vs Code EIDE STC-ISP 搭建环境 安装Keil 从官网下载Keil5并安装(选择C51) 安 ...

  8. Mac VSCode OpenGL环境搭建

    Mac VSCode OpenGL环境搭建 1.安装glfw brew install glfw 2.下载glad https://glad.dav1d.de/ 选择合适的版本后 拷贝glad文件夹到 ...

  9. windows下python环境搭建_Linux/Windows下Python环境搭建步骤

    Python环境搭建首先到官网(www.python.org)下载相应的安装版本.主要分为Windows和Linux两种: 一.Linux下Python环境搭建 一般情况下,Linux系统都已经预安装 ...

  10. hadoop2.7.3+spark2.1.0+scala2.12.1环境搭建(4)SPARK 安装

    hadoop2.7.3+spark2.1.0+scala2.12.1环境搭建(4)SPARK 安装 一.依赖文件安装 1.1 JDK 参见博文:http://www.cnblogs.com/liugh ...

最新文章

  1. Ubuntu下安装Nginx,PHP5(及PHP-FPM),MySQL
  2. python优雅代码大全_代码这样写更优雅(Python版)
  3. Datalore:用于机器学习可视化的新Web方案!
  4. 这个处理不同基因组区域关系的工具集很不错!
  5. java byte缓存_java-如何使用带byte []键的番石榴缓存?
  6. (60)Verilog HDL测试激励:复位激励1
  7. 关于计应151/152《软件工程》课程实践的安排
  8. 模拟按键——在Python使用pynput库
  9. 11gR2 集群(CRS/GRID)新功能—— SCAN(Single Client Access Name)
  10. dubbo分布式事务解决方案_阿里架构师谈:高并发+分布式+秒杀+微服务+性能优化...
  11. Python3 字符串小练习
  12. word中突然有一行文字间距特别大的解决办法
  13. Qt读写Excel--QXlsx合并单元格、文本对齐7
  14. 美化你的Typora
  15. python运用在大数据中精准生活_大数据分析技术在生活中的广泛应用
  16. 7-1 计算职工工资c语言,C语言职工工资管理系统
  17. 如果你恨一个人,就让他去接手别人的代码
  18. 上海移动HG6145D光猫之超级用户登录方法
  19. 图谱实战 | 再谈图谱表示:图网络表示GE与知识图谱表示KGE的原理对比与实操效果分析...
  20. 开机黑屏且显示the GNU GRUB version grub>命令行解决办法

热门文章

  1. 数据结构——数组、单向链表、双向链表
  2. Apache性能诊断与调优
  3. 【Java从0到架构师】Spring - AOP
  4. 【恋上数据结构】回溯、剪枝(八皇后、n皇后)、LeetCode51.N皇后、LeetCode52.N皇后 II
  5. suse linux vnc配置文件,怎么在linux suse中配置VNC服务器
  6. mysql多字段分库分表基因码_一文学会常用 MySQL 分库分表方案
  7. rez注入器源码_CF-rez-Tool crossfire的REZ文件全套修改工具 - 下载 - 搜珍网
  8. python 生成器装饰器_七.python迭代器生成器装饰器
  9. python第五章课后题答案_python程序设计基础(嵩天)第五章课后习题部分答案
  10. vue3vite工程里面引入assets目录下的图片文件(一种方法)