歐浩源 胡平峰
(1、廣東職業(yè)技術(shù)學(xué)院,廣東 佛山 528041 2、深圳蜜獾智抄科技有限公司,廣東 深圳 518102)
隨著物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能技術(shù)的日益成熟,智能水表集抄系統(tǒng)也逐漸向全無線抄收升級。在低功耗遠距離的LoRa無線技術(shù)出現(xiàn)之后,遠距離全無線的水表集抄系統(tǒng)已然成為行業(yè)的一種發(fā)展趨勢。小區(qū)中的水表計量終端抄收到水表數(shù)據(jù)后,通過LoRa無線網(wǎng)絡(luò)發(fā)送到LoRa數(shù)據(jù)集中器,再由數(shù)據(jù)集中器通過NB-IOT或CAT1的遠程方式傳送到自來水公司的管理系統(tǒng)和數(shù)據(jù)庫。然而,在一些環(huán)境條件較差的小區(qū)中,會出現(xiàn)一些LoRa無線信號盲區(qū)。處于這些信號盲區(qū)的水表計量終端無法通過LoRa無線信號與數(shù)據(jù)集中器進行連接,從而在集抄系統(tǒng)中形成了一個信息孤島,無法做到集抄系統(tǒng)的LoRa無線信號全覆蓋。本文提出了一種水表集抄系統(tǒng)中的LoRa無線補盲網(wǎng)關(guān),在無線信號盲區(qū)和LoRa無線網(wǎng)絡(luò)之間構(gòu)建一個通信橋梁,將信息孤島重新接入水表無線集抄系統(tǒng),以解決小區(qū)LoRa無線網(wǎng)絡(luò)中信號盲區(qū)的終端接入和數(shù)據(jù)傳輸問題,從而實現(xiàn)智能水表集抄系統(tǒng)的無線網(wǎng)絡(luò)全覆蓋。
在智能水表集抄系統(tǒng)中接入LoRa無線補盲網(wǎng)關(guān)后,形成具有無線全覆蓋能力的集抄系統(tǒng),其結(jié)構(gòu)如圖1所示。在LoRa信號良好的區(qū)域中,安裝基于LoRa無線網(wǎng)關(guān)的水表計量終端。該計量終端抄收到用水信息后,直接通過LoRa無線網(wǎng)絡(luò)上報到LoRa數(shù)據(jù)集中器。在LoRa信號盲區(qū)中,安裝基于Zigbee無線網(wǎng)絡(luò)的水表計量終端。這些在LoRa信號盲區(qū)中的計量終端與LoRa無線補盲網(wǎng)關(guān)進行無線自組網(wǎng),形成小范圍的Zigbee無線傳感網(wǎng)絡(luò)。計量終端抄收到用水信息后,首先通過Zigbee無線網(wǎng)絡(luò)將數(shù)據(jù)匯總到LoRa無線補盲網(wǎng)關(guān),再由補盲網(wǎng)關(guān)通過LoRa無線網(wǎng)絡(luò)上報到數(shù)據(jù)集中器。最后由LoRa數(shù)據(jù)集中器通過NB-IOT遠程連接自來水公司的數(shù)據(jù)管理系統(tǒng),進行小區(qū)用水?dāng)?shù)據(jù)的上報和處理。
圖1 接入LoRa無線補盲網(wǎng)關(guān)后的水表集抄系統(tǒng)
LoRa補盲網(wǎng)關(guān)的硬件系統(tǒng)主要由STM32主控芯片、上行LoRa通信模組、下行Zigbee無線模組、電源管理電路和指示調(diào)試部件組成。整個硬件設(shè)計框圖如圖2所示。
圖2 LoRa無線補盲網(wǎng)關(guān)后的硬件設(shè)計框圖
主控芯片選擇STM32L451C8T6,該芯片具有3路UART接口,其中UART3用來與Zigbee模塊通信,另外一路UART1作為在程序開發(fā)過程中調(diào)試信息的輸出接口。芯片屬于STM32的低功耗系列,其中Shutdowm停機休眠模式的靜態(tài)功耗不到1uA。芯片內(nèi)部帶有實時時鐘RTC,該時鐘的鬧鈴功能可以作為停機休眠的喚醒信號。另外,芯片的工作電壓、內(nèi)存大小、引腳數(shù)量等資源也滿足本補盲網(wǎng)關(guān)的設(shè)計要求。
上行LoRa通信部分選擇利爾達的LSD4RF-2F717N30無線模組。該模組以Semtech公司的LoRa射頻集成芯片SX1278為核心。芯片采用了LoRa擴頻調(diào)制調(diào)節(jié)技術(shù),工作頻率范圍137~525MHz,帶 寬7.8 ~500KHz之間可配置,可以使模組在低功耗的情況下,可以進行遠距離數(shù)據(jù)傳輸。LoRa模組通過四線SPI接口與主控芯片進行連接,另外DIO0和DIO1連接到主控芯片2個普通I/O端口上。
下行Zigbee通信部分選擇以TI公司CC2530芯片為核心的無線模組。CC2530是一個以增強型8051為內(nèi)核,結(jié)合2.4 GHz無線收發(fā)外設(shè)的片上系統(tǒng),為Zigbee無線連接提供了物理層的連接通道,軟件上搭載Z-Satck協(xié)議棧就可以進行Zigbee傳感網(wǎng)絡(luò)的動態(tài)組建。該Zigbee模組通過串口1與主控芯片的UART3進行連接。
補盲網(wǎng)關(guān)使用鋰電池供電,為了使系統(tǒng)的整體功耗降低,產(chǎn)品壽命加長。在硬件上設(shè)計了電源管理電路,在系統(tǒng)進入停機休眠狀態(tài)時把上行的LoRa模塊和下行的Zigbee無線模塊的電源全部關(guān)閉。當(dāng)主控芯片從休眠模式喚醒后,再逐一進行對設(shè)備恢復(fù)供電和初始化。
LoRa補盲網(wǎng)關(guān)的軟件主要有四個部分的功能:上行LoRa無線通信部分、下Zigbee無線組網(wǎng)部分、水表數(shù)據(jù)抄收上報和低功耗運行管理部分。整個軟件的設(shè)計流程如圖3所示。
圖3 LoRa無線補盲網(wǎng)關(guān)后的軟件流程圖
補盲網(wǎng)關(guān)上電后,首先查詢設(shè)計是設(shè)備否首次上電運行。如果為首次運行,先初始化LoRa無線網(wǎng)絡(luò),與數(shù)據(jù)集中器建立上行通信信道,獲取數(shù)據(jù)上報的時間并將該時間作為補盲網(wǎng)關(guān)停機休眠的喚醒時間設(shè)置到STM32L451內(nèi)部的RTC鬧鈴參數(shù)中。然后初始化CC2530模塊,完成信號盲區(qū)內(nèi)的Zigbee無線網(wǎng)絡(luò)組建,并進行第一次水表數(shù)據(jù)抄收。抄收完成后,向數(shù)據(jù)集中器請求是否需要即時上報。如果需要則進入數(shù)據(jù)打包和上報流程,如果不需要,則關(guān)閉LoRa模塊和Zigbee模塊的電源,隨后進入停機休眠模式。直到STM32L451主控芯片內(nèi)部RTC設(shè)置好的鬧鈴時間到,將補盲網(wǎng)關(guān)系統(tǒng)喚醒。
補盲網(wǎng)關(guān)由休眠模式喚醒后,從上電復(fù)位的位置開始運行。在非首次運行時,首先初始化LoRa無線網(wǎng)絡(luò),上行與數(shù)據(jù)集中器建立信道連接,然后完成信號盲區(qū)內(nèi)的Zigbee網(wǎng)絡(luò)組建,抄收區(qū)域內(nèi)水表數(shù)據(jù),接著將用水?dāng)?shù)據(jù)打包并向數(shù)據(jù)集中器上報。數(shù)據(jù)上報成功后,補盲網(wǎng)關(guān)會收到數(shù)據(jù)集中器的返回幀。該返回幀內(nèi)包含在系統(tǒng)下一次的上報時間,也就是系統(tǒng)的喚醒時間。成功解析返回幀后,系統(tǒng)將該時間設(shè)置到RTC的鬧鈴參數(shù)中。如果數(shù)據(jù)上報不成功,1個小時后進行數(shù)據(jù)重傳。則在本次上報時間的基礎(chǔ)上,增加1小時作為系統(tǒng)喚醒時間,將其設(shè)置到RTC的鬧鈴參數(shù)中。隨后關(guān)閉LoRa模塊和Zigbee模塊的電源,進入停機休眠模式。
本文提出的LoRa無線補盲網(wǎng)關(guān)已完成軟硬件的設(shè)計,并在接入基于LoRa技術(shù)的智能水表集抄系統(tǒng)中進行了樣機聯(lián)調(diào)。在近半年的現(xiàn)場投運測試過程中,LoRa信號盲區(qū)的水表通過補盲網(wǎng)關(guān)可以重新接入系統(tǒng),進行數(shù)據(jù)的抄收和上報。補盲網(wǎng)關(guān)對下行Zigbee無線網(wǎng)關(guān)的水表數(shù)據(jù)抄收尚未發(fā)現(xiàn)丟包情況,上行LoRa無線的數(shù)據(jù)上報雖偶有掉線,經(jīng)過重傳后,數(shù)據(jù)可以正常上報。補盲網(wǎng)關(guān)正常工作時,整機功耗在20mA左右,當(dāng)主控芯片進入停機休眠模式后,整機功耗可達8uA左右,基本上達到設(shè)計預(yù)期指標。