王 偉,田國(guó)瑞,常彥文
(北京石油化工學(xué)院信息工程學(xué)院,北京 102617)
路燈在城市照明中發(fā)揮著重要作用的同時(shí)也消耗了大量的電能。傳統(tǒng)的路燈主要采用的是光控和時(shí)控的控制方式,控制方法簡(jiǎn)單易于實(shí)現(xiàn),但對(duì)電能的利用率不高,而且無法反饋路燈運(yùn)行的狀態(tài)信息,增加了人工巡查維護(hù)的問題,造成了人力物力的浪費(fèi)。為了節(jié)約電能,降低路燈的運(yùn)維成本,國(guó)內(nèi)有人提出了基于ZigBee的城市路燈管理系統(tǒng)[1],雖然在總體上解決了路燈管控的問題,但由于ZigBee通信距離近,不得不進(jìn)行深度組網(wǎng),但如此組網(wǎng)會(huì)加大路燈的功耗,并且父節(jié)點(diǎn)若出現(xiàn)故障,會(huì)造成大面積路燈癱瘓,處于無監(jiān)管狀態(tài)。目前基于LoRa的智能照明系統(tǒng)研究只針對(duì)路燈在城市中的定位以及簡(jiǎn)單實(shí)現(xiàn)定時(shí)對(duì)照明控制[2],面對(duì)復(fù)雜的情況,無法實(shí)現(xiàn)對(duì)大量信息同時(shí)上傳的功能。王曉暉等[3]雖實(shí)現(xiàn)了LoRa對(duì)遠(yuǎn)距離的路燈控制,但未能實(shí)現(xiàn)上報(bào)節(jié)點(diǎn)信息等功能。針對(duì)路燈控制管理系統(tǒng)實(shí)際情況及不足,筆者提出了一種基于LoRa遠(yuǎn)距離通信的照明系統(tǒng),使管理者能夠及時(shí)準(zhǔn)確地看到系統(tǒng)運(yùn)行情況。運(yùn)用了LoRa技術(shù)、4G技術(shù)構(gòu)建了高效的、遠(yuǎn)距離的通信網(wǎng)絡(luò);運(yùn)用阿里云中的IoT Sudio模塊對(duì)各個(gè)路燈節(jié)點(diǎn)上傳的ID號(hào)在地圖上標(biāo)定位置,并顯示每個(gè)路燈節(jié)點(diǎn)的實(shí)時(shí)信息;路燈節(jié)點(diǎn)的外線傳感器、光照強(qiáng)度傳感器采集到的現(xiàn)場(chǎng)信息以及電能計(jì)量模塊的實(shí)時(shí)電能功耗等信息一并上傳至協(xié)調(diào)器,協(xié)調(diào)器接收到每個(gè)節(jié)點(diǎn)的信息后再把數(shù)據(jù)傳到阿里云服務(wù)器,以更直觀的方式看到每個(gè)節(jié)點(diǎn)的各個(gè)參數(shù)以及運(yùn)行狀況,并對(duì)現(xiàn)場(chǎng)照明發(fā)送指令實(shí)行遠(yuǎn)距離控制每個(gè)照明單元。
系統(tǒng)主要是由照明控制云平臺(tái)、網(wǎng)關(guān)協(xié)調(diào)器和路燈控制終端3部分組成,如圖1所示。在最底層的終端單元實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)情況進(jìn)行分級(jí)照明,并且采集數(shù)據(jù)信息,主要采集的信息有電能、電流、電壓、照明情況以及指令執(zhí)行情況等實(shí)時(shí)數(shù)據(jù);位處中間層的是網(wǎng)關(guān)協(xié)調(diào)器的作用是接收云端服務(wù)器發(fā)來的指令并對(duì)該報(bào)文進(jìn)行解析、透?jìng)鞯铰窡艄?jié)點(diǎn),并把節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)發(fā)到云服務(wù)器;云服務(wù)器接收實(shí)時(shí)數(shù)據(jù)保存并處理,將數(shù)據(jù)圖形化到地圖上的每個(gè)節(jié)點(diǎn),并根據(jù)實(shí)時(shí)需求下發(fā)各種命令。
圖1 系統(tǒng)總體框架Fig.1 The overall framework of the system
在智慧城市中應(yīng)用最多的通信技術(shù)是WiFi、Bluetooth、Sigfox、LoRa等[4]。在低功耗遠(yuǎn)距離傳輸中LoRa技術(shù)具有巨大的優(yōu)勢(shì),其各項(xiàng)優(yōu)勢(shì)參數(shù)如表1所示。由表1中可以看出,其不僅功耗低,而且通信距離遠(yuǎn)、可靠性高。LoRa在低功耗廣域網(wǎng)領(lǐng)域中是一種革命性的物聯(lián)網(wǎng)接入技術(shù),廣泛應(yīng)用在智慧農(nóng)業(yè)、智慧城市等方面。
表1 LoRa遠(yuǎn)距離通信參數(shù)
LoRa節(jié)點(diǎn)的設(shè)計(jì)主要有6個(gè)模塊,如圖2所示。路燈控制節(jié)點(diǎn)中的MCU主控芯片采用的是ST公司的STML451CCU6,通過LoRa模塊與SPI串口通信,實(shí)現(xiàn)對(duì)單個(gè)路燈節(jié)點(diǎn)的控制任務(wù)[5]。
圖2 路燈控制節(jié)點(diǎn)的框架Fig.2 Street lamp control node frame
光照強(qiáng)度傳感器采用GY302,光照強(qiáng)度測(cè)量范圍是0~65535lx,傳感器內(nèi)置16 bitAD轉(zhuǎn)換器直接數(shù)字輸出。數(shù)據(jù)通過IIC總線向MCU發(fā)送數(shù)據(jù),單片機(jī)采集到的GY-302數(shù)據(jù)越大,電流值越大,進(jìn)而得到測(cè)量光照強(qiáng)度的目的[6]。
電能計(jì)量模塊用的是HLW8112,能夠測(cè)量線電壓、電流,并能夠計(jì)算出功率、有功功率等。該器件有2個(gè)可配置的脈沖輸出引腳,通過INT1和INT2兩個(gè)引腳實(shí)現(xiàn)過流、過壓、過零和漏電檢測(cè)的功能[7]。該器件采用常規(guī)直流5.0 V電源供電,并與STM32用SPI接口相連。
LoRa無線通信模塊采用的是ZM470SX模組,其主要由SX1278芯片、外圍電路和無線射頻收發(fā)電路組成[7]。其DIO0引腳通過高低電平的變化發(fā)送中斷至STM32芯片,進(jìn)行數(shù)據(jù)的收發(fā)以及發(fā)送完成提示等,并且通過SCK、MISO、MOSI、NSS引腳與單片機(jī)進(jìn)行SPI數(shù)據(jù)交互,通過配置不同的時(shí)鐘極性與時(shí)鐘相位來控制單片機(jī)與SX1278的數(shù)據(jù)采集方式,采用Mode1模式:CPOL=0,CPHA=0,即表示SCK=0是處于空閑狀態(tài),有效狀態(tài)為SCK處于高電平時(shí)的輸出,CPHA=0表示數(shù)據(jù)采樣在第1個(gè)邊沿,數(shù)據(jù)發(fā)送在第2個(gè)邊沿。
網(wǎng)關(guān)協(xié)調(diào)器由6個(gè)模塊組成,分別有各自的功能,如圖3所示,其中MCU主控芯片采用的是ST公司運(yùn)用哈佛架構(gòu)的Cortex-M3內(nèi)核的STM32F103ZGT6芯片,其具有32位RISC核心,工作頻率為72 MHz,高速嵌入式存儲(chǔ)器(閃存向上)。1M字節(jié)FLASH和最高96千字節(jié)的SRAM,以及廣泛范圍的增強(qiáng)I/O和外圍設(shè)備連接到2個(gè)APB總線[8]。設(shè)備提供3個(gè)12位ADC、10個(gè)通用16位定時(shí)器加2個(gè)PWM定時(shí)器,以及標(biāo)準(zhǔn)和先進(jìn)的通信接口:2個(gè)I2C、3個(gè)SPI、2個(gè)I2SS、1個(gè)SDIO、5個(gè)USART、1個(gè)USB[9]。通過控制模塊與LoRa模塊通信,實(shí)現(xiàn)對(duì)路燈節(jié)點(diǎn)的控制任務(wù)。綜合通信速率、STM32F103的運(yùn)算速率、路燈120s的輪詢間隔以及路燈現(xiàn)場(chǎng)信息時(shí)效性等因素的影響,一個(gè)協(xié)調(diào)器最多控制64個(gè)路燈節(jié)點(diǎn)。
圖3 網(wǎng)關(guān)協(xié)調(diào)器的總體框架Fig.3 The overall framework of the gateway coordinator
APR346電源芯片是用于同步整流的二次側(cè)MOSFET驅(qū)動(dòng)器。同步整流可以有效地降低二次側(cè)整流器的功耗,為5~20 V輸出電壓的應(yīng)用提供了高性能的解決方案[10]。
RP502是基于CMOS工藝的降壓型同步整流DC/DC 轉(zhuǎn)換器。將這2種整流降壓模塊相結(jié)合,可以實(shí)現(xiàn)輸出3.3、12 V電壓。經(jīng)過APR346可以實(shí)現(xiàn)對(duì)220 V交流電轉(zhuǎn)成12 V直流電給led燈供電,再經(jīng)過RP502將電壓轉(zhuǎn)換成3.3 V給MCU、傳感器、SX1278供電,使系統(tǒng)穩(wěn)定運(yùn)行。
4G模塊采用的是移遠(yuǎn)的EC20模塊,包含76個(gè)LCC引腳,采用了低功耗技術(shù),在睡眠模式下,電流僅需4.3 mA。嵌入了TCP、UDP等數(shù)據(jù)傳輸協(xié)議,并且擴(kuò)展了AT指令,與過USART串口實(shí)現(xiàn)與STM32的異步雙向通信,最大上行傳輸速率50 Mbps,能夠?qū)崿F(xiàn)在復(fù)雜情況下上報(bào)大量實(shí)時(shí)信息。
在每個(gè)路燈終端節(jié)點(diǎn)采集到實(shí)時(shí)信息后,需要上傳到LoRa網(wǎng)關(guān)集中器,這就需要1套通信協(xié)議進(jìn)行數(shù)據(jù)的解析。因此,對(duì)物理層進(jìn)行了自定義協(xié)議設(shè)計(jì),對(duì)本文數(shù)據(jù)報(bào)打包與解析,實(shí)現(xiàn)數(shù)據(jù)的透?jìng)?。?shù)據(jù)傳輸?shù)姆绞綖閿?shù)據(jù)幀模式,且傳輸序列為二進(jìn)制的字節(jié)流。路燈節(jié)點(diǎn)與集中器通信協(xié)議幀格式如表2所示。
表2 LoRa網(wǎng)關(guān)與節(jié)點(diǎn)通信協(xié)議幀格式
幀頭固定為0x3a,為了區(qū)分各個(gè)幀數(shù)據(jù);命令包含2個(gè)字節(jié),0x01是LoRa網(wǎng)關(guān)查詢路燈節(jié)點(diǎn)狀態(tài)的命令,包括電壓、電流、當(dāng)前亮度、光照強(qiáng)度、功率等實(shí)時(shí)信息;0x02命令是返回當(dāng)前路燈節(jié)點(diǎn)信息;目的地址是網(wǎng)關(guān)發(fā)給每個(gè)路燈節(jié)點(diǎn)的唯一ID;源地址是該網(wǎng)關(guān)的地址;CRC是對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行循環(huán)冗余校驗(yàn),其校驗(yàn)范圍是從命令開始到幀數(shù)據(jù)。
路燈節(jié)點(diǎn)在功能上要實(shí)現(xiàn)采集實(shí)時(shí)數(shù)據(jù)和上傳實(shí)時(shí)信息的功能,其與網(wǎng)關(guān)集中器的工作流程如圖4所示。路燈節(jié)點(diǎn)在無線傳輸過程中會(huì)遇到多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送信息給網(wǎng)關(guān)集中器的情況,這就會(huì)造成信號(hào)疊加的現(xiàn)象,因此,為了避免產(chǎn)生多個(gè)節(jié)點(diǎn)同時(shí)通信信道沖突,提高信號(hào)傳輸?shù)目煽啃?,采用確認(rèn)重發(fā)和響應(yīng)機(jī)制、TDMA機(jī)制[11]。每個(gè)路燈節(jié)點(diǎn)都被分配到了1個(gè)獨(dú)一無二的網(wǎng)絡(luò)ID,網(wǎng)關(guān)集中器存儲(chǔ)了控制區(qū)域內(nèi)的所有路燈的ID,當(dāng)網(wǎng)關(guān)發(fā)廣播命令后,要求每個(gè)節(jié)點(diǎn)發(fā)送實(shí)時(shí)信息,每個(gè)節(jié)點(diǎn)按照預(yù)先設(shè)置好的時(shí)間間隙發(fā)送數(shù)據(jù),利用CAD檢測(cè)信道中的前導(dǎo)碼信號(hào)進(jìn)而喚醒節(jié)點(diǎn);每個(gè)路燈節(jié)點(diǎn)網(wǎng)關(guān)接收到節(jié)點(diǎn)信息后,返回給節(jié)點(diǎn)一個(gè)ACK,判定數(shù)據(jù)發(fā)送成功,隨即進(jìn)入待機(jī)狀態(tài),節(jié)省電能;如果節(jié)點(diǎn)沒有接收到ACK,則繼續(xù)發(fā)送數(shù)據(jù)包,若還是沒有接收到ACK,則停止發(fā)送數(shù)據(jù),進(jìn)入待機(jī)模式。
圖4 網(wǎng)關(guān)與節(jié)點(diǎn)的交互流程Fig.4 Gateway and node interaction flow
遠(yuǎn)程監(jiān)控軟件的設(shè)計(jì)是基于阿里云物聯(lián)網(wǎng)平臺(tái)的IoT Studio開發(fā),包括Web監(jiān)控軟件。IoT Studio開發(fā)服務(wù)提供了移動(dòng)可視化開發(fā)、Web可視化開發(fā)等開發(fā)工具,解決了物聯(lián)網(wǎng)應(yīng)用層軟件開發(fā)周期長(zhǎng)、成本高、技術(shù)復(fù)雜等問題。
阿里云平臺(tái)是基于MQTT協(xié)議的物聯(lián)網(wǎng)平臺(tái)。MQTT即消息隊(duì)列遙測(cè)傳輸,由客戶端、代理(broker)組成。其運(yùn)作機(jī)制為:客戶端首先向broker發(fā)送連接請(qǐng)求,broker在收到客戶端的請(qǐng)求之后,立即進(jìn)行認(rèn)證,若認(rèn)證通過,則在客戶端與代理之間搭建一個(gè)TCP通道,之后客戶端利用該通道訂閱關(guān)注的主題(Topic)。當(dāng)客戶端的狀態(tài)發(fā)生變化或者要求改變狀態(tài)時(shí),則向相應(yīng)的主題發(fā)布消息,代理會(huì)將該消息下發(fā)至已訂閱該主題的所有客戶端[12]。MQTT是一種多對(duì)多的通信協(xié)議,設(shè)備與設(shè)備之間并不是直接相連接的,而是經(jīng)過代理實(shí)現(xiàn)其之間的通訊。工作流程如圖5所示,其是一種異步協(xié)議,能夠?qū)崿F(xiàn)請(qǐng)求端與響應(yīng)端解耦[13]。
圖5 MQTT工作流程Fig.5 MQTT workflow
運(yùn)用物聯(lián)網(wǎng)平臺(tái)的IoT Studio設(shè)計(jì)的可視化界面如圖6所示,把每個(gè)路燈節(jié)點(diǎn)以及網(wǎng)關(guān)集中器標(biāo)定在高德地圖上,并且把每個(gè)節(jié)點(diǎn)的耗電量、功率等狀態(tài)信息在每個(gè)節(jié)點(diǎn)的位置能夠直接顯示出來。
圖6 路燈監(jiān)控大屏Fig.6 Street lamp a day of on-site lighting information
在阿里云物聯(lián)網(wǎng)平臺(tái)設(shè)計(jì)可視化界面時(shí),大致需要4個(gè)步驟:首先,構(gòu)建產(chǎn)品與設(shè)備,先在物聯(lián)網(wǎng)平臺(tái)上設(shè)備注冊(cè)1個(gè)有效的身份信息,并獲取設(shè)備證書信息(ProductKey、DeviceName和Device-secret)。該證書信息將被燒錄到各個(gè)現(xiàn)場(chǎng)設(shè)備上,用于設(shè)備連接平臺(tái)時(shí),進(jìn)行身份認(rèn)證,區(qū)分各個(gè)設(shè)備;然后,對(duì)每個(gè)產(chǎn)品定義實(shí)物模型,從屬性、服務(wù)和事件的3個(gè)維度定義產(chǎn)品的功能。阿里云物聯(lián)網(wǎng)平臺(tái)將根據(jù)功能構(gòu)建出產(chǎn)品的數(shù)據(jù)模型,用于云端后臺(tái)與設(shè)備端進(jìn)行實(shí)時(shí)數(shù)據(jù)通信[14];之后,建立各個(gè)設(shè)備與平臺(tái)之間的通信,開發(fā)設(shè)備端的SDK,燒錄設(shè)備的證書信息;最后,服務(wù)端訂閱設(shè)備消息,服務(wù)端通過訂閱消息類型,接收設(shè)備的相關(guān)消息,如設(shè)備上下線通知、設(shè)備實(shí)時(shí)信息上報(bào)等功能[15]。
LoRa智慧路燈系統(tǒng)功能測(cè)試可以分別通過Web端登陸智慧路燈管控平臺(tái)查看及管控路燈的運(yùn)行,同時(shí)可以與LoRa路燈網(wǎng)關(guān)通過4G模塊與阿里云平臺(tái)進(jìn)行數(shù)據(jù)交互。為檢驗(yàn)該系統(tǒng)的性能,在北京某科技公司毓秀路段進(jìn)行了功能測(cè)試,測(cè)試選取了5個(gè)路燈節(jié)點(diǎn)和1個(gè)網(wǎng)關(guān)協(xié)調(diào)器,每個(gè)路燈節(jié)點(diǎn)按照20 m相隔的方式安置在街道上且均為單側(cè)照明,每個(gè)路燈節(jié)點(diǎn)分配1個(gè)ID號(hào)用于識(shí)別各個(gè)位置的照明節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)利用這個(gè)ID上傳現(xiàn)場(chǎng)照明路況,圖6為路燈節(jié)點(diǎn)在地圖上的位置信息,且路燈節(jié)點(diǎn)的運(yùn)行狀態(tài)可以通過該界面顯示出來。網(wǎng)關(guān)協(xié)調(diào)器將傳來的ID號(hào)與云端分配的阿里云三元組進(jìn)行匹配,并把路燈節(jié)點(diǎn)發(fā)送的消息通過EC20轉(zhuǎn)發(fā)到阿里云服務(wù)器,云端通過三元組的信息確認(rèn)路燈的位置信息并實(shí)現(xiàn)云端遠(yuǎn)程監(jiān)控路燈現(xiàn)場(chǎng)情況。在PC端顯示的某日的路燈節(jié)點(diǎn)在云端的數(shù)據(jù)記錄并生成曲線,結(jié)果如圖7所示,主要有電流、電壓、瞬時(shí)功率以及光照強(qiáng)度等實(shí)時(shí)信息的狀態(tài)參數(shù),通過圖形化界面更便于分析當(dāng)日路燈的狀況,進(jìn)而分配亮度等級(jí)以節(jié)省電力。
圖7 路燈某天現(xiàn)場(chǎng)照明信息Fig.7 Street lamp a day of on-site lighting information
在路燈實(shí)時(shí)運(yùn)行過程中2種不同路燈的功耗對(duì)比測(cè)試如圖8所示。該科技公司此路段原為高壓鈉燈照明路段,現(xiàn)改良為用ARM芯片調(diào)制出的PWM波,進(jìn)而控制LED路燈的方式,利用三相多功能電表測(cè)得2種不同方式的電能消耗,可以明顯地看出ARM調(diào)制的LED路燈功耗明顯低于高壓鈉燈,節(jié)能效率提升了75.3%,功耗大大降低。
圖8 LED路燈與高壓鈉燈功耗對(duì)比Fig.8 Comparison of power consumption between LED street lamps and high pressure sodium lamps
綜上所述,LoRa智能路燈在管理上可以實(shí)現(xiàn)遠(yuǎn)程監(jiān)控,其在地圖上直觀地顯示出各個(gè)路燈照明節(jié)電的信息并對(duì)路燈故障報(bào)警;在功耗上,相較于上一代的高壓鈉燈有明顯的降低,節(jié)能效果更加明顯,因此,LoRa路燈更適合現(xiàn)代城市照明。
針對(duì)傳統(tǒng)的城市照明系統(tǒng)能耗偏大、管控不及時(shí)、人工巡查成本高等問題,綜合利用計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通信技術(shù)、無線傳輸技術(shù)和嵌入式開發(fā)等技術(shù)設(shè)計(jì)了基于可視化城市照明系統(tǒng),該系統(tǒng)通過現(xiàn)場(chǎng)傳感器采集的實(shí)時(shí)信息可以在現(xiàn)場(chǎng)做出判斷是否開關(guān)并分配亮度等級(jí),實(shí)現(xiàn)實(shí)時(shí)管理,而且路燈節(jié)點(diǎn)將信息上報(bào)控制中心,控制中心可綜合各方面信息進(jìn)一步對(duì)路燈節(jié)點(diǎn)實(shí)現(xiàn)控制。