趙永志
(上海電力大學 電子與信息工程學院,上海,201306)
近年來,隨著我國電子技術和網絡通信技術的高速發展,越來越多的新技術,特別是無線數據傳輸技術,已經應用于自動抄表系統中[1]。在老舊小區升級改造中,采用無線數據傳輸技術進行遠程抄表可有效降低重新布線升級成本過高的問題。目前市面上大多數無線遠程抄表方案大多使用4G、NBIoT、Lora方式,在電表中內置無線通訊模塊,升級改造時需更換電表,成本較高。且上述無線通信方式需繳納一定的網絡通信資費,電表數量較多時網絡維護費用較高[2]。并且根據遠程抄表工作特點,抄表時同一區域內大量通信模塊需要并發通信,存在網絡阻塞的問題,降低集抄成功率。
2017年藍牙技術聯盟發布了新的藍牙Mesh網絡協議。全新的Mesh網絡打破了傳統的一對一、一對多的連接方式,以廣播中繼的方式提供設備間多對多傳輸,最大可容納65535個設備節點。并特別提高構建大范圍網絡覆蓋的通信能力,適用于樓宇自動化、無線傳感器網絡等需要讓數以萬計個設備在可靠、安全的環境下傳輸的物聯網解決方案[3]。窄帶物聯網(Narrow Band Internet of Things, NBIoT)是物聯網(IoT)領域一個新興的技術,具有低成本低功耗的特點,可降低通訊方面維護成本,已成為支撐用電信息采集系統數據采集的另一種技術方案[4]?;贐le Mesh和NB-IoT網絡技術,設計了一個遠程抄表系統,采用免費的藍牙Mesh網絡傳輸數據,僅保留一個NB-IoT模塊進行數據上傳,降低了網絡資費,避免了抄表時并發導致的網絡阻塞的問題和傳統抄表方式的輪詢時延。實驗表明,該系統的單跳有效通信距離達到150m,能夠很好地滿足實際需要。
本系統的硬件組成主要包括采集節點、中繼節點、帶NB-IoT的匯聚節點和配網設備4個部分。
配網設備用于組建Mesh網絡。配網設備可為安裝特定APP的智能手機或其他類似功能的嵌入式設備,用以認證設備入網,設置網絡密鑰、應用密鑰、TTL值和模型發布/訂閱地址等內容。
匯聚節點負責接收和下發抄表指令并收集Mesh網絡內數據并上傳。在成功建立網絡后,通過NB-IoT模塊接收管理中心抄表指令并在網絡內向采集節點訂閱的組地址發布查詢命令,等待采集節點返回收集的用電數據,并將用電數據校驗、壓縮,通過NB-IoT網絡將數據回傳到管理中心。利用免費的藍牙Mesh網絡去傳輸用電信息,并在每個區域內只使用一個NB-IoT模塊對抄表指令和用電數據進行傳輸,和以往在每個電表上安裝NB-IoT模塊的抄表方案,能有效降低網絡運行費用,降低成本[5]。
中繼節點用來擴展網絡的覆蓋范圍,增加網絡傳輸的穩定性。雖然新版本的藍牙協議已經支持上百米的傳輸距離,但在一些節點間距過大、信號阻隔的場景下,如地下室、天井等,匯聚節點的單跳廣播傳輸半徑無法囊括所有采集節點,此時就需要中繼節點進行數據包的中繼和轉發,保證抄表指令和用電數據能夠準確到達。同時,藍牙Mesh網絡采用采用洪泛機制進行數據傳輸,即使某個節點出現問題,數據還可通過其他路徑到達目標節點,保證了抄表系統的穩定性。
采集節點用來采集用戶電表數據。通過M-Bus協議對用戶的電表數據進行讀取,并將用電數據打包發送至匯聚節點單播地址,經中繼節點轉發后,最終傳輸至匯聚節點。為保障采集節點的長時間工作,采用定時中斷喚醒機制,在收到中繼節點轉發的抄表指令后,進行用電數據采集和上傳。
系統整體框圖如圖 1 所示。

圖1 系統整體框圖
Mesh 模型是藍牙 Mesh 協議中基礎業務單元,定義了特定功能的實現及交互流程。在本系統中,采用標準Sensor模型用來傳輸數據,儀表數據作為Sensor模型數據,通過標準模型指令進行讀取控制。采用客戶端、服務端架構,其中匯聚節點作為Sensor Client,用來發布查詢指令。Mesh網絡內的采集節點作為Sensor Server,用來響應查詢信息。
藍牙Mesh網絡中支持三種地址,分別為單播地址、組地址和虛擬地址。在本系統中,每個節點都有其自身單播地址,整個抄表系統設置一個抄表組地址。在配網時,匯聚節點發布地址設置為抄表組地址,采集節點訂閱地址為抄表組地址,保證下發采集指令時,網內采集節點都可以接收到采集指令。同時采集節點發布地址為匯聚節點單播地址,保證電表數據僅能由擁有對應APP Key的匯聚節點進行解析,保證用戶數據的隱私性。
在硬件節點的設計過程中,藍牙模塊選用了Nordic公司推出的低功耗片上系統nRF52833藍牙芯片。nRF52833是業界領先的nRF52系列SoC系列中的第五款產品,圍繞帶有浮點運算單元(FPU)的64MHz Arm Cortex-M4而構建,并具有512KB Flash、128KB RAM內存和+8dBm輸出功率,適用于需要強大覆蓋范圍的先進智能家居應用。
匯聚節點主要目的是接收管理中心的抄表指令、下發和收集采集節點數據上傳至管理中心。其主要結構包括nRF52833藍牙模塊、NB-IoT模塊、電源模塊。nRF52833藍牙模塊為節點控制和數據處理核心,運行BLE Mesh協議棧,作為Mesh網絡內節點用來收發網內數據。NB-IoT模塊采用有人物聯網的WH-NB75-BA模塊,最大數據長度512字節,內嵌了CoAP協議,提供透傳模式,易于開發,并支持PSM模式自動切換,降低功耗。在本系統中用以接收電力管理平臺的指令,和藍牙模塊間通過UART串口進行連接,通過AT指令進行數據交互,用來收取管理中心指令和將匯聚節點收集到的儀表數據上傳至管理中心。其硬件結構如圖2所示。

