?

改進的退避算法在智能家居控制系統中的應用

2020-04-29 14:05吳房勝徐金秀施冬冬陳業慧
通化師范學院學報 2020年4期
關鍵詞:安卓信道智能家居

吳房勝,徐金秀,施冬冬,陳業慧

隨著經濟技術的快速發展,人們對居家生活舒適便捷的要求越來越高.在當今物聯網時代,智能家居能夠滿足人類的要求,通過科技創新,使人類生活得更加節能環保、安全方便.隨著人們需求的增加,智能家居必將會成為中國的主流行業之一,市場發展前景非常廣闊[1].

1 系統概述及退避算法原理

本系統通過模擬真實的家居環境,搭建一個智能平臺.平臺上使用了火焰傳感器、溫濕度傳感器、熱釋電紅外傳感器、紅外對射傳感器、光照傳感器及煙霧傳感器等,通過各種傳感器對室內環境實時采集,利用CC2530主控芯片,實現數據處理、無線傳輸及智能控制等.此外,還安裝了攝像頭、風扇、電燈和報警燈等設備進行現象模擬,當感測到火焰、煙霧氣體、外來人員入侵等突發情況時,ZigBee 芯片通過繼電器模塊,控制報警器、風扇、攝像頭等器件,攝像頭進行視頻拍攝,并將視頻上傳到云平臺存儲;家庭PC 端可通過電信網關,通知房屋主人家里有人入侵或者發生火災,并通知房主撥打火警電話,使得家庭在安全防衛方面更加智能便捷.同時移動端的安卓APP 和家庭PC 終端均可獲取家庭的各種信息,并進行家庭突發情況的監控和相應的管理,其中安卓APP 軟件還可通過攝像頭對門口人員外貌進行識別并可遠程開門,避免了戶主不在家時,家中來客人卻只能在門口等待的尷尬.該系統的結構框圖如圖1所示[2-3].

圖1 系統結構框圖

本系統用到多個數據采集的傳感器,如溫濕度傳感器、光照傳感器、煙霧傳感器等,采集到的大量數據進行無線傳輸時,難免會出現多個節點同時傳送數據而發生數據碰撞的現象,這需要限制各節點對信道的訪問頻率,故需要采用退避機制,來降低碰撞的發生.本系統采用二進制指數退避(BEB)算法中的時隙CSMA/CA(信標使能網絡)算法,并對算法進行改進,該算法主要實現無線信道的訪問,是一種免沖突載波檢測的多路接入算法.算法中有NB、CW和BE三個變量需要進行相應的維護.NB為節點剛接入信道時,即數據幀開始進行傳輸之前,執行時隙CSMA/CA算法所需退避的次數.CW為競爭窗口的大小,是數據幀傳輸之前,連續檢測到的空閑信道的次數.BE是節點的退避指數,其值和CW關聯[4].

該算法是先初始化在MAC 層的NB和CW的值,并判斷電池電量是否用盡,再初始化不同的BE值.然后等待下一個退避邊緣到來,再進行隨機退避,隨機延遲一個隨機數時隙的退避周期,該隨機數在[0,2BE-1]之間產生.如果超幀CAP階段剩余的時隙小于退避的時隙值,則停止當前退避計時,下一個超幀CAP開始時再重新執行之前的退避計時.隨機退避結束后,進行CCA信道檢測.如果CCA 信道不為空,CW、NB和BE三者重新賦值,CW=2,NB=NB+1,BE=min(BE+1,amaxBE).然后檢測NB值是否大于最大退避次數值,如果大于,則數據發送不成功,訪問失敗,否則就再次隨機延遲,重新進行退避檢測.如果CCA信道為空,執行CW=CW-1,再判斷CW是否等于0,若是,表明數據訪問信道成功,可以發送數據;若否,則返回到CCA 信道檢測任務,重新檢測.

該退避算法解決數據碰撞問題是通過設置退避指數,改變競爭窗口值實現,當退避指數達到極限值,再增加退避次數重新傳輸.該算法有兩個方面的不足,首先是BE值的設定問題,BE在初始化時的值為macminBE,未進入信道時該值隨機退避在0~2minBE間的一個周期,如果網絡節點少,則第一次隨機延時的BE值會選擇過大;如果網絡節點多,BE值需要多次進行加1,會導致網絡功耗增大.其次,本系統是基于智能家居系統的場景,該系統中的煙霧、火焰等報警信息比較重要,在信道中需要優先傳送.但上述算法對數據的傳送都是平等的,溫濕度、光照等非重要的信息可能會先競爭到信道中,進行傳送,而更重要的信息可能無法優先傳送[3].

針對上述問題,本文對CSMA/CA 退避算法從三個方面進行改進.第一,改變NB的大小.由于很多節點同時訪問信道時,發生碰撞概率增大,故降低NB的極限值能夠降低重傳的概率.如果網絡中節點數量較多,NB極限值設小一點,反之,NB極限值設大一點.第二,改變BE的大小.BE值的大小由各數據包的優先級來決定.一旦發生數據碰撞,開始隨機延遲,隨機數不從0~2BE中間選取,而在2BE+1~2amaxBE中間選取該值一個周期的隨機時隙.第三,改變CW的大小.采集數據后,對每個數據包進行優先級的設定.不同優先級的數據包,對應不同大小的CW,如將優先級別高的CW值設為1,優先級別低的CW值設為2,則優先級別高的數據包對信道檢測的時間會變小,降低了網絡的功耗[5].

2 硬件設計

