本作品由安信可社区用户
WangChong制作
大家好,安信可又出活动了,抱着重在参与的态度给大家带来了我的作品智能台灯。
不知道大家是否还记得这个帖子里的台灯。
https://bbs.ai-thinker.com/forum ... ad&tid=44226&extra=
没错,它被我拆了。就剩个LED灯板了。然后我把它稍作改造,便成了今天的主角。用HA控制的台灯。由于本人并没有什么好的灵感,来DIY,所以本篇教程将会是抛砖引玉来仔细说明如何使用M61-32S接入HA,从而使大家DIY出好的作品。
在本篇教程你将会学到:
1- 如何连接WIFI
2- 如何连接MQTT
3- 如何配置HA的MQTT集成
4- 如何配置HA的configuration.yml 使其HA可以自动发现实体。
5- 如何将上述的实体开关添加到Dashboard从而实现控制开关灯。
在开始之前呢,希望你已经安装好了HomeAssistant,那么如果你没有安装好,这边也有准备好的教程。
01前置工作准备(安装HA 和 eclipse-mosquitto )
Home Assistant 树莓派4B安装
https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=44598&fromuid=13075
在安装好之后,还需要准备一个MQTT服务器,用来使开发板和HA通讯。
这里推荐的是eclipse-mosquitto 教程如下:
https://blog.csdn.net/Navyyy/article/details/122398020
在上述两个服务成功安装到Docker里之后呢,容器列表如下所示
02集成MQTT到HA
打开已经安装好的HA的Web网站。在左侧导航菜单里依次选择,配置, 设备和服务,添加集成,搜索MQTT。
之后呢,配置上述安装好的的账号和密码。此时MQTT完成配置。
当然你可以测试你是否配置成功。点击MQTT, 点击配置。
随便订阅一个主题,并且打开MQTT客户端工具,往这个订阅的主题发送一条消息。检查是否可以正常接收。
03配置HA,使其可以自动发现支持的MQTT设备(via yml)
Ha官网有详细的介绍关于如何使HA可以发现MQTT的设备 。
这次使用的使通过YML的方式使其HA识别。由于这次DIY的是一个台灯,在可以在HA官网中找到对Switch的描述。
选择Switch,在Switch的最下面有一个完整的Switch的配置。
拷贝这个配置,并且打开Shell。使用命令 docker exec -it [你的容器ID] /bin/bash 登录到HA中。
使用vi 命令编辑这个configuration.yml 文件,并且将上述的拷贝的内容粘贴到这个文件的最下方(其他的传感器等也是一样的道理)。
注意上述文件中,需要把optimistic 改成 Ture 关于Ture和False的区别请查看HA关于Switch的详细描述。
然后按下Shift + :输入wq 并且按下enter键进行保存。同时打开HA的Web界面。从左侧的导航打开开发者工具。重载手动配置的MQTT实体。
此时HA已经配置完毕。我们只需要向home/bedroom/switch1/set
那么这个实体在哪里呢?在HA的Web页面,点击配置, 设备与服务,选择实体,搜索 switch 你便可以看到这个实体。
此时如果你点击这个开关的话,你可以在MQTT的客户端的当前队列中看到HA向这个Message queue 的 topic 发送消息
只需要使M61-32S订阅这个主题,并且监听这个主题的Message当接收到的message为 ON的时候就打开台灯。等为OFF的时候就关闭台灯。
04使用M61-32S连接Wifi 订阅MQTT主题,接收消息实现台灯控制
当前项目的代码是在Aipi-open-kits 中的Wifi6-test中修改实现的。
这里移除了无用的代码,仅仅保留了WIFI相关的MQTT相关的。并且自己写了一个控制IO15的LED.h (移除了无用的easyflash 和其他的Wifi6-led等等)。
Wi-Fi和MQTT的连接代码部分如下图所示,只需要在这里修改成你自己的Wifi账号和密码已经MQTT服务器的账号密码以及队列信息。(这里是部署在香橙派Zero3 1G上的,实际占用RAM 500 mb左右。)
然后在user_mqtt.c的MQTT回调函数中,判断当前接收到的消息,如果接收到的消息为ON那么IO15输出高电平。如果为OFF的话则输出低电平。控制继电器关闭台灯。
05更多资料
代码如下
MQTT.zip
视频效果如下:【M61-32s接入HA 控制台灯-哔哩哔哩】
https://b23.tv/uKs6i1V
审核编辑 黄宇
-
Switch
+关注
关注
1文章
532浏览量
57850 -
智能台灯
+关注
关注
8文章
81浏览量
20924 -
MQTT
+关注
关注
5文章
622浏览量
22243 -
安信可
+关注
关注
0文章
132浏览量
3867
发布评论请先 登录
相关推荐
基于Ai-M61模组打造一个智能鱼缸水质监测系统
【外设移植】Ai-M61-32s 开发板+3.5寸SPI彩屏
![【外设移植】<b class='flag-5'>Ai-M61-32s</b> 开发板+3.5寸SPI彩屏](https://file1.elecfans.com//web2/M00/C2/ED/wKgZomXpIA-AeB-OAAEEaqUhqZg80.jpeg)
安信可推出Wi-Fi 6+BLE5.3模组Ai-M62-M2-I
![<b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b>推出Wi-Fi 6+BLE5.3模组<b class='flag-5'>Ai-M62-M</b>2-I](https://file1.elecfans.com/web2/M00/C1/D0/wKgaomXanpWAIIvnAAA1lndyGik078.png)
DIY案例:用Ai-M61-32S做一个多功能书桌灯
![DIY案例:用<b class='flag-5'>Ai-M61-32S</b><b class='flag-5'>做一个</b>多功能书桌灯](https://file1.elecfans.com/web2/M00/BE/64/wKgZomWyCNqAI7_UAAAs9_amvUI516.png)
【电子DIY作品】 用安信可Ai-M61-32S做一个多功能书桌灯
![【电子DIY作品】 用<b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b><b class='flag-5'>Ai-M61-32S</b><b class='flag-5'>做一个</b>多功能书桌灯](https://file1.elecfans.com//web2/M00/BD/CE/wKgZomWuOrqAdjwBAAFMMPVJ7B0553.png)
如何用小安派-Eyes-S1做一个电子木鱼?
![如<b class='flag-5'>何用</b>小安派-Eyes-<b class='flag-5'>S</b>1<b class='flag-5'>做一个</b>电子木鱼?](https://file1.elecfans.com/web2/M00/BD/59/wKgaomWiOcWAftolAAAMQk1Tt-s413.png)
Ai-M61-32S(点灯)
安信可Ai-M61-32S开发板能玩出多少拓展板?
![<b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b><b class='flag-5'>Ai-M61-32S</b>开发板能玩出多少拓展板?](https://file1.elecfans.com//web2/M00/AD/F0/wKgaomVRyBOAClChAA_oOX1l7o0705.gif)
用Ai-M61-32S开发板能玩出多少拓展板?
![用<b class='flag-5'>Ai-M61-32S</b>开发板能玩出多少拓展板?](https://file1.elecfans.com/web2/M00/AF/B3/wKgZomVRimWAOFAQAABB76twHhk441.gif)
零基础开发小安派-Eyes-S1【入门篇】——初识小安派-Eyes-S1
![零基础开发小安派-Eyes-<b class='flag-5'>S</b>1【入门篇】——初识小安派-Eyes-<b class='flag-5'>S</b>1](https://file1.elecfans.com//web2/M00/A5/04/wKgaomUH_yiAWNUuAAAV6-UOrAE574.png)
评论