相信大家都听说过ESP8266,这款非常火的wifi芯片;估计很多人都接触过以ESP8266为核心的无线模块,用过AT指令等
ESP32是乐鑫公司推出的另一款芯片,主要特性有:
ESP32的功能更加强大,在乐鑫官网上,可以下载到各个芯片的技术参考手册、数据手册等,我逛了下,主要有这几款类型芯片:
技术文档链接:点这里
双核处理器,旗舰产品,支持一些AI向量运算等,是未来AIOT的排头兵,完成一些边缘计算等
单核处理器,性能也很强;支持蓝牙、WiFi等;搭载 RISC-V 32 位单核处理器的极低功耗 SoC
集成 2.4 GHz Wi-Fi 和蓝牙双模的单芯片方案 ,单/双核处理器(D系列为双核)
主要有ESP32-D0WD-V3、ESP32-S0WD、ESP32-U4WDH等型号
(依据单双核、RAM大小等分类,具体查看芯片的数据手册)
特别的,该系列下,pico系列是 系统级封装 (SiP) 模组,
可提供完整的 Wi-Fi 和蓝牙功能 ,已集成1 个 4 MB 串行外围设备接口 (SPI) flash ;已将晶振、flash、滤波电容、RF匹配链路等所有外设器件集成在芯片封装,所以不需要外围器件即可工作
搭载 2 个低功耗 Xtensa® 32-bit LX6 微处理器, 有D4、V3两个类型(区别应该是V3是基于最新ECO V3晶圆封装的)——这里选用D4,因为D4能买到…
和ESP8266一样,ESP32支持在Arduino上开发。
基于Arduino IDE开发,首先要搭建开发环境,参考使用Arduino开发ESP32(01):开发环境搭建
但是发现下载不了,参考离线开发板数据包进行离线下载安装
安装后在开发板管理器中选择ESP32即可
例子参考,除了点击示例,也可以去Github上找:https://github.com/espressif/arduino-esp32
比如,这里选择一个显示芯片ID的示例,编译后下载到手里的开发板中,可以得到芯片的类型、核数和ID
ESP-IDF (Espressif IoT Development Framework) 是乐鑫的物联网开发框架,是使用乐鑫 ESP 系列芯片进行物联网开发时,必要的基础代码库、示例程序、文档和工具的集合。目前已支持 Linux、MacOS 和 Windows 等主流开发平台。
乐鑫的软件开发环境 ESP-IDF 旨在协助用户快速开发物联网 (IoT) 应用,可满足用户对 Wi-Fi、蓝牙、低功耗等方面的要求。
众所周知,ESP32是物美价廉的双核SoC,CPU0和CPU1同时运行、共享内存。
乐鑫修改了普通的FreeRTOS,让它能够支持SMP(symmetric multiprocessing对称多处理),
所以ESP32的FreeRTOS变成了基于FreeRTOS v8.2.0的Xtensa架构移植版SMP RTOS
ESP-IDF下的开发,即基于Free RTOS框架的开发,乐鑫对原生Free RTOS进行了修改,以便对ESP32芯片更好的支持
提到操作系统下的开发,估计很多熟悉Arduino亦或者其他嵌入式裸机开发的小伙伴会感到陌生和害怕,但是个人觉得,要想充分利用ESP32系列芯片的性能,或者想要在嵌入式方向上做的深一点,操作系统是不可避免要学习和实践的
关于环境的搭建,这里我放几个参考,其实参考第一个视频就差不多了,虽然版本不太一样;
安装问题,可以再看下我的另一篇博客:VS code 配置ESP-IDF 常见问题
参考:
【IOT College】ESP-IDF 环境搭建 Windows
官方—ESP-IDF 编程指南
官方—我该看哪个环境搭建教程? – ESP 系列开发环境搭建视频导航目录
ESP8266_RTOS_SDK (IDF Style) Programming Guide
这块我了解不多,大家如果对python比较熟悉,可以找一些资料看一看
platform平台呢,是VS Code上的一个插件
基于该插件,也可以完成在Arduino、ESP-IDF上的开发;也比较方便,方便环境搭建等;大家感兴趣可以了解下;
如果你ESP-IDF的环境搭建不好,可以试试在Platform上试试
不得不说,ESP32是一款非常优秀的芯片,集成了Wifi和蓝牙,并且提供了不少的外设;在STM32芯片价格水涨船高的今天,不得不说更加香了
但是,还记得当初为啥学习STM32吗?
我的话,因为学习资料多
国内的正点原子、野火等团队,出品了大量的开发板、学习教程和资料
我还记得当初那一个个日日夜夜,自己一边看着正点原子和野火的书,一边调试着例程,就这样跌跌撞撞的入了嵌入式的世界
但是,最近这段时间,也一直在做ESP8266和ESP32的项目,很多时候会感觉迷茫和不知所措
虽然官方给出了许多参考手册、编程指南,但是很多时候 还得靠自己摸索
不是说非得保姆级教程才能学习,只是拉低门槛罢了;
而一款芯片,除了自身过硬,要想让更多人参与,学习和开发资料是非常重要的
就拿ESP-IDF这一框架开发来说,除了官方的编程参考,我找不到其他的入门资料,只能一点点看源码和野火的RTOS教程来啃
不知道会不会有人因为这样而轻易放弃,我想更丰富的参考和教程一定会培养更多的开发者投入ESP32的学习和开发
以上,是一点吐槽,下面是自己的一点开发经验,供大家参考;
也可关注我的后续博客,我会更新一些开发记录和教程