


摘 ?要:隨著物聯網的迅猛發展,物聯網設備正呈現出爆發式增長。采用ZigBee技術進行數據采集的應用場景越來越多,隨著數據量的激增,ZigBee構成的無線傳感器暴露出高能耗、低帶寬、高沖突等缺點。該文基于Wi-Fi和WSN共用2.4 GHz頻段的特點,設計一種跨協議通信算法實現ZigBee節點和Wi-Fi節點之間直接通信,使得ZigBee節點專注于數據采集,Wi-Fi節點則實現數據傳輸,從而解決了傳統物聯網存在的以上問題,并把該算法用于溫度采集系統。
關鍵詞:物聯網;ZigBee;Wi-Fi;跨協議通信;溫度采集
中圖分類號:TP274 ? ? ? 文獻標識碼:A 文章編號:2096-4706(2020)21-0174-04
A Temperature Acquisition System Based on Cross Protocol Communication
LI Xiaoyu
(Dalian Rongke Power Co.,Ltd.,Dalian ?116025,China)
Abstract:With the rapid development of internet of things,internet of things equipment is showing explosive growth. There are more and more application scenarios using ZigBee technology for data acquisition. With the rapid growth of data volume,ZigBee wireless sensor(WSN)has exposed the shortcomings of high energy consumption,low bandwidth,high conflict and so on. Based on the characteristic that Wi-Fi and WSN share 2.4 GHz frequency band,the article designs a cross protocol communication(CTC)algorithm to realize the direct communication between ZigBee node and Wi-Fi node,which makes ZigBee node focus on data acquisition and Wi-Fi node realize data transmission,so as to solve the above problems of traditional internet of things,and applies the algorithm to temperature acquisition system.
Keywords:internet of things;ZigBee;Wi-Fi;cross protocol communication;temperature acquisition
0 ?引 ?言
物聯網技術的迅猛發展使得物聯網設備呈現出爆發式增長。運用ZigBee技術進行數據采集的情況越來越多。然而,隨著數據量的猛增,ZigBee構成的無線傳感器(WSN)具有的高能耗、低帶寬、高沖突等缺點暴露出來。
目前Wi-Fi和ZigBee技術共用ISM頻段(2.4 GHz)。所謂的ISM頻段是指:工業的(Industrial),科學的(Scientific),醫學的(Medical),各國共同遵循的某個頻段為上述三個行業機構使用,而不需要許可證或費用。但是隨著智能家居、智能醫療、工業監控等技術的不斷發展,物聯網的規模變得越來越大。顯然上述技術共用一個頻段,必然會導致頻譜資源擁擠和短缺,也會造成不同技術之間存在競爭和干擾問題。在實際環境中,Wi-Fi和ZigBee相互干擾實驗結果表明,不同的Wi-Fi流量負載下,ZigBee網絡的丟包率在0%到85%之間變化。但是在這些不同的無線通信技術中,傳統的網絡協調方法并不能完全適用(如RTS/CTS、TDMA等)。
為了協調這些技術,解決競爭和干擾問題,科研工作者提出了許多解決方案。一種傳統方式是,科研工作者采用一種特殊的網關來橋接不同的通信技術。以Wi-Fi和ZigBee為例,這個網關需要同時具有Wi-Fi和ZigBee接口,并且為了實現這兩者之間的數據交互,內部需要對接收到的數據包進行解碼,然后再編碼成另一種技術的數據包發送出去,這樣就可以實現這兩種技術之間的通信。通過這種網關的方式,不同的通信技術之間可以進行協調和協作,利用不同通信技術的特點,實現更好的服務。顯然,這種方式存在著一些缺點:首先是這種方式需要設計和實現這種網關,增加了硬件生產的成本和維護成本;其次,如果網絡的節點數目巨大,如ZigBee網絡,那么這個網關就可能成為整個網絡中的流量瓶頸,使得整個網絡的服務質量下降;另外,如何部署網關節點也是一個重要的研究問題。另一種方案則是采用了一種稱為“反向散射”的方法。這種方法主要包括一個特殊的無源標簽和一個發射接收器。其基本原理是無源標簽接收從發射器發射出的能量,然后調制出相應的信息并散射出去,而接收器對反向散射信號進行解碼。BackFi通過這種方式實現了Wi-Fi和IoT傳感器之間的交互。其基本操作方式是Wi-Fi可以和普通的用戶端進行通信,但同時能夠對IoT傳感器上配備的無源標簽調制的信號進行解碼,從而對IoT傳遞的數據進行恢復。由于其僅是依靠無源標簽實現二者交互,相較于上面的網關方式,需要的功率幾乎可以忽略不計。但是這種方式同樣會增加硬件成本。
本文則采用跨協議通信(CTC)解決以上問題。CTC是在已經生產商用的物聯網設備上實現了它們之間的直接通信,即使它們之間遵循的是不同通信協議。這大大降低了生產專用硬件的成本,而且無需再在現有的網絡維護上添加成本,同時也不需要改變網絡的部署方式。顯然,跨協議通信更加適合物聯網設備的應用場景,并且能夠和已經存在的數以十億計的設備兼容。總之,跨協議通信就是指在不添加或者補充額外硬件的情況下,實現在相同頻段的不同通信技術之間的直接通信。
大連融科儲能技術發展有限公司為主要從事儲能解決方案及液流儲能電池工程化、產業化的高技術企業,建有液流儲能電池研發中心和中試生產車間,目前公司需要采用物聯網節點檢測車間設備的運行情況,因此本研究可以解決車間物聯網數據的高效傳輸問題。
1 ?系統設計
1.1 ?系統概述
該系統包含ZigBee發送端和Wi-Fi接收端,如圖1所示。ZigBee發送端對要發送的“0-1”信息按照設計的編碼方式進行編碼,然后采用編碼所對應的發射功率發送數據包。Wi-Fi接收端運行解碼器,將計算得到的RSS數據通過RSS識別器對發送的ZigBee數據包進行識別,然后進行解碼得到對應的消息,從而知道ZigBee發送端傳輸過來的信息。
1.2 ?ZigBee發送端
CC2530大約有16種發射功率。一個簡單的想法就是一種功率表示一種狀態。那么16種發射功率可以表示的數據為0000~1111。但是由于環境噪聲的影響,Wi-Fi端很難精確地識別每個發射功率等級(其實CC2530本身發射功率等級之間相差也不大),所以這種方式太過理想化。
為了能夠實現高吞吐率,盡可能地在單位時間內多傳輸數據,同時保證Wi-Fi接收端足夠準確地對其進行識別解碼,本文考慮利用發射功率之間的變化來構建“0-1”數據。即兩個ZigBee數據包之間的能量差足夠大的話表示符號“1”,兩個ZigBee數據包之間的能量差足夠小的話表示符號“0”。如果存在n+1個ZigBee數據包,使用這種方式可以傳輸n個比特數據。圖2所示為該編碼方式編碼“100110”的情形。
1.3 ?Wi-Fi接收端
Wi-Fi接收端包含兩個重要的模塊:RSS識別器和解碼器。RSS識別器模塊主要采集并識別ZigBee節點發送過來的信號強度;而解碼器模塊則把ZigBee節點發送過來的經過編碼的信號還原成原始信號。
1.3.1 ?RSS識別器
Atheros公司的Ath9k網卡提供內建的頻段掃描功能,可以對指定的頻段進行監測掃描,并計算RSS。可以通過下列公式計算信號的RSS,公式表示的是Wi-Fi第i個子載波的大小。
其中,nf為環境噪聲大小,RSSI為網卡計算所得,b(i)為第i個子載波功率大小。
本文采用無監督學習K-means聚類方法對不同能量值數據進行處理,提出了一種基于時域和頻域特點的簡單輕量級的識別ZigBee數據包的雙向閾值法,該方法可以清晰地分辨出哪些是高能量的ZigBee數據包,哪些是低能量的ZigBee數據包。
無監督學習方法不需要知道數據的特點,通過學習找到其中的規律,通過數據之間的內在聯系和相似性將它們分成若干類。在所有無監督學習方法中K-means方法在處理本研究場景數據時表現得最好,識別ZigBee數據包的準確度最高。
圖3(a)為數據的時域(T)表示,無論是高能量或者低能量數據包都會存在一個躍升和下降,并且存在一定的時間長度。因此我們可以利用前后兩個時間點的差值來構建閾值。只要滿足閾值,那么我們就可以確定ZigBee數據包的開始部分和結束部分。
圖3(b)為數據的頻域(F)表示,無論是高能量ZigBee數據包還是低能量數據包,RSS都呈現出一種“山峰”的形狀。為了能夠將其他不需要的信號過濾掉,我們首先利用貝塞爾曲線方法將折線光滑化,再通過計算位于ZigBee信道兩端的曲線斜率。只要左端斜率足夠大,右端斜率足夠小,那么就可以認為這是一條ZigBee數據。
1.3.2 ?解碼器
(1)解碼窗口大小確定。由于環境不同,參數設置不同,解碼窗口都會發生變化。為了增強系統的普適性,減少人工操作和部署難度。本文提出了一種基于初始化的方法來確定解碼窗口大小。具體流程圖如圖4所示。在得到窗口大小之后,顯然解碼窗口大小也是波動的,因此需要計算合理的偏移量,才能增強整個系統的魯棒性。本文通過大量實驗發現,大部分的解碼窗口大小波動在[0,2]的范圍內,因此可以設置偏移量的大小為2。
(2)解碼過程如圖5所示。計算得到RSS平均值之后,維持一個緩沖區,每當有ZigBee數據包RSS平均值得到之后,加入到其中。當緩沖區滿了之后,開始計算前后值之差,如果差值滿足之前編碼設計(大的能量差表示符號“1”,小的能量差表示符號“0”),將結果“1”或“0”輸出到符號隊列SymList。Wi-Fi接收端直接從SymList中取出符號重構ZigBee發送端發出的消息。
2 ?實驗演示
為了展示該系統框架的有效性,本節選擇ZigBee端對實時溫度進行監控,在ZigBee端監測到溫度之后,通過選擇編碼方式將溫度數據發送出去;而與此同時,Wi-Fi運行解碼程序,將ZigBee端發送過來的數據進行解析并展示。我們在聯想G50筆記本和商用ZigBee芯片CC2530上實現了上述系統,其中G50筆記本上運行的是Ubuntu 16.04系統并自帶Atheros公司的AR9565網卡芯。場景圖和結果圖如圖6、圖7所示。
3 ?結 ?論
針對公司采用物聯網節點檢測車間設備的運行情況所需解決車間物聯網數據的高效傳輸問題,文章綜合考慮Wi-Fi和WSN共用2.4 GHz頻段的優點,實現了數據采集以及數據傳輸的功能分離。本系統中,ZigBee節點用于數據采集,而Wi-Fi節點則實現數據傳輸,從而解決了公司物聯網存在的問題。并且本論文把該算法用于溫度采集系統驗證了算法的有效性。下一步工作將會在真實的車間環境下實現CTC系統,實現數據的大規模傳輸。
參考文獻:
[1] VIVEK G V,SUNIL M P. Enabling IOT services using WIFI-ZigBee gateway for a home automation system [C]//2015 IEEE International Conference on Research in Computational Intelligence and Communication Networks (ICRCICN).IEEE,2015:77-80.
[2] GUO X Z,HE Y,ZHENG X L,et al. ZIGFI:Harnessing Channel State Information for Cross-Technology Communication [J].IEEE/ACM Transactions on Networking,2020,28(1):301-311.
[3] KIM S M,HE T. FreeBee:Cross-technology Communication via Free Side-channel [C]//Proceedings of the 21st Annual International Conference on Mobile Computing and Networking.New York:Association for Computing Machinery,2015:317-330.
[4] JIANG W C,YIN Z M,KIM S M,et al. Transparent cross-technology communication over data traffic [C]//IEEE INFOCOM 2017 - IEEE Conference on Computer Communications.IEEE,2017:1-9.
作者簡介:李曉宇(1980.06—),男,漢族,黑龍江延壽人,重大項目管理部部長,碩士研究生,研究方向:儲能項目管理、控制等。