提出了一種基于Android平臺的物聯(lián)網(wǎng)網(wǎng)關(guān)方案。該網(wǎng)關(guān)通過藍牙串口通信實現(xiàn)物聯(lián)網(wǎng)中WSN (無線傳感器網(wǎng)絡)中心節(jié)點和Android網(wǎng)關(guān)的數(shù)據(jù)傳輸,在Android平臺上實現(xiàn)WSN節(jié)點信息管理并通過Android的網(wǎng)絡資源實現(xiàn)互聯(lián)網(wǎng)接入,從而在WSN與互聯(lián)網(wǎng)之間搭建一條透明的數(shù)據(jù)傳輸通道,完成對無線節(jié)點的數(shù)據(jù)進行遠程和實時的監(jiān)測控制。
中國已成為第一大移動互聯(lián)網(wǎng)市場,在移動互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的市場非常廣闊,這將使得物聯(lián)網(wǎng)應用借助移動互聯(lián)網(wǎng)平臺深入到各個領(lǐng)域,實現(xiàn)泛在的接入。目前移動互聯(lián)網(wǎng)平臺常見的嵌入式操作系統(tǒng)主要足Linux、WindowsCE、MeeGo、Android、Palm等;其中Android系統(tǒng)的網(wǎng)絡集成性很高,被公認為是一個基于Linux內(nèi)核并針對移動設(shè)備的操作系統(tǒng)。
針對移動終端融合物聯(lián)網(wǎng)具有很大的意義,而物聯(lián)網(wǎng)接入互聯(lián)網(wǎng)的瓶頸是網(wǎng)關(guān) 本文提出了基于Android平臺、采用藍牙連接物聯(lián)網(wǎng)的網(wǎng)關(guān)方案,從而有效避免了物聯(lián)網(wǎng)網(wǎng)關(guān)的開發(fā)瓶頸。
1 基于Android平臺的WSN網(wǎng)關(guān)簡介
星云測控系統(tǒng)是由一個WSN主節(jié)點和很多WSN測控節(jié)點構(gòu)成一個分布式的測控系統(tǒng),用于野外的暫時和長期測量、橋梁檢測和大型結(jié)構(gòu)瞬態(tài)測試等。基于Android平臺藍牙串口通信的星云測控(WSN)網(wǎng)關(guān)結(jié)構(gòu)示意圖如圖1所示:
網(wǎng)關(guān)采用基于Android的帶有藍牙和Wifi/WLAN功能的智能平板,采用藍牙連接基于STM32W的WSN測控系統(tǒng)主節(jié)點;網(wǎng)關(guān)將實現(xiàn)顯示、存儲、人機交互、遠距離通信和網(wǎng)絡通信等功能。網(wǎng)關(guān)軟件在Android2.3操作系統(tǒng)下運行,程序在Android Eclipse下開發(fā)完成。其工作過程大致為:將網(wǎng)關(guān)藍牙與ZigBee主控節(jié)點藍牙進行配對、連接和數(shù)據(jù)傳輸,同時網(wǎng)關(guān)通過同一局域網(wǎng)的WiFi連接至遠程終端,實現(xiàn)對ZigBee網(wǎng)絡測控信息的顯示、存儲和控制等,實現(xiàn)網(wǎng)關(guān)的通信和管理,完成WSN和互聯(lián)網(wǎng)的雙向數(shù)據(jù)傳輸和控制。
2 Android平臺的物聯(lián)網(wǎng)網(wǎng)關(guān)的設(shè)計方案
網(wǎng)關(guān)通過藍牙串口實現(xiàn)與WSN中心節(jié)點間的通信,在Android平臺上實現(xiàn)WSN節(jié)點信息管理并通過Andrid的網(wǎng)絡資源實現(xiàn)互聯(lián)網(wǎng)接入,從而在WSN與互聯(lián)網(wǎng)之間搭建一條透明的數(shù)據(jù)傳輸通道,完成對無線節(jié)點的數(shù)據(jù)進行遠程和實時的監(jiān)測控制。圖2為基于Android平臺的網(wǎng)關(guān)設(shè)計框圖,Android平臺下的物聯(lián)網(wǎng)網(wǎng)關(guān)的軟件實現(xiàn),需要完成以下步驟:
(1)設(shè)置藍牙和Wi—Fi;
(2)發(fā)現(xiàn)已經(jīng)配對或者附近的藍牙設(shè)備;
(3)連接設(shè)備;
(4)在不同設(shè)備之間傳輸數(shù)據(jù);
(5)使用Wi—Fi通過無線路南連接同一無線局域網(wǎng),通過Socket建立基于TCP/IP協(xié)議的網(wǎng)絡通信。
(6)網(wǎng)關(guān)實現(xiàn)對WSN的管理。
圖3為網(wǎng)關(guān)工作流程。 Android的物聯(lián)網(wǎng)網(wǎng)關(guān)的設(shè)計實現(xiàn)了以下功能:啟動藍牙、啟動Wi—Fi、藍牙設(shè)備是否可見、搜索藍牙、藍牙設(shè)備的配對與連接、藍牙串口通信和網(wǎng)絡通信和網(wǎng)關(guān)管理。
3 Android網(wǎng)關(guān)的藍牙串口通信和網(wǎng)絡通信
3.1 Android網(wǎng)關(guān)的藍牙串口通信
“藍牙”是一種短距離的無線連接技術(shù)標準的代稱,實質(zhì)內(nèi)容就是要建立通用的無線電空中接口及其控制軟件的公開標準。利用“藍牙”技術(shù),能夠有效地簡化移動通信終端設(shè)備之間的通信,也能夠成功地簡化設(shè)備與因特網(wǎng)之間的通信,從而數(shù)據(jù)傳輸變得更加迅速高效,為無線通信拓寬道路。Android的藍牙(Bluetooth)協(xié)議棧使用BlueZ (Linux官方的Bluetooth棧)來實現(xiàn)對GAP、SDP和RFCOMM等應用規(guī)范提供支持,并獲得了SIG認證。BlueZ的RFCOMM提供Bluetooth上的串行仿真,這使得串行端口應用程序和協(xié)議不加更改地在Bluetooth上運行。RFC OMM模塊和用戶模式dund的后臺進程實現(xiàn)了Bluetooth撥號網(wǎng)絡。Bluetooth規(guī)范支持針對Bluetooth HCI數(shù)據(jù)分組的UART(通用異步接收器/傳送器)和USB傳輸機制。BluZ棧同時支持這兩個傳輸機制(drivers/Bluetooth/)。圖4為Android Bluetooth部分的關(guān)系圖。
Android包含了對藍牙協(xié)議棧的支持,這使得藍牙設(shè)備能夠無線連接其他藍牙設(shè)備交換數(shù)據(jù)。Android的應用程序框架提供了訪問藍牙功能API,實現(xiàn)點對點或點對多點的無線交互功能。使用藍牙API,一個Android應用程序能夠?qū)崿F(xiàn)下列功能:掃描其他藍牙設(shè)備、查詢本地藍牙適配器用于配對藍牙設(shè)備、建立RFCOMM信道、通過服務發(fā)現(xiàn)連接其他設(shè)備、數(shù)據(jù)通信和管理多個連接。圖5為本設(shè)計的藍牙串口通信流程圖。實現(xiàn)了藍牙設(shè)備打開、可見、搜索和連接管理。
3.2 Android網(wǎng)絡通信
Android完全支持JDK本身的TCP、UDP網(wǎng)絡通信的API,可以使用SeverSocket、Socket來建立基于TCP/IP協(xié)議的網(wǎng)絡通信,也可以使用DatagramSocket、Datagrampacket、MulticastSocket來建立UDP協(xié)議的網(wǎng)絡通信。本設(shè)計采用TCP/IP協(xié)議來實現(xiàn)網(wǎng)絡通信,通信流程如圖6所示。
本設(shè)計只實現(xiàn)客戶端編程,服務端用SocketTool TCP/IP通信調(diào)試工具V2.2在PC端建立。使用Socket來實現(xiàn)客戶端的步驟如下:
(1)通過IP地址和端口實例化Socket,請求連接服務器。
(2)獲取Socket上的流以進行讀寫。
(3)把流包裝進BufferedReader的實例。
(4)對Socket進行讀寫
(5)關(guān)閉打殲的流程。
關(guān)鍵代碼如下:
4 網(wǎng)關(guān)的管理功能及實現(xiàn)
網(wǎng)關(guān)在應用層實現(xiàn)對WSN的管理,主要包括安全認證、時間統(tǒng)一、監(jiān)測數(shù)據(jù)采集、節(jié)點定位和遠程傳輸功能,從而實現(xiàn)對現(xiàn)場的實時臨控和管理。功能設(shè)計如下:
(1)安全認證:協(xié)調(diào)節(jié)點在安全認汪中,將申請節(jié)點的ID發(fā)給網(wǎng)關(guān),網(wǎng)關(guān)查找配置表中的授權(quán)入網(wǎng)節(jié);如果該節(jié)點ID在表中,則通知協(xié)調(diào)節(jié)點允許入網(wǎng),否則不允許入網(wǎng)。同時,網(wǎng)關(guān)可以顯示、添加或修改節(jié)點配置表中的授權(quán)入網(wǎng)節(jié)點。
如圖8—1所示,網(wǎng)關(guān)插入配置表信息,該實驗為四個節(jié)點組成的ZigBee網(wǎng)絡,節(jié)點編號分別為0080E102001BC94D、0080E102001BCE91、0080E102001BC204和0080E102001BCF51。ZigBee組成的無線傳感器網(wǎng)絡實現(xiàn)點對點通信,網(wǎng)關(guān)可以采集到節(jié)點數(shù)據(jù)信息,并用綠燈顯示該網(wǎng)絡實現(xiàn)的是1號節(jié)點和3號節(jié)點之間的點對點通信,紅燈表明處于非工作狀態(tài)。
(2)時間統(tǒng)一:在進行時間統(tǒng)一的過程中,首先通過NTP協(xié)議對網(wǎng)關(guān)校時,并以此時間為基準,把時間發(fā)給協(xié)調(diào)器節(jié)點,從而校準協(xié)調(diào)節(jié)點的時間和網(wǎng)內(nèi)子節(jié)點的時間,實現(xiàn)網(wǎng)絡中節(jié)點的時間統(tǒng)一。如圖7(a)所示,網(wǎng)關(guān)的最下方顯示了NTP協(xié)議實現(xiàn)的校時。
(3)監(jiān)測數(shù)據(jù)采集:在進行節(jié)點定位的過程中,網(wǎng)關(guān)可以采集節(jié)點數(shù)據(jù)、提取節(jié)點號和RSSI值。如圖7(h)所示,上方滾動串口顯示了收到的來自ZigBee無線傳感器網(wǎng)絡的串口數(shù)據(jù)。
(4)節(jié)點定位:ZigBee網(wǎng)絡使用RSSI測距法實現(xiàn)節(jié)點定位,網(wǎng)關(guān)采集節(jié)點RSSI值解算出了節(jié)點大概位置。
(5)存儲監(jiān)測數(shù)據(jù):接收節(jié)點監(jiān)測數(shù)據(jù)并定期以文件形式保存到本地的SD卡中。如圖8—2截取的存儲至SD卡的數(shù)據(jù)傳輸數(shù)據(jù),命名為Bluetooth.txt。
5 測試結(jié)果
系統(tǒng)所需的硬件平臺為:Android平板電腦一部、BMX藍牙模塊、PC機一臺。本實驗所需的軟件平臺為:SSCOM32串口調(diào)試助手、Socket Tool網(wǎng)絡調(diào)試和TCP/UDP開發(fā)丁具、Ecplise JAVA開發(fā)環(huán)境和Android SDK開發(fā)包。網(wǎng)絡通信設(shè)置的IP地址為:192.168.0.190,端口號為:30000。
運行主要結(jié)果如圖8所示。圖8 (a)為設(shè)備連接界面,主要實現(xiàn)藍牙連接和網(wǎng)絡連接,觸發(fā)搜索設(shè)備按鈕顯示設(shè)備列表,點擊所需設(shè)備名稱建立藍牙連接。觸發(fā)wifi按鈕建立網(wǎng)絡連接,觸發(fā)測試按鈕,測試通信信道是否建立,建立成功顯示”success connection”。該網(wǎng)關(guān)實現(xiàn)了雙向數(shù)據(jù)傳輸和網(wǎng)關(guān)管理,如圖8(b),8(c)。傳輸過程分為以下三種情況:
(1)藍牙設(shè)備發(fā)送數(shù)據(jù)給Android網(wǎng)關(guān)和遠程終端,Android網(wǎng)關(guān)和遠程終端顯示”xi’antechnological universitv”表明測試成功。
(2)Android網(wǎng)關(guān)發(fā)送數(shù)據(jù)給藍牙設(shè)備和遠程終端,藍牙設(shè)備和遠程終端顯示“I am Lei Bin”表明測試成功。
(3)遠程終端發(fā)送數(shù)據(jù)給Android網(wǎng)關(guān),Andiroid網(wǎng)關(guān)顯示“Success of socket communication”表明測試成功。網(wǎng)絡通信結(jié)果如圖8(d)所示。
6 結(jié)束語
由于采用藍牙串行通信技術(shù)連接物聯(lián)網(wǎng),避免了在Android平臺上的硬件開發(fā),使得在對現(xiàn)有Android智能平臺無需硬件改造及編寫底層驅(qū)動即可實現(xiàn)無線傳感網(wǎng)絡管理及和互聯(lián)網(wǎng)間的數(shù)據(jù)傳輸,大大降低了物聯(lián)網(wǎng)網(wǎng)關(guān)的應用難度和成本。
在該設(shè)計的基礎(chǔ)上,可以進一步實現(xiàn)對無線傳感器網(wǎng)絡的實時控制,這使得在移動終端融合物聯(lián)網(wǎng)應用成為可能。
編輯:jq
-
藍牙
+關(guān)注
關(guān)注
115文章
6026瀏覽量
173156 -
網(wǎng)絡通信
+關(guān)注
關(guān)注
4文章
824瀏覽量
30733 -
WSN
+關(guān)注
關(guān)注
17文章
188瀏覽量
109170
發(fā)布評論請先 登錄
基于御控物聯(lián)網(wǎng)網(wǎng)關(guān)的智能教學實訓平臺解決方案
聚焦工控物聯(lián)網(wǎng)網(wǎng)關(guān)

工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)的應用場景有哪些

CNC物聯(lián)網(wǎng)網(wǎng)關(guān)有什么功能
DCS數(shù)據(jù)采集物聯(lián)網(wǎng)網(wǎng)關(guān)是什么

智慧農(nóng)業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)是什么

水資源監(jiān)測物聯(lián)網(wǎng)網(wǎng)關(guān)是什么
物聯(lián)網(wǎng)網(wǎng)關(guān)的功能和作用
智慧物聯(lián)網(wǎng)網(wǎng)關(guān)是什么
Modbus物聯(lián)網(wǎng)網(wǎng)關(guān)是什么

MQTT物聯(lián)網(wǎng)網(wǎng)關(guān)是什么

經(jīng)濟型物聯(lián)網(wǎng)網(wǎng)關(guān)是什么

物聯(lián)網(wǎng)網(wǎng)關(guān)的主要功能有哪些?
能源物聯(lián)網(wǎng)網(wǎng)關(guān)是什么

工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)是什么?工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)的工作原理

評論