劉起明 趙 亮 楊軍文 瞿少成
(華中師范大學物理科學與技術學院 武漢 430079)
隨著信息技術飛速發展,智能化物聯網設施逐漸被運用到人們的日常生活中[1~2]。
既有基于物聯網的智能水表、物流信息平臺,關系到人們的日常體驗[3~4];也有基于物聯網的智能鞋柜,停車場定位系統,關系到人們的出行[5~6]。基于物聯網的路燈系統是智慧園區公共基礎設施的重要組成部分,在完善園區服務功能和服務環境中扮演著重要角色[7~8]。文獻[9]設計了基于 PLC的智能路燈系統,其載波通信基于原有的電力線網絡,結合路由中繼轉發和GPRS網絡技術,實現路燈的照明控制。文獻[10]設計了基于GPRS與Zig?Bee無線組網的節能路燈系統,以AVR單片機為控制器,實時監測環境,以便自動調節路燈亮度。文獻[11]設計了基于LED的校園照明節能系統,通過LED日光燈替換傳統的熒光燈和校園路燈,達到高效、節能的目標。
基于園區路燈控制的實際需求,本文設計了一種基于物聯網的園區智慧路燈系統,系統利用SI4463無線網絡傳感技術,進行路燈環境數據的收發,通過ARM平臺實時顯示,利用TCP/IP技術實現跨平臺通信。通過照明系統的智能化管理,實現降低成本與節能減排。
基于物聯網的園區智慧路燈系統的硬件架構如圖1所示,由傳感器子節點、協調器節點和ARM平臺組成。
終端節點由HC-SR501人體紅外感應模塊和光敏傳感器實現數據采集。
協調器節點通過串口與ARM板通信,并通過SI4463無線模塊與子節點通信。
通過AM3359開發板的QT界面負責環境數據的實時顯示,以及控制命令的下發,實現了人機交互。

圖1 系統硬件框架圖
系統的軟件設計包含三個方面:一是數據采集子系統的設計;二是數據管理子系統的設計;三是Web遠程監控平臺的設計。
ZigBee的通信速率低,穿透和繞射能力差,它的協議棧包含大量的容錯措施,過于復雜,代碼量大[12~14]。針對這些問題,系統采用SI4463高性能低功耗射頻收發器,SI4463極限通信距離為1500m,輸出功率20dBm,增大覆蓋無線網絡節點面積。
運行在ARM平臺的程序通過串口獲取SI4463無線傳感模塊傳輸的環境數據。考慮到網絡傳輸異常情況,系統移植Sqlite數據庫做數據緩存,實現向服務器的數據上報[15]。
數據管理子系統采用C/S架構,利用TCP/IP下的套接字技術和多線程技術實現嵌入式ARM平臺和遠程數據管理中心的跨平臺通信。
客戶端采用Sqlite數據庫,服務器端采用MySQL數據庫。遠程數據管理中心通過Web監控程序收集相關的數據和控制指令,協調器節點利用自組網路由算法匯聚子節點發送的數據,傳遞給ARM平臺,服務器通過TCP/IP獲取ARM平臺發送的數據,使用MySQL對數據進行存儲和管理。
基于物聯網園區路燈系統的控制策略為:通過一個光敏傳感器感知園區環境亮度,和“系統時鐘”共同確定是白晝還是黑夜;當黑夜時,通過人體紅外感應5m內是否有人經過,如果有人通過,則開啟該節點路燈,若路人一直在,保持路燈常亮,當路人離開感應范圍,時延10s后路燈熄滅。此時,通過另一個光敏傳感器感知燈光的光照強度,將測量的數據與正常路燈閾值比較,從而判斷此節點是否損壞。
遠程監控平臺采用B/S架構,實現內網和外網的結合,支持PC、手機等不同終端在任意地點通過網絡登錄遠程監控平臺。用戶通過遠程的監控界面下發相應的控制參數后,通過Web服務器調用對應的CGI程序來解釋監控頁面的信息。
系統的遠程控制界面通過POST方法向CGI程序提供數據,這種方式支持復雜的數據傳輸,數據不會暴露在瀏覽器地址欄中。
對于系統而言,要保證節點間數據傳輸穩定,需要減少延遲,通過網絡的路由查找選擇最佳路徑。樹型路由算法不需要復雜的路由表,數據傳輸時響應速度也快,但是路由效率很低。動態源路由算法將路由長度作為路由存儲的唯一度量參數,未考慮路由時效性,消耗額外的接口排隊時間和帶寬。而自組網路由算法,它僅需要父兄節點或者子節點維護一個路由表,消耗一定存儲空間,但是能達到最優路由效果。
在傳感器與協調器間按照網絡協議進行數據傳輸,這個過程中涉及網絡地址的分配。網絡中每加入一個節點,將會分配一個地址,它的地址分配如式(1)所示:
此公式中AK為分配的網絡地址,AP為父節點的網絡地址,Cskip(d)為網絡深度地址偏移量,k為父節點的第k個子節點,Rm為父節點所能掛載最大路由節點數。在進行路由時,路由節點可以通過式(2)判斷目的節點是否是它的孩子節點。

