,
(華中師范大學(xué) 物理科學(xué)與技術(shù)學(xué)院,武漢 430079)
物聯(lián)網(wǎng)在中國已經(jīng)發(fā)展了多年,在智能工業(yè)、智能家居、智慧城市等方面都有著越來越廣泛的應(yīng)用前景。但諸如WiFi、藍(lán)牙、ZigBee網(wǎng)絡(luò)等一些主流的物聯(lián)網(wǎng)技術(shù)不能很好解決距離和低功耗之間的矛盾[1]。
為較好的解決這樣的矛盾。2013年8月,Semtech公司發(fā)布了一種新型的基于1 GHz以下的超長距低功耗數(shù)據(jù)傳輸技術(shù)(Long Range,簡稱LoRa)的芯片,LoRa的優(yōu)勢主要體現(xiàn)在遠(yuǎn)距離、低功耗、低成本、覆蓋容量大等優(yōu)點,適合于在長距離發(fā)送小數(shù)據(jù)量且使用電池供電方式的物聯(lián)網(wǎng)設(shè)備[2-3]。越來越多的企業(yè)與城市采用LoRa作為構(gòu)建物理網(wǎng)的基本單元。
隨著城市化的高速發(fā)展,水表作為反饋居民用水信息的直接設(shè)備成為了幾乎所有小區(qū)、寫字樓(商區(qū))必須安裝的基礎(chǔ)設(shè)備之一。如何對龐大且分散的用水信息進行準(zhǔn)確、實時、有效的抄表成為水務(wù)公司及相關(guān)部門急需解決的問題。傳統(tǒng)的人工抄表需要挨家挨戶的抄讀水表,抄表人員繁瑣的將數(shù)據(jù)錄入水務(wù)系統(tǒng)后才能生成賬單[4]。其弊端也變得越來越明顯,主要表現(xiàn)為:針對抄表員勞動強度過大、用戶居住條件限制(偏遠(yuǎn)地區(qū)不利于抄表)、錯超、漏超情況嚴(yán)重,耗費巨大人力與物力、用水信息不能及時反饋、用戶繳費不方便等問題,在智能信息化逐漸普及化的今天,傳統(tǒng)的人工抄表已經(jīng)不能適應(yīng)社會的發(fā)展,智能水表將成為未來的趨勢。
在對一個片區(qū)甚至一座城市的用戶進行數(shù)據(jù)的互聯(lián)與轉(zhuǎn)發(fā)的設(shè)計過程中存在以下問題:其一,與智能電表的設(shè)計方案不同,水表表盤空間只能安置電池,功耗問題是智能水表領(lǐng)域需要優(yōu)先解決的問題。其二,小區(qū)的障礙物眾多以及各式電子設(shè)備以及雷雨天氣引起的電磁干擾嚴(yán)重,急需一種通信能力強勁的無線組網(wǎng)方式。為了解決傳統(tǒng)水表方案設(shè)計上的不足,本文設(shè)計出一套基于LoRa無線通信技術(shù)的智能抄表系統(tǒng)。
基于LoRa的水表抄表系統(tǒng)主要由終端(內(nèi)置LoRa模塊)、中繼、網(wǎng)關(guān)(或稱基站)、服務(wù)器四部分組成。本設(shè)計方案中節(jié)點、中繼與網(wǎng)關(guān)的組網(wǎng)方式采用LoRa組網(wǎng)方式,而網(wǎng)關(guān)與服務(wù)器數(shù)據(jù)的交互采用GPRS組網(wǎng)方式[5]。兩種組網(wǎng)方式的結(jié)合構(gòu)成了如下圖1所示的智能水表的系統(tǒng)總體框圖。
圖1 系統(tǒng)總體框圖
系統(tǒng)運行如下:后臺服務(wù)端要求節(jié)點設(shè)備對其性能參數(shù)進行設(shè)置時,系統(tǒng)將通過GPRS網(wǎng)絡(luò)將指令和參數(shù)傳達給基站/網(wǎng)關(guān),再由基站根據(jù)數(shù)據(jù)幀中攜帶的設(shè)備地址信息匹配相對應(yīng)的節(jié)點設(shè)備:節(jié)點模塊的數(shù)據(jù)主要依靠兩種方式送達服務(wù)器,方式一各節(jié)點的瞬時數(shù)據(jù)被保存在基站的存儲區(qū)域內(nèi),等待服務(wù)器統(tǒng)一采集數(shù)據(jù),方式二由服務(wù)器根據(jù)設(shè)備的ID地址指定節(jié)點模塊將數(shù)據(jù)單獨上傳。
與傳統(tǒng)的網(wǎng)狀網(wǎng)絡(luò)相比,LoRaWAN一般設(shè)計成典型的星型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)[6],這樣可以消除同步開銷和跳數(shù),且系統(tǒng)簡單和功耗低,因此在小區(qū)水務(wù)抄表中多采用星型、鏈路網(wǎng)絡(luò)。
在信道設(shè)計上,同一級的設(shè)備統(tǒng)一設(shè)置SX1278模塊為相同的通信頻道。在LoRa組網(wǎng)中不同級的設(shè)備互聯(lián)將LoRa頻率設(shè)置不同,以此來降低信號間的互相干擾。同時該無線通信模塊具備在線監(jiān)聽空中信道與無線防碰撞的機制。在對一座城市布局LoRa組網(wǎng)的情況下,可以有效的降低節(jié)點、中繼、基站設(shè)備之間的通信誤碼率,增強系統(tǒng)整體網(wǎng)絡(luò)的穩(wěn)定性。
系統(tǒng)MCU統(tǒng)一采用意法半導(dǎo)體的STM32F10x系列芯片,該芯片采用標(biāo)準(zhǔn)Cortex-M3內(nèi)核,最高72 MHz工作頻率[6],其32位的處理性能、豐富的外部接口、強大的數(shù)據(jù)處理能滿足智能水表節(jié)點模塊、中繼模塊以及基站模塊的平臺搭建。同時STM32F10x系列芯片也是一款高性能、低電壓、低價格的產(chǎn)品,比較適合用于中小設(shè)備的應(yīng)用,特別適合微型設(shè)備、儀表和其它電子產(chǎn)品的應(yīng)用。MCU同時支持睡眠、停止以及待機3種低功耗工作模式[7],方便了系統(tǒng)整體的低功耗設(shè)計。
3.1.1 節(jié)點設(shè)備設(shè)計思路
節(jié)點設(shè)備的硬件結(jié)構(gòu)見圖2。前端攝像頭采集模塊主要用于圖像識別表盤上的數(shù)字,以采集水表的實時數(shù)據(jù)。MCU通過SPI接口配置LoRa的工作方式以及基本參數(shù)。該節(jié)點設(shè)備可以響應(yīng)服務(wù)器下發(fā)的指令,將節(jié)點的數(shù)據(jù)信息上傳中繼設(shè)備以及基站設(shè)備,完成記錄用水量,監(jiān)控水表工作狀態(tài)等功能。
初步方案設(shè)計,每月只進行一次抄表和若干次心跳連接,這樣的方案設(shè)計可以降低能耗,電源模塊采用兩節(jié)3600 mAh電池供電,主控芯片與LoRa射頻模塊的低功耗模式下理論上可讓節(jié)點設(shè)備工作3~5年。
圖2 節(jié)點設(shè)備結(jié)構(gòu)示意圖
3.1.2 中繼設(shè)備設(shè)計思路
中繼設(shè)備一般布置在小區(qū)的屋頂(寫字樓商區(qū)頂部)或野外空曠地區(qū),中繼設(shè)備的硬件結(jié)構(gòu)見圖3。一臺中繼設(shè)備可互聯(lián)多臺節(jié)點設(shè)備。前端射頻模塊與該臺中繼設(shè)備互聯(lián)的節(jié)點設(shè)備工作在同一通信頻段,保證數(shù)據(jù)可以轉(zhuǎn)發(fā)到中繼設(shè)備,延長LoRa組網(wǎng)的通信距離。與之相對的,后端射頻模塊與基站(網(wǎng)關(guān))工作在不同頻段上。這樣的設(shè)計是保證中繼與多個終端通信為時分信道,中繼間則為不同頻率的信道。前后端射頻模塊的設(shè)計以降低中繼設(shè)備轉(zhuǎn)發(fā)數(shù)據(jù)過程中可能存在的通信碰撞問題。
圖3 中繼設(shè)備結(jié)構(gòu)示意圖
3.1.3 基站設(shè)備設(shè)計思路
基站設(shè)備主要負(fù)責(zé)網(wǎng)絡(luò)通信指令的下達、數(shù)據(jù)的上傳與下載、系統(tǒng)狀態(tài)的檢測以及管理功能。GPRS模塊相當(dāng)于基站設(shè)備的網(wǎng)關(guān),將硬件數(shù)據(jù)通過TCP/IP報文的方式傳輸給后臺服務(wù)器?;驹O(shè)備的硬件結(jié)構(gòu)如圖4所示。基站一般部署在一個城市的中心,用戶流量較為集中的地區(qū)。當(dāng)網(wǎng)絡(luò)搭建完成后,中繼設(shè)備可以自動搜索所在區(qū)域信號較好的基站設(shè)備。由于基站在小范圍的網(wǎng)絡(luò)互聯(lián)中扮演重要的角色,幾乎系統(tǒng)絕大部分的功能都依賴基站來實現(xiàn),現(xiàn)給基站設(shè)備擴展了RS232接口,為后期系統(tǒng)的維護、應(yīng)急管理提供方便。
圖4 基站/網(wǎng)關(guān)設(shè)備結(jié)構(gòu)示意圖
在系統(tǒng)上電后調(diào)用BSP_Init()函數(shù),對電路設(shè)備的硬件進行初始化。為了有效的降低系統(tǒng)靜默模式下的功耗,前端/中繼/基站的MCU都采取了休眠到喚醒,最后到休眠的循環(huán)工作方式。按照通信雙方的約定需要可以實現(xiàn)3種通信模式。包括透明廣播模式、定點傳輸模式以及空中喚醒模式。其中空中喚醒模式,使發(fā)送方自動添加喚醒碼,定點喚醒目標(biāo)模塊。喚醒Sx1278設(shè)備后進行射頻通信,完成通信后繼續(xù)進入休眠狀態(tài)。
3.2.1 應(yīng)用層通信協(xié)議設(shè)計
協(xié)議設(shè)計的優(yōu)劣直接決定了設(shè)計方案整體的智能化水平。對應(yīng)用層進行了自定義協(xié)議設(shè)計,其無線抄表方式分為定時抄表,以及單播、廣播抄表。在節(jié)點設(shè)備與中繼設(shè)備,中繼設(shè)備與基站設(shè)備之間建立一對多的映射關(guān)系。方便遠(yuǎn)程服務(wù)器對硬件設(shè)備進行網(wǎng)絡(luò)管理。本抄表系統(tǒng)報文格式為下表1所示,報文長度為1 byte定長字節(jié)。當(dāng)服務(wù)器需要自上而下獲取節(jié)點設(shè)備的基本信息,將這些交互指令以功能碼的形式添加到通信的報文格式中。
表1 通信報文格式
如表2所示,節(jié)點設(shè)備與中繼設(shè)備,中繼設(shè)備與基站設(shè)備之間遵循主從的通信方式。本文設(shè)計了一系列指令功能碼,隨著系統(tǒng)的不斷完善和功能的逐漸豐富可以不斷的增加功能碼的內(nèi)容。主設(shè)備可以通過發(fā)送0xffff獲取硬件設(shè)備的地址信息、發(fā)送0x0101獲取從設(shè)備的出廠信息(出廠日期,經(jīng)度緯度)、發(fā)送0x0102獲取當(dāng)前設(shè)備的時間戳,獲取硬件設(shè)備的時間信息、發(fā)送0x0103獲取水表設(shè)備的電壓瞬時值,當(dāng)工作電壓低于閾值時,通知維護人員及時維修設(shè)備、發(fā)送0x0201要求從設(shè)備重發(fā)上一條通信指令。
表2 水表數(shù)據(jù)幀部分命令及含義
3.2.2 應(yīng)用層軟件設(shè)計
1)節(jié)點設(shè)備軟件設(shè)計。
現(xiàn)采集節(jié)點的設(shè)計流程圖如圖5所示。節(jié)點設(shè)備定時被喚醒,向服務(wù)器上傳水表的數(shù)據(jù)。也需要通過LoRa網(wǎng)絡(luò)以輪詢的方式監(jiān)聽串口,在收到數(shù)據(jù)幀且校驗通過后,解析數(shù)據(jù)幀中的功能碼,執(zhí)行對應(yīng)的功能指令,向服務(wù)器反饋節(jié)點設(shè)備的數(shù)據(jù)。在成功向服務(wù)器傳輸數(shù)據(jù)后,定時重新進入休眠模式,以此實現(xiàn)低功耗。
圖5 采集設(shè)備流程圖
2)基站設(shè)備軟件設(shè)計。
基站設(shè)備的主程序流程圖如圖6所示,外圍設(shè)備事件都是通過中斷來驅(qū)動的。
當(dāng)執(zhí)行一個指定目標(biāo)節(jié)點設(shè)備的抄表指令時。中斷向量函數(shù)監(jiān)聽到LoRa數(shù)據(jù),根據(jù)通信協(xié)議中的數(shù)據(jù)幀格式向目標(biāo)節(jié)點設(shè)備反饋通信事件。基站設(shè)備與節(jié)點設(shè)備之間建立了超時重連機制,基站設(shè)備在響應(yīng)完事件后重新進入事件監(jiān)聽階段。
依靠該基站設(shè)備的軟件設(shè)計,可有效的管理各個任務(wù)依據(jù)中斷優(yōu)先級處理不同的任務(wù),做到及時響應(yīng)事件,讓基站設(shè)備在系統(tǒng)中發(fā)揮核心作用。
圖6 基站設(shè)備流程圖
為了驗證智能水表的通訊性能,在武漢市華中師范大學(xué)校園內(nèi)教學(xué)區(qū)進行實地抄表實驗,實驗在如圖7所示的教學(xué)樓進行,教學(xué)樓結(jié)構(gòu)為地上14層,地下2層。實驗條件如下:將節(jié)點水表設(shè)備(圖8)安置在任意樓層,基站/網(wǎng)關(guān)設(shè)備(圖9)固定安置在14層天臺處。數(shù)據(jù)庫部署在阿里云服務(wù)器。
圖7 教學(xué)樓 圖8 水表節(jié)點設(shè)備
實驗時,實驗人員手動發(fā)送SendData,數(shù)據(jù)成功錄入至數(shù)據(jù)庫中即為1次通訊成功。實際測試結(jié)果地上1層到地上14層通信成功,地下1層與地下2層不能通信??偨Y(jié)可能的原因為地下兩層為學(xué)校的電磁實驗室且樓層結(jié)構(gòu)與上14層存在較大不同。
有效距離測試條件如圖10所示,中繼/網(wǎng)關(guān)與節(jié)點設(shè)備的安置在圖10中進行標(biāo)注,兩地直線距離為3.35 km。該段區(qū)域主要為校園內(nèi)的林蔭大道,無明顯的障礙物,測試天氣晴朗。
圖9 基站/網(wǎng)關(guān) 圖10 有效距離測試示意圖
用LoRa設(shè)備進行的透明傳輸實驗,改變LoRa通信模塊的空口傳輸速率,實測最遠(yuǎn)通信距離為4.45 km,實驗結(jié)果如表3所示,隨著LoRa模塊的空中速率逐漸增大,兩模塊間的通信距離逐漸降低。廠家提供的LoRa模塊發(fā)射功率為0.1瓦時,理論通信距離最大可達3 km,實際在華中師范大學(xué)校園內(nèi)測試的最遠(yuǎn)通信距離達到1.63 km,幾乎是在視距無遮擋條件下,此時LoRa模塊的空中速率為2.4 kbps。在1.63 km的距離能夠保證良好通信,對LoRa的空速進行調(diào)節(jié),當(dāng)速率增大到19.2 kbps時,最大通信距離下降到1.31 km。
表3 空曠區(qū)域LoRa通信結(jié)果
從功耗方面看,LoRa模塊的SX1278休眠電流為1 μA,主芯片STM32f103VCT6深度休眠電流為25 μA,實測為30 μA,加上晶振等一些外圍電路,電流預(yù)估的休眠電流為30 μA,實測電流為35 μA。電路在正常工作狀態(tài)下的電流為60 mA滿足了設(shè)計預(yù)算[8]。從整個水表的功耗計算來看,采用兩節(jié)3600 mAh的電池,在規(guī)定的3~5年的時間內(nèi)可以滿足實際需求,不過這還只是一個預(yù)算值,待后期大量的實驗來驗證。
為了驗證采集系統(tǒng)的有效性。由部署在阿里云服務(wù)器負(fù)責(zé)將節(jié)點采集的數(shù)據(jù)錄入數(shù)據(jù)庫中。實驗條件如下:設(shè)置服務(wù)端ip地址“106.14.115.183”,端口為“8080”。對節(jié)點設(shè)備編號為17的水表進行30分鐘一次的數(shù)據(jù)采集工作,其顯示的采集結(jié)果可以在圖11所示的數(shù)據(jù)庫表格中直觀的看到,從下午18:00到凌晨5:30的夜間時段對水表進行了24次心跳測試。在保證數(shù)據(jù)上傳不丟幀的情況下系統(tǒng)延時可控制在1分鐘可接受范圍之內(nèi),系統(tǒng)整體運行狀態(tài)良好。在長期測試環(huán)境下,可以保證良好的通信,抄表率為98%~100%之間。
圖11 后臺數(shù)據(jù)采集
本文介紹了LoRa相關(guān)的技術(shù)特點,分析了智能水表的應(yīng)用場景需求,提出一套基于LoRa無線通信技術(shù)的智能水表系統(tǒng)設(shè)計方案,從設(shè)計方案的軟硬件部分分別展開論述,對方案的通信協(xié)議與可實施性做出了詳細(xì)的論述。最后就反映系統(tǒng)通信能力的通信距離與低功耗性能兩個重要指標(biāo)做了測試分析,并在長期抄表測試部分驗證了系統(tǒng)的合理性與穩(wěn)定性。實驗主要在學(xué)校的教學(xué)樓與無障礙物的林蔭道進行,具有一定程度的適用性。
總結(jié)分析最后的實驗結(jié)果驗證了LoRa網(wǎng)絡(luò)為智能系統(tǒng)整體提供了低功耗、遠(yuǎn)距離傳輸?shù)奶匦?,實現(xiàn)面向用戶的遠(yuǎn)程管理最終實現(xiàn)水表的智能互聯(lián)[9]。LoRa組網(wǎng)不僅是對現(xiàn)有的無線網(wǎng)絡(luò)很好的補充,其本身也是一種高效便捷的硬件組網(wǎng)方案。
本文所介紹的智能水表系統(tǒng)仍然存在許多可以完善的地方,在不遠(yuǎn)的將來作為智能三表[10]中的智能水表最終會改變?nèi)藗兊纳罘绞健?/p>
參考文獻:
[1] 龔天平. LORA技術(shù)實現(xiàn)遠(yuǎn)距離低功耗無線數(shù)據(jù)傳輸[J].電子世界,2016,10:115-117.
[2] 趙 靜, 蘇光添. LoRa無線網(wǎng)絡(luò)技術(shù)分析[J]. 移動通信,2016,40(21):50-57.
[3] 黃增波, 葉錦嬌, 趙華瑋. 基于LoRa技術(shù)的低功耗無線錨桿應(yīng)力傳感器設(shè)計[J]. 煤礦現(xiàn)代化,2017(1):39-42.
[4] 張恩滿,趙春煥,鐘晨,丁淵明,聶西利. 基于LoRaWAN的遠(yuǎn)程抄表系統(tǒng)[J]. 建設(shè)科技,2017(6):41-43.
[5] 趙太飛,陳倫斌,袁麓,胡小喬. 基于LoRa的智能抄表系統(tǒng)設(shè)計與實現(xiàn)[J]. 計算機測量與控制,2016,24(9):298-301.
[6] 王昌達, 鞠時光. 無線組網(wǎng)技術(shù)中的安全問題[J]. 計算機科學(xué),2006(7):121-126.
[7] 劉火良, 楊 森. STM32庫開發(fā)實戰(zhàn)指南[D]. 北京:機械工業(yè)出版社,2013.
[8] 羅貴英. 基于LoRa的水表抄表系統(tǒng)設(shè)計與實現(xiàn)[D].杭州:浙江工業(yè)大學(xué),2016.
[9] 趙 靜. 低速率物聯(lián)網(wǎng)蜂窩通信技術(shù)現(xiàn)狀及發(fā)展趨勢[J]. 移動通信,2016,40(7):27-30.
[10] 羅明鳳,周 燕. 智能小區(qū)水電氣三表集抄系統(tǒng)研究[J]. 信息技術(shù)與信息化,2014(6):125-126.