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