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