胡 煜,劉岳烯,陳 越,陶 銘
(東莞理工學院 計算機科學與技術學院,廣東 東莞 523808)
隨著經濟和城市化建設的快速發展,各城市道路的路燈亮化系統不斷在擴展,但路燈的管理水平也不盡相同。亮化能源使用越來越大,浪費越來越嚴重,安全隱患頻發。隨著智慧城市建設的需要,路燈的控制管理需求也在不斷加大,管理不到位的情況也有出現,因此對路燈進行智能化管理變得更為重要。基于物聯網的信息管理系統的不斷創新和發展,對路燈管理水平有很大的促進作用[1]。
物聯網(Internet of Things, IoT)是信息科技產業第三次革命。物聯網指的是通過信息采集設備,采集所需要的信息,根據規定好的協議,將物體與網絡相連接,以網絡為介質,實現物物相連。物聯網中有人與物體作為主體,能夠將物質世界中的物質科學地連接起來,通過傳感器,實現物品之間的感應,達到物與物之間,人與物之間相互關聯以及有效控制[2]。無線傳感器網絡(Wireless Sensor Networks, WSNs)是物聯網采集網絡的重要技術形式,是由部署在監測區域內的大量傳感器節點進行觀察、采集信息或檢測事件的發生等,通過互相通信形成的多跳自組織網絡,再將感測數據傳輸至信宿[3]。隨著物聯網的技術快速發展,“智慧路燈+物聯網”的結合可以有效實現道路亮化智能化管理以及滿足節能降耗的需求,方便路燈管理者實時查看路燈信息以及對異常情況作出及時響應。
本套系統采用CC2530處理器作為采集節點的嵌入式系統,搭載系統所需要的各式傳感器,以ZigBee作為無線傳感網絡的數據傳輸節點,使用CC2530中的串口作為數據傳輸工具,通過串口將采集到的數據傳輸到服務器端,路燈管理員可以登陸手機客戶端系統,查看路燈的使用情況。不僅如此,當路燈故障時,也會通過手機報錯,達到快速告知管理員進行路燈維護的效果。
ZigBee技術是一種低功耗、短距離和低速率下的無線通信技術,過去又稱為“FireFly”和“HomeRF Lite”技術,目前被統一稱為ZigBee技術[4]。ZigBee技術基于IEEE 802.15.4協議標準,該標準具有穩定性好、自組織能力強、低成本、網絡容量大、低能耗等優點,在無線傳感網絡和無線局域網等領域都得到了廣泛的應用[5]。ZigBee模塊是一種物聯網無線數據終端,通過板載嵌入式系統的采集,利用ZigBee網絡為用戶提供無線數據傳輸功能,將采集到的數據匯總并上傳處理。該系統采用CC2530作為載體,通過ZigBee協議棧的自組織功能,實現數據的透明傳輸;ZigBee低功耗設計,最低功耗小于1 mA,使得系統運行時間足夠長;且ZigBee提供多路I/O,可以實現數字量輸入/輸出、脈沖輸出等;其中還有3路I/O可實現模擬量采集、脈沖計數等功能,大大方便了傳感器對數據的采集。
串行接口(Serial Interface)是采用串行通信方式的擴展接口。串行接口技術是指數據一位一位地通過串口線順序傳送[6]。其特點是通信線路簡單,串口只要有一對傳輸線就可以進行雙向通信,從而大大地降低了成本,適用于遠距離通信,但傳送速度較慢。
同步串行接口(Synchronous Serial Interface, SSI)是指通過同步時鐘控制,發送方和接收方同步進行數據的傳送。
基于物聯網技術的物聯網路燈智能控制系統由ZigBee無線傳感器網絡、基于CC2530的串行通信技術、Android客戶端、數據庫服務器4部分組成。無線傳感器網絡由ZigBee協調器節點廣播發起組網信號,ZigBee端點通過協議棧進行自組網[7]。ZigBee端節點采集數據后通過ZigBee搭建的無線傳感網絡發送數據到協調器端,協調器通過CC2530的串行通信技術將數據傳輸到服務器端。路燈管理人員可以通過手機客戶端查詢某個路燈節點的數據信息,系統框架結構如圖1所示。

圖1 系統結構
感知節點的通訊模塊采用了CC2530,是TI公司的片上系統,該芯片適合于ZigBee Pro/2007復雜協議棧的應用[8]。這款嵌入式處理器CC2530片上有多個GPIO口,利用其中兩個模擬驅動I2C總線,連接PCF8591模塊,該模塊集成了3個A/D模塊、1個D/A模塊以及一個光敏模塊。PCF8591模塊中的光敏用來監測空中的亮暗,利用2個A/D模塊分別連接光敏模塊(監測路燈亮暗)、紅外測距模塊。其感知節點硬件結構圖如圖2所示。

圖2 感知節點硬件結構
節點采集到的數據需要經過一系列協議進行數據的收發,協議實際上是定義了一系列的通信標準,編寫完協議后,可以通過一系列函數API進行調用。本套系統的無線傳感網絡基于Z-Stack協議棧。路燈監測系統不僅從傳感器收到各個節點發來的數據,還需要獲取數據節點的位置,本系統采用編號的方式定位節點,代替GPS定位之類的硬件模塊,具體操作過程如圖3所示。首先,給節點上電后,ZigBee節點初始化各類傳感器,通過Z-Stack協議棧連接成無線傳感網絡,并初始化串口,連通服務器。由于采用編號的方式寫入協議棧代碼,便可以根據路燈位置連接CC2530,通過協調器連接服務器,服務器傳輸數據到Android客戶端,在Android端便可以看到所示路燈位置的情況。這時,在Android端的路燈數據開始顯示,感知節點初始化完畢。

