esp32用什么语言编程
作为一个开发者,该如何使用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 编译,首次编译可能需要时间比较长。
编译完成从终端上面看到如下提示
小编推荐阅读:
esp32和stm32哪个好_esp32对比esp8266
esp32环境搭建以及入门编程_esp32引脚图
为什么IGBT会发生退饱和现象?
物联网的发展极大地促进了智能家居技术市场的繁荣
FPGA常见的警告以及处理方法
MLX90640 红外热成像仪测温传感器 手机连接操作详细
虞仁荣将捐献200多亿元,在宁波建设“东方理工大学”!
esp32用什么语言编程_SP32开发环境的搭建
笔记本电池成本分析方法
同轴连接器用于传输RF信号,拥有更大的传输频率范围
什么是共聚焦显微镜?
OPPO Find X3 或将搭载全新双主摄镜头 支持3K+高刷屏
应用材料公司全新技术助力领先的碳化硅芯片制造商加速向200毫米晶圆转型并提升芯片性能和电源效率
世界最强火箭重型猎鹰火箭发射成功还在PCB上加了意外惊喜
用电源管理IC U2263手机充电器——平凡的我们记录每一个不平凡的日子
微软将停止对Windows 8操作系统服务和更新
浅谈PCB板材基础知识及层压结构
dfrobotFlyduino控制器简介
FIIL Diva Pro 耳机荣获 2017 CES 创新大奖,艾迈斯半导体降噪技术功不可没
移动终端下一个争抢点:已向3D摄像头进行转移
无人驾驶黑科技:毫米波雷达穿透力强,激光雷达精度高
PC出货量几乎砍半,2023年淡季可望更淡