本文來源電子發(fā)燒友社區(qū),作者:jyaxz, 帖子地址:https://bbs.elecfans.com/jishu_2308726_1_1.html
基于MQTT的智能環(huán)境監(jiān)視控制器
前一個(gè)試用中
https://bbs.elecfans.com/jishu_2307663_1_1.html
利用天啟M1和傳感器采集板S1完成了本地采集和控制功能。
由于天啟M1集成了無線連接wifi控制器,同時(shí)支持mqtt的功能,所以對(duì)第一個(gè)設(shè)計(jì)升級(jí),使它成為一個(gè)網(wǎng)絡(luò)化的監(jiān)視和控制器。
這個(gè)想法在試用開始的時(shí)候就有,但是一直也沒有很好的解決MQTT的網(wǎng)絡(luò)化問題,借著十一的時(shí)間,認(rèn)真的研究了一下,終于可以成功的解決了所有的環(huán)節(jié)。
本測(cè)試包換前置采集和執(zhí)行器,由天啟M1+S1來完成,采用樹莓派ZeroW架設(shè)MQTT的broker,利用Node-Read作為上位的監(jiān)視和控制部分。
這里重點(diǎn)介紹一下天啟M1的實(shí)現(xiàn)。
M1程序介紹
變量創(chuàng)建
這里面創(chuàng)建了三個(gè)變量,用來存儲(chǔ)從S1傳感器采集的溫度、濕度和亮度值。
無線網(wǎng)絡(luò)連接
利用wifi連接模塊和家里面的路由器建立無線連接,并獲取IP地址。
和MQTT Broker建立連接
無線連接建立后,就可以完成MQTT的連接了,通過和廠家的技術(shù)支持連接,第一條本機(jī)ID的設(shè)置很重要,應(yīng)該被執(zhí)行,以前在MQTT連接建立的時(shí)候總是出錯(cuò),一個(gè)原因是這個(gè)ID的設(shè)置沒有執(zhí)行,另一個(gè)就是MQTT 的 Broker建立的有問題。因此這次我采用了樹莓派ZeroW在局域網(wǎng)內(nèi)來建立。
這里采用的是mosquitto開源軟件,在樹莓派上編譯并運(yùn)行。這里我們不詳細(xì)介紹在樹莓派上布置mosquitto的相關(guān)信息,感興趣的話可以baidu一下,信息還是很多的。
環(huán)境參量獲取
這里實(shí)現(xiàn)了三個(gè)函數(shù),分別是讀取溫度,讀取濕度和讀取亮度。
發(fā)布環(huán)境變量信息
當(dāng)讀取完環(huán)境參量后,我們向MQTT服務(wù)器發(fā)布三條信息。
訂閱控制信息及處理
在MQTT鏈接成功建立后,向服務(wù)器發(fā)布訂閱信息。
通過“接受到的MQTT消息”塊,獲取MQTT的控制信息,由于系統(tǒng)沒有提供更多的處理功能,所以支持選取最簡單的信息內(nèi)容,采用1-6這6個(gè)數(shù)字,每個(gè)數(shù)字分別代表一個(gè)控制量,這里模擬RGB小燈的紅燈和綠燈共6個(gè)狀態(tài)。
MQTT的運(yùn)行信息監(jiān)視
通過MQTTX這個(gè)軟件,我們可以作為監(jiān)視調(diào)試窗口,看到所有M1的信息發(fā)布,和訂閱的控制信息傳輸。
Node-Red搭建的采集和控制系統(tǒng)
node-red系統(tǒng)的搭建大家可以在網(wǎng)上查一下,由于不是重點(diǎn),這里也不介紹整個(gè)系統(tǒng)的搭建過程。
在node-red中搭建的溫度采集和控制流圖。
在dashboard中看到的采集溫度圖和紅綠燈控制接口。
測(cè)試總結(jié)
實(shí)際測(cè)試過中,發(fā)現(xiàn)M1的MQTT網(wǎng)絡(luò)連接效果不是太好,整體運(yùn)行很難持續(xù)較長的時(shí)間,基本30分鐘左右會(huì)出現(xiàn)斷聯(lián)的情況。這種情況是如何發(fā)生的,目前還沒有找到原因。
mqtt發(fā)布信息和接收控制信息,視頻演示內(nèi)容,詳見作者原帖子文章。
-
開發(fā)板試用
+關(guān)注
關(guān)注
3文章
301瀏覽量
2330
發(fā)布評(píng)論請(qǐng)先 登錄
基于RK3576處理器,米爾RK3576開發(fā)板免費(fèi)試用

搭載OpenHarmony操作系統(tǒng),視美泰SC-3568HA開發(fā)板免費(fèi)試用

基于RK處理器,創(chuàng)龍TL3562-MiniEVM開發(fā)板試用體驗(yàn)

性能強(qiáng)悍!合眾HZ-RK3568開發(fā)板試用體驗(yàn)

有獎(jiǎng)丨米爾 NXP i.MX91開發(fā)板免費(fèi)試用來啦


免費(fèi)丨米爾 STM32MP257開發(fā)板有獎(jiǎng)試用

有獎(jiǎng)丨米爾 瑞芯微YR3562開發(fā)板免費(fèi)試用

有獎(jiǎng)試用!!RA-Eco-RA4M2-100PIN-V1.0開發(fā)板試用活動(dòng)報(bào)名

基于瑞薩R7FA2E1A72DFL的可觸摸燈帶控制器設(shè)計(jì)

追加名額丨米爾瑞芯微RK3576開發(fā)板有獎(jiǎng)試用

評(píng)論