基於Android平台的物聯網網關方案設計

來源:互聯網
上載者:User
基於Android平台的物聯網網關方案設計時間:2013-03-20 12:58:07 來源:電子設計工程 作者:喬 雷,雷 斌,杜劍英

摘要:提出了一種基於Android平台的物聯網網關方案。該網關通過藍芽串口通訊實現物聯網中WSN (無線感應器網路)中心節點和Android網關的資料轉送,在Android平台上實現WSN節點資訊管理並通過Android的網路資源實現互連網接入,從而在WSN與互連網之間搭建一條透明的資料轉送通道,完成對無線節點的資料進行遠程和即時的監測控制。
關鍵詞:物聯網;WSN;網關

    中國已成為第一大移動互連網市場,在移動互連網和物聯網的市場非常廣闊,這將使得物聯網應用藉助移動互連網平台深入到各個領域,實現泛在的接入。目前移動互連網平台常見的嵌入式作業系統主要足Linux、WindowsCE、MeeGo、Android、Palm等;其中Android系統的網路整合性很高,被公認為是一個基於Linux核心並針對行動裝置的作業系統。
    針對移動終端融合物聯網具有很大的意義,而物聯網接入互連網的瓶頸是網關 本文提出了基於Android平台、採用藍芽串連物聯網的網關方案,從而有效避免了物聯網網關的開發瓶頸。

1 基於Android平台的WSN網關簡介
    
星雲測控系統是由一個WSN主節點和很多WSN測控節點構成一個分布式的測控系統,用於野外的暫時和長期測量、橋樑檢測和大型結構瞬態測試等。基於Android平台藍芽串口通訊的星雲測控(WSN)網關結構1所示:

    網關採用基於Android的帶有藍芽和Wifi/WLAN功能的智能平板,採用藍芽串連基於STM32W的WSN測控系統主節點;網關將實現顯示、儲存、人機互動、遠距離通訊和網路通訊等功能。網關軟體在Android2.3作業系統下運行,程式在Android Eclipse下開發完成。其工作過程大致為:將網關藍芽與ZigBee主控節點藍芽進行配對、串連和資料轉送,同時網關通過同一區域網路的WiFi串連至遠程終端,實現對ZigBee網路測控資訊的顯示、儲存和控制等,實現網關的通訊和管理,完成WSN和互連網的雙向資料轉送和控制。

2 Android平台的物聯網網關的設計方案
    
網關通過藍芽串口實現與WSN中心節點間的通訊,在Android平台上實現WSN節點資訊管理並通過Andrid的網路資源實現互連網接入,從而在WSN與互連網之間搭建一條透明的資料轉送通道,完成對無線節點的資料進行遠程和即時的監測控制。圖2為基於Android平台的網關設計框圖,Android平台下的物聯網網關的軟體實現,需要完成以下步驟:
    (1)設定藍芽和Wi—Fi;
    (2)發現已經配對或者附近的藍牙裝置;
    (3)串連裝置;
    (4)在不同裝置之間傳輸資料;
    (5)使用Wi—Fi通過無線路南串連同一無線區域網路,通過Socket建立基於TCP/IP協議的網路通訊。
    (6)網關實現對WSN的管理。

    圖3為網關工作流程。 Android的物聯網網關的設計實現了以下功能:啟動藍芽、啟動Wi—Fi、藍牙裝置是否可見、搜尋藍芽、藍牙裝置的配對與串連、藍芽串口通訊和網路通訊和網關管理。

3 Android網關的藍芽串口通訊和網路通訊
3.1 Android網關的藍芽串口通訊
    
“藍芽”是一種短距離的無線串連技術標準的代稱,實質內容就是要建立通用的無線電空中介面及其控制軟體的公開標準。利用“藍芽”技術,能夠有效地簡化移動通訊終端裝置之間的通訊,也能夠成功地簡化裝置與網際網路之間的通訊,從而資料轉送變得更加迅速高效,為無線通訊拓寬道路。Android的藍芽(Bluetooth)協議棧使用BlueZ (Linux官方的Bluetooth棧)來實現對GAP、SDP和RFCOMM等應用規範提供支援,並獲得了SIG認證。BlueZ的RFCOMM提供Bluetooth上的串列模擬,這使得序列埠應用程式和協議不加更改地在Bluetooth上運行。RFC OMM模組和使用者模式dund的後台進程實現了Bluetooth撥號網路。Bluetooth規範支援針對Bluetooth HCI資料分組的UART(通用非同步接收器/傳送器)和USB傳輸機制。BluZ棧同時支援這兩個傳輸機制(drivers/Bluetooth/)。圖4為Android Bluetooth部分的關係圖。

 

    Android包含了對藍芽協議棧的支援,這使得藍牙裝置能夠無線串連其他藍牙裝置交換資料。Android的應用程式架構提供了訪問藍芽功能API,實現點對點或點對多點的無線互動功能。使用藍芽API,一個Android應用程式能夠實現下列功能:掃描其他藍牙裝置、查詢本地藍芽適配器用於配對藍牙裝置、建立RFCOMM通道、通過服務發現串連其他裝置、資料通訊和管理多個串連。圖5為本設計的藍芽串口通訊流程圖。實現了藍牙裝置開啟、可見、搜尋和串連管理。

 

