雷鋼 李國選



摘 要:闡述了MQTT物聯(lián)網協(xié)議在大學生創(chuàng)新實踐教學中的應用,利用該協(xié)議具有成本低、安全性強、自由定制化、對網絡依賴小、可以離線使用、部署方便、能在低可靠的網絡環(huán)境下運行穩(wěn)定等優(yōu)點,搭建了MQTT物聯(lián)網協(xié)議的智能家居系統(tǒng),實現了傳感器的數據傳輸、自動化處理和終端指令的執(zhí)行的全過程。
關鍵詞:MQTT;物聯(lián)網;創(chuàng)新實踐
0 引言
伴隨著互聯(lián)網和電子技術的發(fā)展,人們已經不能在滿足傳統(tǒng)的家居服務方式了,而家具也正向著智能化,網絡化,人性化的方面發(fā)展。隨著物聯(lián)網的興起,在智慧家庭,智能家具方面各類產品層出不窮。在物聯(lián)網方面,主要有五大協(xié)議MQTT、CoAP 、HTTP、XMPP、SoAP。其中各有個的優(yōu)點,但是對于智能家具來說,大多是一些傳感數據的采集,動作的執(zhí)行,還有一些自動化執(zhí)行的判斷。在這其中既要滿足低功耗的判斷,又要滿足工作的可靠性,采用了MQTT協(xié)議。
本系統(tǒng)采用arduino mini做處理平臺,有煤氣傳感器、火焰?zhèn)鞲衅鳌㈦姶砰y、繼電器和wifi轉串口等模塊組成。其中arduino做信號處理和指令執(zhí)行,各類傳感器完成環(huán)境檢測部分,電磁閥做動作執(zhí)行部分。系統(tǒng)采用模塊化設計,由基于wifi傳輸的MQTT協(xié)議做各部分的通信支撐。
1 系統(tǒng)組成及硬件設計
在環(huán)境感知部分,我們以天然氣傳感器和火焰?zhèn)鞲衅鳛閿祿杉瘋鞲衅鳎詀rduino做數據處理平臺。Arduino在采集完數據后通過wifi轉串口模塊,以MQTT協(xié)議形式在代理服務器上發(fā)布數據,在低功耗的場景下做到每秒采集并上傳一次。在動作執(zhí)行部分,有電磁閥控制模塊,繼電器控制模塊,均以arduino做處理平臺。Arduino通過wifi轉串口連接到服務器,訂閱天然氣和煤氣傳感器數據,訂閱命令主題,同時發(fā)布目前控制模塊狀態(tài)。當處理器感知到傳感器數據有異常時,在MQTT代理服務器中發(fā)布警告信息,請求終端處理,當等待終端處理超時后自動執(zhí)行防護命令,關掉電磁閥,關掉繼電器,并等待終端的檢修重啟命令,更進一步處理。在通信部分,我們采用的MQTT協(xié)議(Message Queuing Telemetry Transport)是一個基于TCP的發(fā)布訂閱協(xié)議,設計的初始目的是為了極有限的內存設備和網絡帶寬很低的網絡不可靠的通信,非常適合物聯(lián)網通信。MQTT通信主要由三部分構成,發(fā)布客戶端,代理服務器,訂閱客戶端。訂閱客戶端通過告知服務器訂閱自己感興趣的主題,在發(fā)布客戶端發(fā)布相關主題消息后將消息轉發(fā)到訂閱客戶端,以此完成通信。在低功耗和低可靠性的網絡環(huán)境下仍然能夠很好的工作。整套系統(tǒng)可以自動化處理,也可人為干預。讓使用者可以隨時了解家庭中的狀態(tài),并遠程操控。系統(tǒng)組成框圖如圖1所示。其硬件設計如下:
(1)環(huán)境感知部分設計;本套系統(tǒng)是檢測家庭煤氣泄露和是否產生火災的示例系統(tǒng),所需要檢測的環(huán)境變量主要是天然氣的濃度和是否發(fā)生火焰。主要用到的是天然氣傳感器,和火焰?zhèn)鞲衅鳌L烊粴鈧鞲衅鞑捎玫氖荕Q-4天然氣傳感器。MQ-4傳感器的特點主要有對甲烷和天然氣有很高的靈敏度、對乙醇煙霧的靈敏度很低、快速響應恢復特性、長期使用壽命和可靠的穩(wěn)定性、簡單的驅動電路。主要應用于家庭、工業(yè),甲烷和天然氣的探測裝置。火焰?zhèn)鞲衅骼霉饷舭雽w檢測物質燃燒后產生的紅外線輻射波長在1-2um近紅外波長的信號強度輸出對應的模擬值,從而完成對火焰的探測。Wifi轉串口模塊用的是esp8266模塊,這是物聯(lián)網領域比較廉價的一款聯(lián)網模塊,模塊穩(wěn)定性高,連接方便,功耗較低,在物聯(lián)網領域有著重要的應用。主控單片機arduino原理圖如圖2所示,它具有平臺化、統(tǒng)一化、有標準的工業(yè)設計,方便集成,可替換性高,并有豐富的各類傳感器庫和豐富的片上外設資源,開發(fā)周期短,開發(fā)效率高。
(2)動作執(zhí)行部分設計;動作部分的設計主要是進行自動化判斷和相關命令的執(zhí)行,程序實現方式也比較簡單。動作部分主要有兩個動作,一個是繼電器的開啟和關閉,另一個是電磁閥的開啟和關閉。Arduino單片機通過ESP8266通過wifi連接到MQTT代理服務器上面,訂閱繼電器和電磁閥命令主題,同時發(fā)布狀態(tài)主題。
(3)數據傳輸;Esp8266模塊集成了透傳功能,支持微信Airkiss 2.0協(xié)議、標準的 IEEE802.11 b/g/n 協(xié)議、完整的 TCP/IP 協(xié)議棧、STA/AP/STA+AP 工作模式、SmartConfig、串口透傳、支持串口AT 指令集、服務器 AT 指令集、IO 口控制等功能即拿即用,簡單配置后便可以非常便利的實現網絡訪問功能,最大限度減少開發(fā)者的工作和項目開發(fā)時間。MQTT是一個客戶端服務端架構的發(fā)布/訂閱模式的消息傳輸協(xié)議。它的設計思想是輕巧、開放、簡單、規(guī)范,易于實現。它有一個固定報頭(所有報文都有)和一個可變報頭(部分報文可有)。協(xié)議報頭采用數字代號和位控制,這種方法可以有效的減少數據包體積,能保證通信的快捷性。協(xié)議采用UTF-8的編碼方式,兼容大多數語言。同時有嚴格的主題數據格式,既保證數據傳輸的承載能力,又能保證數據的主題隔離,減少不同數據間的識別干擾問題。服務器的登陸驗證過程保證了數據信息在發(fā)布到代理服務后不被竊取,從而在一定程度上保證了安全。在信息的質量上有三種不同的通信質量。不同質量的信息保證了不同信息的傳輸要求。
(4)MQTT代理服務器設置;采用低功耗家庭小型MQTT服務器。由于MQTT協(xié)議的簡潔高效性,還有家庭傳感器數量較少,利用低功耗設備建立一個MQTT服務器網關使用,理論上完全可以滿足家庭的需要。優(yōu)點是:成本低、安全性強、自由定制化、使用內網、對網絡依賴小、可以離線使用、部署方便。在本次系統(tǒng)中采用的是第二種方式,自己搭建的MQTT代理服務器。主要原因是在服務器上搭建的有家庭管理平臺,能夠智能化處理家庭傳感器數據,給用戶提供一個較好的家庭環(huán)境。
2 系統(tǒng)評測結果
(1)傳感器測試;完成系統(tǒng)部署后在正常情況下進行過7*24小時的運行評測,期間服務器運行正常,傳感器數據正常,執(zhí)行部件狀態(tài)正常,并無出現異常情況。在調試狀態(tài)下進行評測。將傳感器放入人工制造的環(huán)境中,傳感器數值有上升趨勢。傳感器主題數據傳送正常,傳感器主題訂閱數據傳送正常。
(2)執(zhí)行部分測試;運行期間狀態(tài)主題正常,命令調試執(zhí)行正常。在傳感器數據超出正常值后正常發(fā)送出警告信息,設備重置通過,不重置自動化執(zhí)行正常,狀態(tài)反饋正常。
通過評測,MQTT協(xié)議的通信任務圓滿完成,系統(tǒng)設計完全符合預期。如系統(tǒng)穩(wěn)定運行一周數據圖3所示,從圖中可以看出在運行期間各項數值處于穩(wěn)定狀態(tài),在誤差范圍內完全可以滿足要求。表明了此協(xié)議在物聯(lián)網傳感系統(tǒng)中能很好的保障數據的傳輸,保障系統(tǒng)的穩(wěn)定運行。
3 結語
本設計提供了一種基于MQTT物聯(lián)網協(xié)議的通信系統(tǒng)設計,用MQTT協(xié)議擔任傳感器數據到平臺再到執(zhí)行端的一個溝通角色。MQTT協(xié)議的優(yōu)點是對資源占用小,通信可靠性高,能夠滿足各種類型的消息傳遞,同時消息的主題特性也能使得它能夠很好的隔離相關信息,提高消息的抗干擾性。已經智能家居系統(tǒng)上得到了驗證。通過本次創(chuàng)新實踐活動,把涉電專業(yè)的大學生對編程語言、軟件、硬件、應用平臺搭建的全過程都有一個完整的了解和實踐,對MQTT協(xié)議有了更深刻的理解,提高了學生綜合創(chuàng)新能力。
參考文獻:
[1]袁志強.基于單片機智能家居設計[J].創(chuàng)新設計,2019年第9期.
[2]孫雪,崔曉梅,馬雪瀅,董玉華.智能家居燈光控制系統(tǒng)設計[J].智能計算機與應用,第九卷第二期.
[3]陳銘乾.基于人工智能的物聯(lián)網平臺搭建[J].信息科學探索,1674-6708(2019)229-0116-03.
(項目來源:鄭州工程技術學院 2018 年大學生創(chuàng)新創(chuàng)業(yè)訓練計劃 項目編號:201811068025,項目名稱:非智能家居的智能化)
作者簡介:雷鋼(1979-),男,河南鄭州人,碩士,副教授,主要研究方向:電子與通信工程。