邵改革
(河南理工大學礦山空間信息技術重點實驗室,河南焦作 454000)
隨著國家信息化建設和數字城市的不斷發展,智慧城市成為未來城市發展的重要方向。智慧城市在數字城市的基礎上,利用互聯網、物聯網和信息通信技術將城市的所有資源(包括水、空氣、電力、交通、公共服務等)都連接起來,實現對整個城市感知、分析、預測,從而創造一個舒適、快捷和具有幸福感的城市[1]。物聯網是智慧城市建設的重要組成部分,其關鍵在于利用各種傳感器構建網絡來獲取相關事物的數據和信息。通過對傳感器實時傳回的數據進行整理分析,能夠及時預警和處理各種突發事故和自然災害,然后利用已經建立的各類信息系統,充分發揮信息化測繪公共服務的特性,向公眾提供相關服務[2]。總之,智慧城市是數字城市的進一步發展,運用更高端的技術來提升數字城市的功能,更加強調智能化和物聯網的重要性。
目前信息化服務平臺普遍具有明顯的滯后性,而預警系統作為與公眾關系最為密切的信息系統,更需要提供實時、方便、快捷的服務,如為公眾提供實時的空氣質量狀況(PM2.5 值)和交通路況來為公眾出行提供參考。在物聯網時代,可以將各種傳感器傳回的實時數據經過分析處理,與網絡GIS 技術結合起來,通過廣泛的信息服務共享,實現真正意義上的地理空間信息實時監測和預警。
智能預警網絡GIS 實現軟硬一體化。硬件包括傳感器、單片機、PC 機,軟件開發主要有實時監測客戶端和基于B/S 模式的信息發布平臺開發,整個系統的框架結構如圖1 所示。系統中單片機與計算機的連接采用USB 接口,并通過串口通信技術實現相互通信。串口通信具有硬件設計簡單、控制方便、傳輸距離遠等優點,且只需一根傳輸線就可在單片機和上位機之間傳遞信息。智能預警網絡GIS 使用ArcGIS Server 構建Web 應用服務,在Web 應用和Web 服務所在服務器訪問上選擇基于J2EE 框架的安全模型。系統調用ArcGIS Server 發布的標準REST 服務,將空間數據以服務的形式進行表現,并集中管理GIS 應用程序和服務框架,如地圖瀏覽、數據查詢、數據編輯、空間分析等功能。B/S 模式的特點在于具有廣泛的信息發布能力,客戶端要求較低[3]。但傳統Web 應用程序無法滿足客戶的體驗要求,本系統采用基于RIA 的網絡GIS 架構,同時具備C/S 和B/S 的優點。GIS 客戶端主要通過基于RIA 的Flex 表現,后臺服務利用基于J2EE 架構的Eclipse 構建。系統的B/S架構涉及到Flex Builder,Eclipse,BlazeDS,JDK,Tomcat 等,具體結構如圖2 所示。

圖1 系統整體框架

圖2 B/S 模式結構框架
智能預警系統中傳感器可以包括溫度、濕度、光照強度、聲音強度和空氣顆粒度等感應器,現以溫度傳感器為例介紹具體的實現過程。系統中溫度傳感器使用DS18B20,它提供9 位溫度讀數,溫度測量范圍從-55℃至+125℃。傳感器采用單線接口,因此從單片機的微處理器到傳感器僅需一條連接線,其讀、寫信息所需電源由數據線本身提供,不需要額外電源線。每一個傳感器都編有唯一的序列號,多個傳感器連接在同一條單總線上,系統可以實現多點信息監控。將不同的傳感器組網連接到單片機上,系統開發選用的是STC90C51 單片機。通過對單片機開發,實現接收傳感器傳回的信息值和將信息傳回到上位機(PC)。單片機程序編寫使用KeilμVision 軟件,編程語言為C51,程序中主要包含從傳感器中讀取數據值和單片機與PC機基于應答模式的信息傳遞功能。在程序編譯無誤后,最后利用STC-ISP 軟件將程序燒錄到單片機處理器中。
單片機與PC 機的通信采用基于USB 接口的串口通信技術,USB 接口使單片機與PC 機的連接更加方便,系統具有支持熱插拔、接口簡單、無需外接電源、動態加載驅動程序等優點。本系統串口驅動程序為CH341,串行接口總線協議是RS-485,最大傳輸距離1000 多米,如果通過USB 接口組網,基本滿足數據傳輸的需求。客戶端主要用于實時監控各個實驗點的數據,實現控制和報警功能,并可以將數據寫入到數據庫。客戶端控制臺軟件開發使用Delphi 開發平臺,利用第三方串口控件Spcomm,綜合實現基于串口通信的客戶端程序。智能溫度感應客戶端具有圖形化界面,方便控制管理傳感器,運行效果如圖3 所示。