3.2 Android網路通訊
    
Android完全支援JDK本身的TCP、UDP網路通訊的API,可以使用SeverSocket、Socket來建立基於TCP/IP協議的網路通訊,也可以使用DatagramSocket、Datagrampacket、MulticastSocket來建立UDP協議的網路通訊。本設計採用TCP/IP協議來實現網路通訊,通訊流程6所示。

 

    本設計只實現用戶端編程,服務端用SocketTool TCP/IP通訊調試工具V2.2在PC端建立。使用Socket來實現用戶端的步驟如下:
    (1)通過IP地址和連接埠執行個體化Socket,請求串連伺服器。
    (2)擷取Socket上的流以進行讀寫。
    (3)把流封裝進BufferedReader的執行個體。
    (4)對Socket進行讀寫
    (5)關閉打殲的流程。
    關鍵代碼如下:
    

4 網關的管理功能及實現
    
網關在應用程式層實現對WSN的管理,主要包括安全認證、時間統一、監測資料擷取、節點定位和遠程傳輸功能,從而實現對現場的即時臨控和管理。功能設計如下:
    (1)安全認證:協調節點在安全認汪中,將申請節點的ID發給網關,網關尋找配置表中的授權入網節;如果該節點ID在表中,則通知協調節點允許入網,否則不允許入網。同時,網關可以顯示、添加或修改節點配置表中的授權入網節點。
    8—1所示,網關插入配置表資訊,該實驗為四個節點群組成的ZigBee網路,節點編號分別為0080E102001BC94D、0080E102001BCE91、0080E102001BC204和0080E102001BCF51。ZigBee組成的無線感應器網路實現點對點通訊,網關可以採集到節點資料資訊,並用綠燈顯示該網路實現的是1號節點和3號節點之間的點對點通訊,紅燈表明處於非工作狀態。

(2)時間統一:在進行時間統一的過程中,首先通過NTP協議對網關校時,並以此時間為基準,把時間發給協調器節點,從而校準協調節點的時間和網內子節點的時間,實現網路中節點的時間統一。7(a)所示,網關的最下方顯示了NTP協議實現的校時。

 

    (3)監測資料擷取:在進行節點定位的過程中,網關可以採集節點資料、提取節點號和RSSI值。7(h)所示,上方滾動串口顯示了收到的來自ZigBee無線感應器網路的串口資料。
    (4)節點定位:ZigBee網路使用RSSI測距法實現節點定位,網關採集節點RSSI值解算出了節點大概位置。
    (5)儲存監測資料:接收節點監測資料並定期以檔案形式儲存到本地的SD卡中。8—2截取的儲存至SD卡的資料轉送資料,命名為Bluetooth.txt。

5 測試結果
    
系統所需的硬體平台為:Android平板電腦一部、BMX藍芽模組、PC機一台。本實驗所需的軟體平台為:SSCOM32串口調試助手、Socket Tool網路調試和TCP/UDP開發丁具、Ecplise JAVA開發環境和Android SDK開發包。網路通訊設定的IP地址為:192.168.0.190,連接埠號碼為:30000。

    運行主要結果8所示。圖8 (a)為裝置串連介面,主要實現藍芽串連和網路連接,觸發搜尋裝置按鈕顯示裝置列表,點擊所需裝置名稱建立藍芽串連。觸發wifi按鈕建立網路連接,觸發測試按鈕,測試通訊通道是否建立,建立成功顯示”success connection”。該網關實現了雙向資料轉送和網關管理,8(b),8(c)。傳輸過程分為以下三種情況:
    (1)藍牙裝置發送資料給Android網關和遠程終端,Android網關和遠程終端顯示”xi’antechnological universitv”表明測試成功。
    (2)Android網關發送資料給藍牙裝置和遠程終端,藍牙裝置和遠程終端顯示“I am Lei Bin”表明測試成功。
    (3)遠程終端發送資料給Android網關,Andiroid網關顯示“Success of socket communication”表明測試成功。網路通訊結果8(d)所示。

6 結束語
    
由於採用藍芽串列通訊技術串連物聯網,避免了在Android平台上的硬體開發,使得在對現有Android智能平台無需硬體改造及編寫底層驅動即可實現無線感測網路管理及和互連網間的資料轉送,大大降低了物聯網網關的應用難度和成本。
    在該設計的基礎上,可以進一步實現對無線感應器網路的即時控制,這使得在移動終端融合物聯網應用成為可能。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.