圖2 匯聚節點硬件框圖
采集節點用來讀取電表數據并上傳。目前大多數電表都預留485接口,支持M-Bus協議進行數據交互。而藍牙芯片所用電平為TTL電平,與電表進行交互需進行電平轉換。采用MAX485驅動電路完成電平轉換,并通過M-bus協議進行數據交換,將收集到的電表數據作為Sensor Server模型數據,待收到抄表指令后,將模型數據發送至匯聚節點對應的Sensor Client模型中。其硬件結構如圖3所示。

圖3 采集節點硬件框圖
中繼節點用來將收到的數據包進行廣播中繼,擴大傳輸范圍。硬件方面結構較為簡單,即在采集節點的基礎上去除電平轉換接口。另靠近匯聚節點的中繼節點將會進行大量的廣播中繼,能量損耗較高,電源模塊采用雙供電模式,即采用3.7V鋰電池供電和市電供電,其中市電供電為主供電,若市電供電故障,則自動切換至鋰電池供電。
配網設備負責組建BLE-Mesh網絡,認證設備入網、保存網絡的配置信息和刪除節點等。以nRF mesh APP為例,通用流程包括網絡密鑰和應用密鑰的分發、設備的認證入網,節點的單播地址分配等內容。在本系統中,還需新建抄表組地址,并將匯聚節點的Sensor Client模型的發布地址、采集節點Sensor Server模型的訂閱地址設置為該組地址,并且將采集節點Sensor Server模型的發布地址設置為匯聚節點單播地址。
當配網設備構建Mesh網絡成功后,管理平臺通過NBIoT網絡下發抄表指令,匯聚節點通過NB-IoT模塊接收對應指令,并根據指令向Mesh網絡內組地址發布抄表指令。當采集節點數據返回后,匯聚節點將采集到的本區域的儀表數據打包,采用“AT+NMGS+數據長度+用電數據”的AT指令傳輸至NB-IOT模塊,通過NB-IoT網絡將其發送到管理中心。若成功發送則會收到“OK”指令回復,若在發送后2s內未收到回復指令,且重發次數小于3次,則會重新發送采集數據,保證用電數據的準確到達。匯聚節點程序設計流程如圖4所示。

圖4 匯聚節點程序流程圖
中繼節點經配網設備配置入網后,便會周期性地偵聽無限電收發范圍內的數據包,并解析數據包的目的地址、序列號和TTL值。若收到目的地址非本節點的數據包,則根據緩存序列號判斷是否為已中繼信息,若未中繼且TTL值大于1,則將此數據包進行廣播中繼,并將其TTL值減1。中繼節點程序設計流程如圖5所示。

圖5 中繼節點程序流程圖
采集節點經配網設備配置入網后,等待中繼節點轉發的數據采集指令,根據指令向電表發送查詢命令,等待電表返回用電數據。信息交互遵循M-Bus協議,通過約定波特率向電表查詢特定地址的寄存器信息,包括瞬時電壓、瞬時電流、有功總電能等數據。采用接收中斷方式等待返回數據,并進行CRC校驗,判斷數據的準確性。當采集數據完成以后,將用電數據發送到匯聚節點的單播地址,完成本次數據采集過程。采集程序設計流程如圖 6 所示。

圖6 采集節點程序流程圖
為驗證系統的可靠性,設置1個匯聚節點、2個中繼節點和4個采集節點,所用電表為正泰DDSU666單相式485電能表。通過BLE Mesh網絡傳輸采集的用電數據,并由NB-IoT網絡發送至管理平臺。經測試,單跳傳輸距離可達100米,Mesh網絡中抄表四個節點時延在200ms以內,時延瓶頸主要在NB-IoT網絡傳輸時,在網絡穩定情況下,一次集抄時延約在5s左右。經測試,第一次集抄成功率為98%,第二次集抄成功率達到99.9%。
本文提出并設計了一種基于BLE-Mesh與NB-IoT技術的遠程抄表系統。該系統提供了一種資費低、容量高、延時短的遠程抄表方案,具有一定的實用價值和經濟價值。但是,實驗所用的節點數量過少,無法評估在大節點數量場景中的表現,且BLE-Mesh采用泛洪方式進行數據傳輸,存在數據包重復、資源浪費等情況[6],在今后的研究中會致力于解決這些問題。