ESP32智能风扇:语音控制+自动配网+链接API+云平台连接+微信小程序
一、项目介绍
这是我们esp32期末课设的项目,因为最近很热所以正好做个风扇吹吹。全部开源,放在文章最后的网盘链接里。用的是以前搭的机械臂的模型,但拆成了只用到两个舵机。


(1)流程图

(2)模块介绍
语音识别用asrpro,不和esp32连接,单独控制两个舵机实现让风扇上下左右转动。
wifi连接采用自动配网,连接心知天气的生活基本类API,具体可以看心知天气文档:生活指数 | 心知天气文档
提取其中的“穿衣、紫外线强度、感冒、运动”这四个指数,上传到云平台。esp32对相应的数据采取动作,其中加了一个按键控制风扇是否自动开启,如果是关闭状态,那么即使“穿衣”是“炎热、热”,风扇也不转动。
小程序连接云平台,将云平台的设备属性显示出来,并且显示实时时间。
二、云平台设置
(1)onenet云平台创建项目
云平台网站:
云平台的搭建和上传数据我是看这篇文章的:ESP32连接到oneNET云平台,传数据到微信小程序_esp32连接onenet-CSDN博客
注意!标识符是之后写代码需要用到的!数据类型如果是bool,之后写代码的true和false大小写不要写错了!

在属性这里可以看到我的设备

三、微信小程序

上面可以显示实时时间,然后显示从心知天气获取到的信息,还会给出相应的建议。
关键代码展示:


四、esp32-c3代码
先是setup函数进行各类初始化,loop函数里放需要循环执行的代码。
注释掉的第18行是写死的wifi连接,loop里注释掉的也同样是写死的。自动配网的话需要2.4频段,再用手机下载esptouch,进行配网。
注意,这张截图中的第19行api连接应该放在23行delay后面,先联网在连接api,不然api连接会失败。结尾放的代码里的是修改过的。

大体看一下,前面是各个定义,然后就是各个函数

其中的API_Connect()函数中获取完数据之后会在串口调试输出,因为数据是中文,所以在串口有乱码,但是这个没关系,上传到云平台的不是乱码,是正常的。主要用串口看看有没有数据就好了。

面包板上有一个按键控制风扇到阈值是否自动开启的开关,所以这个按键我主要就是用来控制风扇。

五、语音控制ASRPRO
这个模块单独控制舵机,编程很简单,和拼积木一样。一个引脚控制一个舵机,只需要两个舵机,一个舵机控制上下,一个控制左右。

舵机的设置要在拓展库下载

拓展库的第一个就是,可以直接点击下载

六、总结
之前我一直没有弄出来云平台,所以一直感觉联网这些是很困难的事,这次课设逼自己一把发现其实也不是很难,越来越熟悉了,甚至可以不看教程设置云平台。微信小程序也是,其实不用做的多华丽,能实现想要的功能就好了。就是编写esp的云平台设备上报的时候有点糟心,后面发现其实就是json数据格式写错了,所以一直没有任何反应,这种小细节的错误还是很难发现的,需要自己费心寻找。asrpro之前就买了,闲置了一个学期没有使用,这次也是发现其实很简单,就像之前用arduino一样。
我在b站上传了项目演示视频,想了解整个的运作的可以看看:
【esp32自动配网+获取API+连接云平台+微信小程序+语音识别控制】https://www.bilibili.com/video/BV1cHVSzbEan?vd_source=a780d58d81a9a64c171909614a569c0a
整个项目的全部代码:
通过网盘分享的文件:ESP32智能风扇项目
链接: https://pan.baidu.com/s/1v4B_rxoWEhFojIs89Jv9tw?pwd=ti21 提取码: ti21
有其他问题可以在评论区留言或者私信我,我看到了就会回复
更多推荐
所有评论(0)