歐浩源 胡平峰
(1、廣東職業技術學院,廣東 佛山 528041 2、深圳蜜獾智抄科技有限公司,廣東 深圳 518102)
隨著物聯網、大數據、人工智能技術的日益成熟,智能水表集抄系統也逐漸向全無線抄收升級。在低功耗遠距離的LoRa無線技術出現之后,遠距離全無線的水表集抄系統已然成為行業的一種發展趨勢。小區中的水表計量終端抄收到水表數據后,通過LoRa無線網絡發送到LoRa數據集中器,再由數據集中器通過NB-IOT或CAT1的遠程方式傳送到自來水公司的管理系統和數據庫。然而,在一些環境條件較差的小區中,會出現一些LoRa無線信號盲區。處于這些信號盲區的水表計量終端無法通過LoRa無線信號與數據集中器進行連接,從而在集抄系統中形成了一個信息孤島,無法做到集抄系統的LoRa無線信號全覆蓋。本文提出了一種水表集抄系統中的LoRa無線補盲網關,在無線信號盲區和LoRa無線網絡之間構建一個通信橋梁,將信息孤島重新接入水表無線集抄系統,以解決小區LoRa無線網絡中信號盲區的終端接入和數據傳輸問題,從而實現智能水表集抄系統的無線網絡全覆蓋。
在智能水表集抄系統中接入LoRa無線補盲網關后,形成具有無線全覆蓋能力的集抄系統,其結構如圖1所示。在LoRa信號良好的區域中,安裝基于LoRa無線網關的水表計量終端。該計量終端抄收到用水信息后,直接通過LoRa無線網絡上報到LoRa數據集中器。在LoRa信號盲區中,安裝基于Zigbee無線網絡的水表計量終端。這些在LoRa信號盲區中的計量終端與LoRa無線補盲網關進行無線自組網,形成小范圍的Zigbee無線傳感網絡。計量終端抄收到用水信息后,首先通過Zigbee無線網絡將數據匯總到LoRa無線補盲網關,再由補盲網關通過LoRa無線網絡上報到數據集中器。最后由LoRa數據集中器通過NB-IOT遠程連接自來水公司的數據管理系統,進行小區用水數據的上報和處理。

圖1 接入LoRa無線補盲網關后的水表集抄系統
LoRa補盲網關的硬件系統主要由STM32主控芯片、上行LoRa通信模組、下行Zigbee無線模組、電源管理電路和指示調試部件組成。整個硬件設計框圖如圖2所示。

圖2 LoRa無線補盲網關后的硬件設計框圖
主控芯片選擇STM32L451C8T6,該芯片具有3路UART接口,其中UART3用來與Zigbee模塊通信,另外一路UART1作為在程序開發過程中調試信息的輸出接口。芯片屬于STM32的低功耗系列,其中Shutdowm停機休眠模式的靜態功耗不到1uA。芯片內部帶有實時時鐘RTC,該時鐘的鬧鈴功能可以作為停機休眠的喚醒信號。另外,芯片的工作電壓、內存大小、引腳數量等資源也滿足本補盲網關的設計要求。
上行LoRa通信部分選擇利爾達的LSD4RF-2F717N30無線模組。該模組以Semtech公司的LoRa射頻集成芯片SX1278為核心。芯片采用了LoRa擴頻調制調節技術,工作頻率范圍137~525MHz,帶 寬7.8 ~500KHz之間可配置,可以使模組在低功耗的情況下,可以進行遠距離數據傳輸。LoRa模組通過四線SPI接口與主控芯片進行連接,另外DIO0和DIO1連接到主控芯片2個普通I/O端口上。
下行Zigbee通信部分選擇以TI公司CC2530芯片為核心的無線模組。CC2530是一個以增強型8051為內核,結合2.4 GHz無線收發外設的片上系統,為Zigbee無線連接提供了物理層的連接通道,軟件上搭載Z-Satck協議棧就可以進行Zigbee傳感網絡的動態組建。該Zigbee模組通過串口1與主控芯片的UART3進行連接。
補盲網關使用鋰電池供電,為了使系統的整體功耗降低,產品壽命加長。在硬件上設計了電源管理電路,在系統進入停機休眠狀態時把上行的LoRa模塊和下行的Zigbee無線模塊的電源全部關閉。當主控芯片從休眠模式喚醒后,再逐一進行對設備恢復供電和初始化。
LoRa補盲網關的軟件主要有四個部分的功能:上行LoRa無線通信部分、下Zigbee無線組網部分、水表數據抄收上報和低功耗運行管理部分。整個軟件的設計流程如圖3所示。

圖3 LoRa無線補盲網關后的軟件流程圖
補盲網關上電后,首先查詢設計是設備否首次上電運行。如果為首次運行,先初始化LoRa無線網絡,與數據集中器建立上行通信信道,獲取數據上報的時間并將該時間作為補盲網關停機休眠的喚醒時間設置到STM32L451內部的RTC鬧鈴參數中。然后初始化CC2530模塊,完成信號盲區內的Zigbee無線網絡組建,并進行第一次水表數據抄收。抄收完成后,向數據集中器請求是否需要即時上報。如果需要則進入數據打包和上報流程,如果不需要,則關閉LoRa模塊和Zigbee模塊的電源,隨后進入停機休眠模式。直到STM32L451主控芯片內部RTC設置好的鬧鈴時間到,將補盲網關系統喚醒。
補盲網關由休眠模式喚醒后,從上電復位的位置開始運行。在非首次運行時,首先初始化LoRa無線網絡,上行與數據集中器建立信道連接,然后完成信號盲區內的Zigbee網絡組建,抄收區域內水表數據,接著將用水數據打包并向數據集中器上報。數據上報成功后,補盲網關會收到數據集中器的返回幀。該返回幀內包含在系統下一次的上報時間,也就是系統的喚醒時間。成功解析返回幀后,系統將該時間設置到RTC的鬧鈴參數中。如果數據上報不成功,1個小時后進行數據重傳。則在本次上報時間的基礎上,增加1小時作為系統喚醒時間,將其設置到RTC的鬧鈴參數中。隨后關閉LoRa模塊和Zigbee模塊的電源,進入停機休眠模式。
本文提出的LoRa無線補盲網關已完成軟硬件的設計,并在接入基于LoRa技術的智能水表集抄系統中進行了樣機聯調。在近半年的現場投運測試過程中,LoRa信號盲區的水表通過補盲網關可以重新接入系統,進行數據的抄收和上報。補盲網關對下行Zigbee無線網關的水表數據抄收尚未發現丟包情況,上行LoRa無線的數據上報雖偶有掉線,經過重傳后,數據可以正常上報。補盲網關正常工作時,整機功耗在20mA左右,當主控芯片進入停機休眠模式后,整機功耗可達8uA左右,基本上達到設計預期指標。