圖3 智能溫度感應客戶端
智能預警網絡GIS 通過客戶端將收集的傳感器數據存儲到數據庫中,然后從數據庫中提取有用信息,最后利用基于B/S 模式的網絡GIS 平臺發布公共服務信息。基于B/S 模式的智能預警網絡GIS 開發將不同的軟件集成到一個開發環境下,即Eclipse 開發框架下,因此對軟件版本有嚴格的要求,否則將出現不兼容錯誤。傳統的B/S 應用系統都是基于“請求-服務”模式開發,只有客戶端用戶有操作(發送請求)才能實現網頁刷新,不具有實時性。智能預警網絡GIS 平臺在用戶沒有操作的情況下,自動實現信息的更新,而且不需要刷新整個網頁。系統中具有自動更新網頁的程序模塊,再利用Flex 對數據綁定的支持,實現網頁的實時更新。信息發布網站對后臺數據庫的訪問通過JDBC 與ODBC 接口構建橋連接,在Eclipse 環境中后臺代碼使用Java 語言,以實現系統良好的跨平臺性。網頁表現層主要在Flex 中開發,運用直觀的MXML 語言來定義用戶界面元素,結合ActionScript 語言編寫客戶端應用邏輯模塊,最后由Flex 編譯器編譯成標準的SWF 格式的客戶端應用程序文件在Flash 播放器中運行[4]。通過在Flex 中調用ArcGIS Server 發布的服務,將用戶需要的相關地理空間信息展現到網頁上。ArcGIS Server 提供基于REST 接口的地圖服務,它將地圖和空間分析功能均視為網絡資源,為所有資源定義URL,使用標準方法將資源鏈接在一起,對于任何有關地圖的請求操作都封裝在唯一的URL 中[5]。系統利用REST 接口和agslib開發包將ArcGIS Server 的服務在Flex 中調用,如果遇到地圖無法顯示的情況,說明程序未經授權進行跨界訪問。ArcGIS Server為保證訪問的合法性,設置安全沙箱,通過修改配置文件crossdomain.xml 的相關內容可以解決上述問題。在完成B/S 架構內容開發之后,在Eclipse 中配置應用服務器Tomcat,將智能預警網絡GIS 信息平臺進行發布,運行效果如圖4 所示。

圖4 網絡GIS 信息發布效果圖
智能預警網絡GIS 將軟硬件集合化,擺脫傳統軟硬分離或重硬輕軟的模式,形成一個完整的解決方案。智能預警GIS 能夠實時顯示和更新信息,更加注重信息及時性和用戶體驗。智能預警網絡GIS 包括客戶端監控和Web 信息發布,劃分不同類型用戶的權限范圍,實現信息的分級管理。本文雖然在技術上解決現存的一些問題,但難以適應較大范圍的應用,在傳感網絡結構和數據維護等方面還需要改進。
[1]楊堂堂.從數字城市到智慧城市的建設思路與技術方法研究[J].地理信息世界,2013(1):63-67.
[2]李德仁,邵振峰.信息化測繪的本質是服務[J].測繪通報,2008(5):1-4.
[3]王青山,汶博.基于RIA 的網絡GIS 的發展與應用[J].測繪科學技術學報,2006(2):115-118.
[4]孫利華,吳煥萍,鄭金偉,等.基于Flex 的氣象信息網絡發布平臺設計與實現[J].應用氣象學報,2010(6):754-760.
[5]許洋,池天河.基于REST 與RIA 的城鄉規劃信息平臺研究[J].微計算機信息,2010(34):173-175.