ESP32/8266
使用Arduino IDE开发ESP32与ESP8266虽然方便快捷、资源丰富,但Arduino 平台隐藏了太多底层代码,对于初学者来说十分友好,用户不需要关心底层做了什么,只需要拿到接口使用接口,若想深入了解该单片机,请使用ESP-IDF工具开发。
对于ESP32/8266你需要掌握:
1.GPIO
2.外部中断
3.PWM
4.IIC
5.SPI
6.BLE(低功耗蓝牙)
网络协议篇(在此之前你需要掌握基本的HTML语言以看懂前端代码,若想基于该单片机部署前端界面以及界面的数据交互还需要掌握VUE,js等语言 推荐前往 菜鸟教程 进行学习)
7.ESP-NOW
8.Web Server
9.Asynsc Web Server
10.WebSocket
11.MQTT
12.ESP-MESH
参考教程:
ESP-IDF
使用VSCode搭建环境,简单跑了官方给的示例代码,使用库函数编写,网络协议提供相应的API接口,需要学习新的库函数,暂时不打算深究。
24年7月25日:
经过两周系统的学习基于OpenHarmony系统使用海思3861芯片,主要学习过程:LiteOS内核的开发(Thread多线程、定时器、事件标志、互斥锁、信号量、消息队列)、外设开发(GPIO、ADC、PWM、I2C、UART)、网络开发(连接WIFI、WIFI AP热点、TCP通信、UDP通信、MQTT),最终将一些传感器数据上传到华为云,因为实验箱被学校回收了,该小项目也就到此结束了,唯一保留的一张图如下:
有个自己搭建的模块是因为他给的模块有问题,某传感器信号经过比较器进行一级放大后延时一段时间传入二级放大电路,按理来说应该直接输出给芯片的引脚,但是不知道为什么又把比较器输出的二级信号又送回给一级,导致传感器一经触发后信号就会一直连续触发不会停止,还有就是所有的板子为了美观,滤波电容离主芯片很远,有些电源芯片的滤波电容还不接地,我也是服了抄板的,为什么说是抄?我看了他们给的源码,在编译文件里发现了小熊派开源社区的字样,后续看了看他们的模块的原理图和小熊派的一模一样。
这篇文章本来是写ESP32的,为什么上面写了一大堆OpenHarmony呢?因为它们都是IOT芯片,开发流程基本都一样,只是一个是华为的芯片一个是乐鑫的芯片,后续学习了ESP-IDF框架的开发ESP32系列的芯片。
打算开一篇文章专门写OpenHarmony
搭建中会遇到的问题:
参考教程:
立创实战派ESP32-S3,嘴对嘴带你从入门到项目实战!10年嵌入式工程师倾囊相授
环境搭建过程:
看视频,或者看乐鑫的官方文档,乐鑫的文档已经很详细了
串口权限问题:
对于esp32:
对于esp32 S3:某些串口不是ttyUSB0,需要自己去看看串口名字,然后给该串口权限
工程配置(配置部分参数 保证你的esp32模块能用)
修改\选择芯片型号:
idf.py set-target
将清除 build 目录,并重新生成 sdkconfig
文件,原来的 sdkconfig
文件保存为 sdkconfig.old
更多命令请查看:IDF 前端工具 – idf.py – ESP32 – — ESP-IDF 编程指南 latest 文档 (espressif.com)
新建工程
终端输入:idf.py create-project project_name
添加idf路径到工程:ESP-IDF:Add vscode Configuration Folder,然后可以开始写代码了