作为一个开发者,该如何使用ESP32芯片进行开发呢?
首先我们要清楚一点:物联网是一个新兴的领域,它的出现,把传统的电路、单片机、传感器与网络进行结合,从而实现物在网,信息远程传送的效果。所以这个领域结合了硬件工程师、嵌入式工程师和网络工程师等。
为了方便这几类工程师都能快速学习并进行物联网开发,ESP32支持多种开发语言。
1、首先是C语言。毕竟ESP32内部是有一个32位的单片机的,而说到单片机编程,一般都是C语言。
开发环境分两种:一种是在linux环境下编程,这也是乐鑫(芯片厂家)一开始推荐的。但在linux环境下做单片机程序开发,对国内的工程师来说,实在是太反人类了,所以有了第二种。
国内的一家公司安信可,对乐鑫的芯片做了一个封装,以模组的形式出现在国内大部分工程师面前。同时对开发环境也做了优化,在eclipse的基础上做了针对性的设置,支持ESP8266和ESP32在windows下开发。工具名称是AiThinkerIDE,当前(2020年四月)最新版本是1.0,如下:
2、C/C++语言,平台使用Arduino。不得不说,arduino作为一个开源的电子平台,已经发展到了一个比较成熟的阶段。最开始,arduino只是做为一个教学用的电子平台出现。但由于它开源、友好、简单、好用,任何没有电路、编程基础的人,通过简单的学习都能快速入门。
现在它已经发展成一个成熟的生态,支持mega、stm32、esp8266、esp32等多种型号的微控制器。
arduino的核心早期是用C语言编写的,C语言是面向过程编程的。后来引入了面向对象编程的思想,所以采用C/C++混合编写。
3、lua语言。Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
国内使用Lua开发的话,个人最先想到的是nodemcu。但由于NodeMCU现阶段IDE、固件、模块等各方面均不是很完善,各种莫名错误问题较多且网络资料资源较少,笔者建议:把玩有风险,入坑需谨慎。
4、Micropython。人生苦短,我用python。为了面向微控制器,基于python语言推出了Micropython。可以运行在ESP32上面,语法和python一样,解释性语言,简单,好理解。尤其是有一些域名解析、爬虫需求的时候,Micropython真的是好用的不要不要的。
除此之外,还有js什么的,用的比较少,就不说了。
那么,哪种方式最好?
这里借用网上一位网友的说法:
ESP32支持Lua,Arduino,Micropython,js,c等,快速开发一些小Demo建议采用Arduino、和或者python,网上有不少参考例程,上手快,一般要求也都能满足,但是如果是开发一些对性能要求比较高,功能比较多的应用,建议采用C,用乐鑫官方的esp-idf,乐鑫的文档还是比较给力的,技术支持也比较及时,老外玩这个芯片玩的多,hackio上很多高大上的应用,最近看到这款官方还发布了这个芯片的语音识别开发框架和图像识别开发框架,值得一玩,对了,这个芯片最大的好处就是基本上算是全开源了,github上有好多资料,官方更新比较及时。
SP32开发环境的搭建
一、工具链的下载并设置
二、从 GitHub 上获取 ESP-IDF
三、安装及配置
四、编译及查看运行结果
一、工具链的下载并设置
快速设置的方法是从 dl.espressif.com 下载集成在一起的工具链和 MSYS2 压缩文件。
下载完成,解压 运行 msys32\mingw32.exe 打开一个 MSYS2 的终端窗口。该窗口的环境是一个 bash shell。创建一个 esp 目录作为开发 ESP32 应用的默认地址。
首先打开如下图
二、从 GitHub 上获取 ESP-IDF
使用 git clone 命令克隆远程仓库: 官方github
git clone --recursive https://github.com/espressif/esp-idf.git
这里可能比较慢,耐心等待下载完成。下载完成 可以在F:\msys32\home\haizi\esp-idf里面看到
三、安装及配置
1、“IDF_PATH” 环境变量的设置 在msys32\etc\profile.d文件夹下面的esp32_toolchain.sh里面添加
export IDF_PATH=“F:\esp32_win32_msys2_\msys32\home\chenhai\esp-idf”
如下图
配置IDF_PATH”环境变量之后打开mingw32.exe,进入到esp-idf\examples\get-started\hello_world里面编译
提示错误。
这是因为还没有 安装依赖的 Python 软件包
在 mingw32里面执行
python -m pip install --user -r $IDF_PATH/requirements.txt 安装python软件包
四、编译及查看运行结果
安装及配置完成之后就可以编译了,make menuconfig 配置完成退出,使用make all 编译,首次编译可能需要时间比较长。
编译完成从终端上面看到如下提示