艾茂華
(湖南水利水電職業技術學院,湖南 長沙410131)
2008 年美國BIM 就提出了智慧地球的概念,而智慧城市作為智能地球的重要組成不分,已經成為當前研究的熱點之一。在智慧城市理念下,傳統路燈由于功能單一、控制較為簡單,而且存在著嚴重的資源浪費問題。因此,智慧城市理念下的城市路燈就需要升級,讓其具備較強的信息感知、信息傳遞等多項功能,以此來實現路燈的智能化控制。而城市路燈的智能化控制需要高性能的數據系統作為基礎,因此,智能路燈數據采集裝置的設計具有重要的意義。
6LoWPAN(IPv6 over Low power WPAN)協議是IEEE 制定的一種標準,其主要功能是研究Ipv6技術,也就是實現IPV6 協議的標準化。6LoWPAN的IEEE802.15.4 標準應用在物理層與MAC 層,在傳輸層采用UDP 協議,從而使得6LoWPAN 協議與TP/IP 協議具備一定的相似之處。由于6LoWPAN 協議由其在MAC 加入了適配層,從而使得其能夠很好的應用在低功率的傳感器之中,具有較強的適應性、開放性和普及性。
(1)能夠滿足互聯網網融合,數據通過底層傳感網絡采集,由互聯網遠程傳輸至數據庫中,因此,所設計的底層傳感網絡要能夠與互聯網融合。
(2)要能夠大范圍的應用。由于層數屬于一個大范圍的分散系統,需要海浪的數據節點,且采集節點的地址必須是唯一的,這樣才能確保數據的獨立性。
(3)數據體系結構完善。智慧路燈數據采集裝置需要完善的體系,包括路由器、交換機以及服務器。
基于6LoWPAN 的智慧路燈采集系統總體架構如圖1 所示:

圖1 系統總體架構
從圖1 可以看出,LED 路燈的運行由STM32 嵌入式處理器的數據采集模塊來控制,對路路燈的實時數據進行采集。邊緣路由器、網絡交換機以及基于6IoWPAN 數據傳輸模塊來采集路燈的運行數據,最后將數據傳輸給服務器。
智慧路燈數據采集模塊作為系統的感知單元,其主要功能是控制路燈的莊嚴以及采集其運行數據。該模塊采用STM32 處理器芯片,該處理器成本低、性能高,具有指令集Cortex-M3 架構,時鐘速率可達到82MHz,本系統采用的芯片能夠滿足路燈數據采集功能需求,而且還增加了PM2.5、射頻識別等功能,設置了預留接口。STM32F103 芯片通過USART 接口和智能路燈的驅動電源模塊進行通信,發送控制指令以及路燈的運行數據和電壓數據。
無線傳感普遍采用的組網技術由WIFI、ZigBee以及6IoWPAN。WIFI 技術所支持的節點較少,但是本文所設計的智能路燈需要在一條線路上多臺路燈,因而WIFI 組網就不合適。ZigBee 與6IoWPAN技術在數據采集方面具有廣泛的應用,因而本文選用6IoWPAN 組網傳感器。每個6IoWPAN 節點都有為一個IP 地址,若1 個路燈與一個6IoWPAN 節點連接,就等于每一個路燈都具有一個固定的編碼。6LoWPAN 核心芯片為AT86RF2121,該芯片的傳輸速率為880MHz。
當前Ipv4 通信協議應用最為廣泛,但是6LoWPAN 是基于Ipv6 協議,因此要使得6LoWPAN能夠與互聯網直接相連,就需要進行協議之間的轉換。邊緣路由器能夠實現IP 協議與6LoWPAN 之間轉換,做到Ipv6 與Ipv4 的互通。6LoWPAN 邊緣路由器屬于異構網的網關,功能是建立6LoWPAN 網絡、拓撲結構的維護以及數據之間的轉發。本文基于開發盡量簡單的原則,采用CC2538 為主控單元,包括了電源模塊、FLASH 存儲器單元以及網絡控制單元等,其硬件結構如圖2 所示:

圖2 邊緣路由器硬件結構
數采集裝置系統設計處于擴展功能的考慮,為了使得智慧路燈采集系統更容易升級,本文工控板的數據處理芯片選用Exynos442,該芯片高性能的4核處理器,32 位nm 工藝,頻率可達1.5GHz,具有強大的數據處理能力。Exynos442 采用雙排插針引出302 個接口。網絡處理芯片應用自適應DM962,通過USB 接口使其與CPU 相連,工控板如圖3 所示:

圖3 工控板結構
本文所設計的軟件整體架構基于Contiki 操作系統,如圖4 所示:

圖4 軟件架構
Contiki 操作系統屬于基于事件驅動的內核操作系統,在該操作系統上可以使得程序靈活的加載,實現了protothread 線程模型。Contiki 系統集成uIP、Rime 網絡協議,采用該協議來提供API 接口。
數據采集的主要功能是將數據向服務器傳輸,實現方式主要有數據服務查詢方式、固定周期上傳翻翻書以及C/S 方式。數據查詢方式是數據服務器向底層數據表網絡發送一條指令就上傳一次數據。固定上傳方式是底層數據網絡根據設定好的數據采集周期來上傳數據。C/S 方式是將數據服務器當做客戶端向數據采集器請求數據服務,將數據采集器用作數據服務端,根據請求數據采集指令來提供服務。

圖5 有效數據流量比測試結果
從上圖可以看出,就數據查詢方式而言,有效載荷量與有效數據量成正比,但是數據服務器每獲取一次數據都需要發送一次查詢指令,從而使得數據采集過程的通訊量增大,降低數據采集的效率。固定周期上傳方式能夠減少數據通訊量,且數據傳輸效率較高,但是其只能夠根據固定的參數來進行進行上傳,而不是根據實際的需求,因而靈活性較差。C/S 方式的數據服務器僅需要實際采集需求請求一次數據服務就能夠得到數據,數據采集效率高,使得數據采集過程的通信量進一步被壓縮,且具有較高的靈活性。鑒于此,出于在信息采集過程中通信量的降低與采集方式靈活性考慮,本文采取C/S 數據傳輸模式,流程如圖6 所示:

圖6 C/S 模式數據采集通信流程
本文所設計的數據采集節點主控單元為STM32,軟件程序采用C 語言編寫,采用ARM Cortex 標準標準接口CMSIS 函數編寫,修改方便,擴展性好。數據采集模塊和路燈控制模塊采用USART串口通信,智能燈控制指令采用標準串口軟件編寫,波特值設置為19300。
工控板程序基于Contiki 操作系統,智能路燈指令的發送、讀取以及傳輸貸后是采用網絡接口。因而額本文彩陶的軟件程序的是socker 網絡編程,通過該程序來讀取智能路燈的運行參數,在對數據處理后采用sockt 程序將數據發送到服務器,程序的編寫流程如圖7 所示:

圖7 工控板軟件設計流程
服務器操作界面是基于Web 網絡編輯技術,以C/S 構架為基礎提供數據資源服務,以此來降低服務器端程序的開發難度,簡化用戶的操作流程,提高操作的便捷性。
本文設計了基于6LoWPAN 智能路路燈數據采集裝置,主要要包括基于STM32 的路燈數據采集節點、基于6IoWPAN 技術的無線數據傳輸模塊、基于(ortex-A9 的上控板以及基于Web 技術的服務器等功能單元的軟、硬件設計。