本作品由安信可社區(qū)用戶
WangChong制作
大家好,安信可又出活動(dòng)了,抱著重在參與的態(tài)度給大家?guī)?lái)了我的作品智能臺(tái)燈。
不知道大家是否還記得這個(gè)帖子里的臺(tái)燈。
https://bbs.ai-thinker.com/forum ... ad&tid=44226&extra=
沒錯(cuò),它被我拆了。就剩個(gè)LED燈板了。然后我把它稍作改造,便成了今天的主角。用HA控制的臺(tái)燈。由于本人并沒有什么好的靈感,來(lái)DIY,所以本篇教程將會(huì)是拋磚引玉來(lái)仔細(xì)說(shuō)明如何使用M61-32S接入HA,從而使大家DIY出好的作品。
在本篇教程你將會(huì)學(xué)到:
1- 如何連接WIFI
2- 如何連接MQTT
3- 如何配置HA的MQTT集成
4- 如何配置HA的configuration.yml 使其HA可以自動(dòng)發(fā)現(xiàn)實(shí)體。
5- 如何將上述的實(shí)體開關(guān)添加到Dashboard從而實(shí)現(xiàn)控制開關(guān)燈。
在開始之前呢,希望你已經(jīng)安裝好了HomeAssistant,那么如果你沒有安裝好,這邊也有準(zhǔn)備好的教程。
01前置工作準(zhǔn)備(安裝HA 和 eclipse-mosquitto )
Home Assistant 樹莓派4B安裝
https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=44598&fromuid=13075
(出處: 物聯(lián)網(wǎng)開發(fā)者社區(qū)-安信可論壇)
在安裝好之后,還需要準(zhǔn)備一個(gè)MQTT服務(wù)器,用來(lái)使開發(fā)板和HA通訊。
這里推薦的是eclipse-mosquitto 教程如下:
https://blog.csdn.net/Navyyy/article/details/122398020
在上述兩個(gè)服務(wù)成功安裝到Docker里之后呢,容器列表如下所示
02集成MQTT到HA
打開已經(jīng)安裝好的HA的Web網(wǎng)站。在左側(cè)導(dǎo)航菜單里依次選擇,配置, 設(shè)備和服務(wù),添加集成,搜索MQTT。
之后呢,配置上述安裝好的的賬號(hào)和密碼。此時(shí)MQTT完成配置。
當(dāng)然你可以測(cè)試你是否配置成功。點(diǎn)擊MQTT, 點(diǎn)擊配置。
隨便訂閱一個(gè)主題,并且打開MQTT客戶端工具,往這個(gè)訂閱的主題發(fā)送一條消息。檢查是否可以正常接收。
03配置HA,使其可以自動(dòng)發(fā)現(xiàn)支持的MQTT設(shè)備(via yml)
Ha官網(wǎng)有詳細(xì)的介紹關(guān)于如何使HA可以發(fā)現(xiàn)MQTT的設(shè)備 。
這次使用的使通過(guò)YML的方式使其HA識(shí)別。由于這次DIY的是一個(gè)臺(tái)燈,在可以在HA官網(wǎng)中找到對(duì)Switch的描述。
選擇Switch,在Switch的最下面有一個(gè)完整的Switch的配置。
拷貝這個(gè)配置,并且打開Shell。使用命令 docker exec -it [你的容器ID] /bin/bash 登錄到HA中。
使用vi 命令編輯這個(gè)configuration.yml 文件,并且將上述的拷貝的內(nèi)容粘貼到這個(gè)文件的最下方(其他的傳感器等也是一樣的道理)。
注意上述文件中,需要把optimistic 改成 Ture 關(guān)于Ture和False的區(qū)別請(qǐng)查看HA關(guān)于Switch的詳細(xì)描述。
然后按下Shift + :輸入wq 并且按下enter鍵進(jìn)行保存。同時(shí)打開HA的Web界面。從左側(cè)的導(dǎo)航打開開發(fā)者工具。重載手動(dòng)配置的MQTT實(shí)體。
此時(shí)HA已經(jīng)配置完畢。我們只需要向home/bedroom/switch1/set
那么這個(gè)實(shí)體在哪里呢?在HA的Web頁(yè)面,點(diǎn)擊配置, 設(shè)備與服務(wù),選擇實(shí)體,搜索 switch 你便可以看到這個(gè)實(shí)體。
此時(shí)如果你點(diǎn)擊這個(gè)開關(guān)的話,你可以在MQTT的客戶端的當(dāng)前隊(duì)列中看到HA向這個(gè)Message queue 的 topic 發(fā)送消息
只需要使M61-32S訂閱這個(gè)主題,并且監(jiān)聽這個(gè)主題的Message當(dāng)接收到的message為 ON的時(shí)候就打開臺(tái)燈。等為OFF的時(shí)候就關(guān)閉臺(tái)燈。
04使用M61-32S連接Wifi 訂閱MQTT主題,接收消息實(shí)現(xiàn)臺(tái)燈控制
當(dāng)前項(xiàng)目的代碼是在Aipi-open-kits 中的Wifi6-test中修改實(shí)現(xiàn)的。
這里移除了無(wú)用的代碼,僅僅保留了WIFI相關(guān)的MQTT相關(guān)的。并且自己寫了一個(gè)控制IO15的LED.h (移除了無(wú)用的easyflash 和其他的Wifi6-led等等)。
Wi-Fi和MQTT的連接代碼部分如下圖所示,只需要在這里修改成你自己的Wifi賬號(hào)和密碼已經(jīng)MQTT服務(wù)器的賬號(hào)密碼以及隊(duì)列信息。(這里是部署在香橙派Zero3 1G上的,實(shí)際占用RAM 500 mb左右。)
然后在user_mqtt.c的MQTT回調(diào)函數(shù)中,判斷當(dāng)前接收到的消息,如果接收到的消息為ON那么IO15輸出高電平。如果為OFF的話則輸出低電平。控制繼電器關(guān)閉臺(tái)燈。
05更多資料
代碼如下
MQTT.zip
視頻效果如下:【M61-32s接入HA 控制臺(tái)燈-嗶哩嗶哩】
https://b23.tv/uKs6i1V
審核編輯 黃宇
-
Switch
+關(guān)注
關(guān)注
1文章
535瀏覽量
59294 -
智能臺(tái)燈
+關(guān)注
關(guān)注
9文章
86瀏覽量
21513 -
MQTT
+關(guān)注
關(guān)注
5文章
670瀏覽量
23489 -
安信可
+關(guān)注
關(guān)注
0文章
184瀏覽量
4368
發(fā)布評(píng)論請(qǐng)先 登錄
使用Ai-M61-32S制作出門提醒設(shè)備

零基礎(chǔ)開發(fā)AiPi-Eyes-S1——通過(guò)屏幕輸入連接Wi-Fi

用小安派 DSL做一個(gè)天氣站

零基礎(chǔ)開發(fā)小安派-Eyes-S1——初識(shí)LVGL并搭建最小工程
零基礎(chǔ)開發(fā)小安派-Eyes-S1外設(shè)篇——I2S

零基礎(chǔ)開發(fā)小安派-Eyes-S1【外設(shè)篇】——FLASH

零基礎(chǔ)開發(fā)小安派-Eyes-S1外設(shè)篇——GPIO中斷編程

外設(shè)移植 安信可Ai-WB2+FPM383C指紋

零基礎(chǔ)開發(fā)小安派-Eyes-S1外設(shè)篇——GPIO 輸入輸出

外設(shè)移植 安信可Ai-WB2-32S開發(fā)板+TM1637 NTP時(shí)鐘

不到10塊錢,用Ai-M61-32S如何自制一個(gè)開機(jī)棒?

用Ai-M61-32su做一個(gè)跌倒告警神器!

評(píng)論