开启辅助访问
设为首页
收藏本站
登录
立即注册
论坛首页
BBS
开发资料
样品购买
GitHub
邀请注册
技术博客
搜索
搜索
每日签到
本版
帖子
用户
物联网开发者社区-安信可论坛
»
论坛首页
›
物联网学习园
›
智能家居
›
DIY作品
›
【电子DIY作品】+ 智能台灯 + Ai-M61-32S+ Home Assista ...
返回列表
发新帖
【电子DIY作品】+ 智能台灯 + Ai-M61-32S+ Home Assistant
[复制链接]
857
|
8
|
2024-7-10 23:53:54
|
显示全部楼层
|
阅读模式
本帖最后由 WangChong 于 2024-7-11 00:01 编辑
前言
大家好,安信可又出活动了,抱着重在参与的态度给大家带来了我的作品智能台灯。
不知道大家是否还记得这个帖子里的台灯。
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,那么如果你没有安装好的话。我这边也有准备好的教程。
1- 前置工作准备(安装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里之后呢,容器列表如下所示
2- 集成MQTT到HA
打开已经安装好的HA的Web网站。在左侧导航菜单里依次选择,
配置, 设备和服务,添加集成,搜索MQTT
之后呢,配置你上述安装好的
eclipse-mosquitto
的账号和密码。 此时MQTT完成配置
当然你可以测试你是否配置成功。 点击
MQTT
, 点击
配置
随便订阅一个主题,并且打开MQTT客户端工具,往这个订阅的主题发送一条消息。检查是否可以正常接收。
3- 配置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
这个主题中发送一个ON的命令。那么HA便会自动发现这个实体
那么这个实体在哪里呢?在HA的Web页面,点击
配置, 设备与服务,选择实体,搜索 switch
你便可以看到这个实体。
此时如果你点击这个开关的话,你可以在MQTT的客户端的当前队列中看到HA向这个Message queue 的 topic 发送消息
聪明的你肯定想到了。那么只需要使M61-32S订阅这个主题,并且监听这个主题的Message当接收到的message为 ON的时候就打开台灯。等为OFF的时候就关闭台灯。
4- 使用M61-32S 连接Wifi 订阅MQTT主题,接收消息实现台灯控制
当前项目的代码是在Aipi-open-kits 中的Wifi6-test中修改实现的。
我这里移除了无用的代码,仅仅保留了WIFI相关的MQTT相关的。并且自己写了一个控制IO15的LED.h (移除了无用的easyflash 和其他的Wifi6-led等等)。
WIFI和MQTT的连接代码部分如下图所示,只需要在这里修改成你自己的Wifi账号和密码已经MQTT服务器的账号密码以及队列信息。(我的是部署在香橙派Zero3 1G上的,实际占用RAM 500 mb左右。)
然后在user_mqtt.c的MQTT回调函数中,判断当前接收到的消息,如果接收到的消息为ON那么IO15输出高电平。 如果为OFF的话则输出低电平。控制继电器关闭台灯。
代码如下
MQTT.zip
(18 KB, 下载次数: 10)
2024-7-10 23:38 上传
点击文件名下载附件
视频效果如下:
【M61-32s接入HA 控制台灯-哔哩哔哩】
https://b23.tv/uKs6i1V
回复
使用道具
举报
1084504793
|
2024-7-11 08:05:00
|
显示全部楼层
赞
回复
使用道具
举报
bzhou830
|
2024-7-11 08:22:36
|
显示全部楼层
王哥厉害
选择去发光,而不是被照亮
回复
使用道具
举报
lazy
|
2024-7-11 08:36:22
|
显示全部楼层
赞
回复
使用道具
举报
爱笑
|
2024-7-11 08:49:36
|
显示全部楼层
不错不错,交作业了!
用心做好保姆工作
回复
支持
反对
使用道具
举报
WT_0213
|
2024-7-11 08:54:28
|
显示全部楼层
赞
回复
使用道具
举报
iiv
|
2024-7-11 21:50:40
|
显示全部楼层
很不错呀
回复
使用道具
举报
hrqwe
|
2024-7-13 20:52:56
|
显示全部楼层
王哥太牛了
日拱一卒,功不唐捐
回复
支持
反对
使用道具
举报
WildboarG
|
2024-7-19 16:20:24
|
显示全部楼层
学习
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
手机登录
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
WangChong
72
主题
832
回帖
9936
积分
论坛元老
论坛元老, 积分 9936, 距离下一级还需 9990063 积分
论坛元老, 积分 9936, 距离下一级还需 9990063 积分
积分
9936
加好友
发消息
回复楼主
返回列表
官方教程玩法
DIY作品
图文推荐
【板子申请流程】新进来的同学请看这里-活动已停
2023-11-08
【中奖公告】申请Ai-M61-32S-kit的同学看过来!
2024-04-29
开发板申请 | Ai-M61-32S高性能开发板来啦,共赠送200个!-活动
2024-04-18
我也领到官方免费送的AiPi-Eyes-S1开发板啦!!!
2023-09-26
【轻松上手】小安派跑个超级玛丽
2023-09-27
热门排行
1
【板子申请流程】新进来的同学请看这里-活
2
安信可社区一周年狂欢派对&抽奖盖楼活动开
3
我也领到官方免费送的AiPi-Eyes-S1开发板啦
4
【中奖公告】申请Ai-M61-32S-kit的同学看过
5
优质文章有赏!现金红包+开发板无限送,冲
6
【官方公告】关于板子申请发帖争议解释
7
开发板申请 | Ai-M61-32S高性能开发板来啦
8
【轻松上手】小安派跑个超级玛丽
9
【教程】社区发帖教程指引(尤其是图片上传
10
【电子DIY作品】+人体存在感应器+WB2+RD03