該系統對信號的采集及控制采用CC2530F256芯片,該芯片將射頻收發功能與51 內核集成到同一芯片中,是一個獨立的片上系統.系統中煙霧傳感器采用MQ-2煙霧傳感器,可檢測家庭天然氣、酒精、一氧化碳等氣體;熱釋電紅外傳感器采用HC-SR501,該傳感器功耗低,感應范圍可達7 米距離;溫濕度傳感器采用SHT10 集成芯片,該芯片采集精度高,穩定性高,功耗低;火焰傳感器采用R2868 火焰傳感器.各類傳感器將采集到數據傳送給CC2530F256 主控芯片,芯片將采集到的信號經模數轉換并自組網,控制電燈、風扇、報警器電動門鎖等器件,并將數據傳送到PC 終端,PC 終端存儲傳感器采集的數據及視頻信息,并控制電信網關,實現自動撥打電話功能.安卓移動端可以從云平臺中獲取當前采集的動態數據、視頻數據等,可隨時查看當前數據,并可通過攝像頭對門口人員外貌進行識別,實現遠程開門[6].

本系統對智能家居搭建了一個模擬平臺,如圖2 所示.所有傳感器和控制器件均安裝在平臺上,平臺上方從左到右分別是四個ZigBee 模塊,其中三個附帶繼電器模塊,第二個附帶溫濕度模塊,最右邊是攝像頭;中間一行是風扇、燈泡等器件及煙霧傳感器;最下面一行從左到右分別是紅外對射模塊、兩個ZigBee 模塊(各自集成光照傳感器、熱釋電紅外傳感器等)、數字量I/O模塊.

圖2 平臺搭建實物圖

3 軟件設計

針對前面所述改進的退避算法,其軟件流程圖如圖3 所示.初始化后,為減少重傳次數,先要判斷網絡負載情況,若較大,初始化較小的NB極限值,若較小則初始化較大的值,然后根據優先級高低設置NB與CW的值,高優先級CW=1,低優先級CW=2,再判斷電池電量是否用盡來設置不同的BE值,等待下一個退避邊緣后進行隨機退避.退避結束后進行CCA 信道檢測.若信道忙,CW根據優先級高低重新設為1 或者2,NB重新自加1.只要NB的值未超過上限值,則在[2BE-l,2min(BE+l,amaxBE)-1]間隨機延遲一個周期,從而減少不必要的碰撞,降低網絡功耗,若超過,數據發送失敗.若信道空閑,CW自減1,再判斷CW是否為0,若是,數據發送成功,若否,則重新進行新一輪退避檢測.

圖3 改進的CSMA/CA退避算法流程圖

該系統的軟件分為三個部分,第一部分是下位機CC2530F256 單片機程序的編寫,程序編寫采用模塊化編程,方便移植,主要完成對各類傳感器數據的采集處理,并將數據傳輸給上位機.第二部分是安卓軟件APP開發,通過安卓軟件設計顯示監控界面及采集的數據.第三部分是物聯網云平臺的搭建,實現視頻及采集數據的存儲與管理[7],該系統整體控制流程圖如圖4所示.

圖4 系統控制流程圖

4 測試與分析

該系統模擬平臺搭建完成后,對所有傳感器及ZigBee模塊進行通電檢測,確保所有模塊正常工作.傳感器模塊采集多路數據,經過CSMA/CA退避算法處理,將信號上傳給終端,終端顯示及控制界面如圖5所示,從圖5中可以看到溫濕度、紅外、火焰、可燃氣體等數據,該數據能穩定并可實時顯示,還可實時控制開關門、開關燈、開關排氣扇和窗簾等.

圖5 PC終端測試界面

在CC2530控制模式下,當發生火情時,家中的排風扇會自動打開,減少室內煙霧的濃度,可以讓戶主更加安全地逃離,同時PC 終端通過電信網關報警,如果戶主在外,安卓APP 端也會通知家中發生火情,避免家中有人但沒有覺察到火情而產生危險;氣體傳感器會實時檢測可燃氣體含量,當氣體濃度達到設定值時,排風扇會自動打開;當有障礙物擋住平臺上紅外對射時,紅外對射數據顯示為1,并且提示有人入侵,入侵界面如圖6所示.

圖6 入侵界面

手機端的AAP通過安卓軟件開發,如圖7所示,注冊賬戶并登陸成功后,進入監控界面,該界面上有各個傳感器采集到的各項數據,可實時顯示室內溫度濕度,以及家中是否有火災發生,廚房是否有燃氣泄漏等.當攝像頭檢測到門口有物體移動時,攝像頭可進行自動拍攝,并將圖像數據發送至手機移動端,如果戶主認識圖像中的人,可以直接通過手機進行遠程開門.

圖7 手機安卓端監控界面

5 總結

本系統是基于ZigBee設計的智能家居,利用各種傳感器采集數據,理論上采用改進的退避算法降低信道競爭時間,減少數據重傳,提高數據吞吐量及傳輸效率,降低了網絡功耗.具有采集精度高,處理速度快并可無線組網傳輸等功能,完成了視頻監控、數據遠程監測、遠程開關門等功能,實現電腦和手機雙重監控,保障人們的生活質量,產業前景十分廣闊.

猜你喜歡
安卓信道智能家居
iPhone不卡的秘密曝光:安卓也能享受
信號/數據處理數字信道接收機中同時雙信道選擇與處理方法
基于PLC的智能家居控制系統研究
文物表情包
安卓系統或成智能汽車標配
基于Zigbee的無線通信技術在智能家居中的應用
一種無人機數據鏈信道選擇和功率控制方法
智能家居未來感初體驗
基于導頻的OFDM信道估計技術
基于LabWindows的淺水水聲信道建模
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合