圖3 編號對應節點
智慧物聯網的應用,使得路燈系統的自我調節能力較好,能夠根據不同的情況開、關燈,管理員也可以根據Android端的數據查詢路燈的狀況,以及在路燈故障時進行維護。路燈管理系統根據環境亮度以及車輛行駛情況判斷是否進行開關燈操作。首先,光敏傳感器判斷環境亮度是否達到開燈的限度;其次,利用紅外測距,判斷是否有車經過;綜合后,當有車經過時,且環境亮度達到該開燈的條件的時候,路燈亮,為車輛照明,否則滅,減少路燈的能耗。當遇到突發情況需要開燈時,路燈管理者還可以通過Android端進行開燈操作,提高了智慧路燈的靈活性。當路燈發生損壞無法亮燈時,路燈光敏與路燈開關標志(是否正在開燈)共同判斷是否出現故障,如果出現故障,會立刻發送待處理事件到Android客戶端。具體算法流程圖如圖4所示。

圖4 算法流程
服務器后端系統基于Spring框架編寫,Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架,利用其特性可編寫出更干凈、更可管理、并且更易于測試的代碼[10]。控制層接收安卓客戶端發送過來的請求,請求進入業務層代碼進行相關的業務處理,并通過數據持久層對數據庫進行CIUD操作。主要任務是返回路燈及采集到的所選當前環境的一些實時數據情況,實現對指定路燈的開關控制以及對異常信息的處理審核,通過使用log4j日志框架,相關的硬件異常及客戶端的操作詳情都會生成日志數據記錄到每天的日志文件中。服務器與硬件端通過串口進行通信,接收ZigBee傳過來的數據后,解析處理數據并把數據存儲到數據庫中,如圖5所示。服務器啟動HTTP進程,處理安卓客戶端的數據請求,流程圖如圖6所示。

圖5 數據存儲流程

圖6 用戶請求處理流程
Android系統具有開發性、程序間無界限、程序平等性和程序開發方便快捷等優點。該系統架構由應用程序、程序服務框架、系統庫、Android運行時以及Linux內核5個部分組成。在運行程序時,不是使用Java虛擬機來運行,而是采用其自有的Android運行時,包括Dalvik虛擬機和核心庫兩部分,能使一臺移動設備在消耗較少的資源同時運行多個虛擬機程序,并且Android的應用程序都在其自有的Dalvik虛擬機中運行[9]。
Android客戶端的主要功能是向用戶展示路燈的各項數據以及對路燈進行控制,其模塊主要包含有路燈位置顯示模塊、路燈數據呈現模塊、路燈控制模塊、異常信息處理模塊四個部分,如圖7所示。路燈位置顯示模塊主要是在校園地圖上,根據路燈所在的位置在地圖打上標簽點,實現對路燈位置的顯示功能。當用戶點擊地圖上的標簽點時,根據標簽點的信息通過使用HttpClient網絡接口對服務器端請求獲取對應的路燈數據,獲取數據成功后在數據顯示界面對路燈的數據進行顯示,并定時向服務器端發送獲取數據的請求用以完成路燈數據的更新,實現了路燈數據實時呈現的功能。在路燈數據顯示頁面的下方,有兩個路燈控制按鈕“開/關”“人工權限設置”,分別是實現對路燈的開關和路燈控制模式的轉換,用戶通過點擊按鈕向服務器端發送數據,服務器端根據用戶發送的數據實現對路燈的操作,再將路燈操作的結果返回給客戶端的用戶,以此來實現對路燈進行控制的功能。當用戶點擊處理界面時,客戶端向服務器端請求異常數據信息,成功后在界面上顯示顯示異常數據的信息,用戶可點擊這些異常信息進行處理,處理后點擊提交按鈕將處理信息返回給服務器端,完成對異常信息的處理。

圖7 Android客戶端功能結構
系統開始運行,啟動硬件端相應路燈節點以及協調器節點、服務器端,將感知節點所獲得的路燈數據通過ZigBee發送到協調器節點,協調器節點再通過串口將其發送到服務器端中存儲,最終用戶通過Android客戶端對服務器的訪問獲得路燈信息,并實現對路燈的控制等。具體的操作如下:用戶通過Android客戶端可以看到校園地圖上路燈感知節點的位置分布圖,如圖8所示;路燈節點的數據如圖9所示;對路燈的控制如圖10所示;對異常信息的處理如圖11所示。路燈節點除了可以通過Android客戶端控制外,還可以通過自身所獲得的信息進行智能控制,當路燈上的紅外感知器沒有感知到車輛經過并且是陰天或夜晚時,將不會開燈,在有車經過時才會開燈;當在白天時,無論有沒有車都不會開燈。

圖8 路燈位置分布圖

圖9 路燈狀態數據

圖10 路燈控制界面

圖11 異常信息處理界面
物聯網路燈智能控制系統,將物聯網技術與路燈進行結合,實現了路燈智能化管理,大幅減少了能耗。隨著智慧城市不斷發展,路燈更需要智慧物聯。本項目雖然實現了路燈的基本功能,但仍存在諸多不足,還有待未來進行進一步完善。