公式中LA為路由節點的ID,DA為目的節點ID,Cm為節點掛接子節點總數。

在發送數據時,先將目的地址代入式(2),若符合要求,則說明目的地址在孩子子節點,然后查詢子節點路由表,若找到則把數據直接發送目的節點,沒有找到則使用式(3)算出下一跳地址NA,把數據發送給它。再次使用式(2)進行判斷,直至找到最終的目的節點。若不符合要求,則說明目的節點是它的兄弟節點或者父節點,然后通過查詢兄弟節點路由表和父節點路由表,找到則將數據發送目的ID,反之將數據發送給它分配過ID的父節點,再使用式(2)進行判斷,直到將最終數據發給目的節點為止。

圖2 算法流程圖
系統路由算法流程圖如圖2所示。
通過兩盞85W的節能燈模擬路燈光源,如圖3所示。每個路燈節點對應一個節點控制器,其中包含光敏傳感器、人體紅外傳感器等。
系統啟動后,各節點每隔十分鐘自動選擇一條路徑向協調器發送數據,協調器收集后發送至ARM板,經過處理上傳服務器,用戶通過7英寸觸摸屏近端控制,通過PC/手機訪問瀏覽器來進行遠端控制,遠程監控界面如圖4所示。

圖3 園區智慧路燈系統實物測試

圖4 遠程監控界面
SI4463無線模塊與子節點的通信是整個系統的關鍵部分,它的性能影響著數據的管理和遠程的顯示。該通信測試分為兩個部分,一是數據傳輸的距離測試;二是數據傳輸過程中的丟包率測試,節點數據的初始發送量均為1000。在距離測試中,以100m的間隔逐次遞增。由表1可知當距離在350m內,傳輸正常;距離在450m內信號不穩定,超過550m丟失信號。由結果可知傳感節點在350m內的園區環境正確傳輸,能滿足路燈系統的實際需求。

表1 SI4463無線模塊與子節點的通信測試
系統的功能測試,如表2所示,包括四項性能指標:模式選擇、遠程監控、智能監測和節能控制。遠程監控界面如圖4所示,可以查詢相關參數,控制路燈的開關閉合狀態和精密控制亮度變化。通過環境亮度與系統時鐘共同確定園區是白晝或者黑夜,紅外感應是否有人經過;設置正常路燈閾值,當光照度小于閾值時,初步判斷路燈故障,自動上傳當前子節點地址,確定路燈位置。

表2 系統功能測試
根據測試結果與傳統路燈系統進行比較,如表3所示,從四個方面進行了對比,包括故障排查、能耗、使用壽命和數據傳輸。物聯網園區智慧路燈系統根據是否有人經過,按需照明,節約能源;根據光照度參數的變化,來自動報修故障路燈。它通過這兩部分實現智慧的理念。

表3 傳統路燈系統與物聯網路燈系統對比
本文采用無線通信、數據庫、Linux、Qt設計、TCP/IP等多種技術[16],設計了一種基于物聯網的園區智慧路燈系統。測試結果表明,系統能夠有效地遠程實時監控園區路燈,方便故障路燈維修,并且根據場景的不同自動開關,有效節省電能。系統具有較好的安全性和穩定性,具有一定的實用價值。