當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于Android平臺(tái)的物聯(lián)網(wǎng)網(wǎng)關(guān)方案設(shè)計(jì)

摘要:提出了一種基于Android平臺(tái)的物聯(lián)網(wǎng)網(wǎng)關(guān)方案。該網(wǎng)關(guān)通過藍(lán)牙串口通信實(shí)現(xiàn)物聯(lián)網(wǎng)中WSN (無(wú)線傳感器網(wǎng)絡(luò))中心節(jié)點(diǎn)和Android網(wǎng)關(guān)的數(shù)據(jù)傳輸,在Android平臺(tái)上實(shí)現(xiàn)WSN節(jié)點(diǎn)信息管理并通過Android的網(wǎng)絡(luò)資源實(shí)現(xiàn)互聯(lián)網(wǎng)接入,從而在WSN與互聯(lián)網(wǎng)之間搭建一條透明的數(shù)據(jù)傳輸通道,完成對(duì)無(wú)線節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行遠(yuǎn)程和實(shí)時(shí)的監(jiān)測(cè)控制。
關(guān)鍵詞:物聯(lián)網(wǎng);WSN;網(wǎng)關(guān)

    中國(guó)已成為第一大移動(dòng)互聯(lián)網(wǎng)市場(chǎng),在移動(dòng)互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的市場(chǎng)非常廣闊,這將使得物聯(lián)網(wǎng)應(yīng)用借助移動(dòng)互聯(lián)網(wǎng)平臺(tái)深入到各個(gè)領(lǐng)域,實(shí)現(xiàn)泛在的接入。目前移動(dòng)互聯(lián)網(wǎng)平臺(tái)常見的嵌入式操作系統(tǒng)主要足Linux、WindowsCE、MeeGo、Android、Palm等;其中Android系統(tǒng)的網(wǎng)絡(luò)集成性很高,被公認(rèn)為是一個(gè)基于Linux內(nèi)核并針對(duì)移動(dòng)設(shè)備的操作系統(tǒng)。
    針對(duì)移動(dòng)終端融合物聯(lián)網(wǎng)具有很大的意義,而物聯(lián)網(wǎng)接入互聯(lián)網(wǎng)的瓶頸是網(wǎng)關(guān) 本文提出了基于Android平臺(tái)、采用藍(lán)牙連接物聯(lián)網(wǎng)的網(wǎng)關(guān)方案,從而有效避免了物聯(lián)網(wǎng)網(wǎng)關(guān)的開發(fā)瓶頸。

1 基于Android平臺(tái)的WSN網(wǎng)關(guān)簡(jiǎn)介
   
星云測(cè)控系統(tǒng)是由一個(gè)WSN主節(jié)點(diǎn)和很多WSN測(cè)控節(jié)點(diǎn)構(gòu)成一個(gè)分布式的測(cè)控系統(tǒng),用于野外的暫時(shí)和長(zhǎng)期測(cè)量、橋梁檢測(cè)和大型結(jié)構(gòu)瞬態(tài)測(cè)試等?;贏ndroid平臺(tái)藍(lán)牙串口通信的星云測(cè)控(WSN)網(wǎng)關(guān)結(jié)構(gòu)示意圖如圖1所示:


    網(wǎng)關(guān)采用基于Android的帶有藍(lán)牙和Wifi/WLAN功能的智能平板,采用藍(lán)牙連接基于STM32W的WSN測(cè)控系統(tǒng)主節(jié)點(diǎn);網(wǎng)關(guān)將實(shí)現(xiàn)顯示、存儲(chǔ)、人機(jī)交互、遠(yuǎn)距離通信和網(wǎng)絡(luò)通信等功能。網(wǎng)關(guān)軟件在Android2.3操作系統(tǒng)下運(yùn)行,程序在Android Eclipse下開發(fā)完成。其工作過程大致為:將網(wǎng)關(guān)藍(lán)牙與ZigBee主控節(jié)點(diǎn)藍(lán)牙進(jìn)行配對(duì)、連接和數(shù)據(jù)傳輸,同時(shí)網(wǎng)關(guān)通過同一局域網(wǎng)的WiFi連接至遠(yuǎn)程終端,實(shí)現(xiàn)對(duì)ZigBee網(wǎng)絡(luò)測(cè)控信息的顯示、存儲(chǔ)和控制等,實(shí)現(xiàn)網(wǎng)關(guān)的通信和管理,完成WSN和互聯(lián)網(wǎng)的雙向數(shù)據(jù)傳輸和控制。

2 Android平臺(tái)的物聯(lián)網(wǎng)網(wǎng)關(guān)的設(shè)計(jì)方案
   
網(wǎng)關(guān)通過藍(lán)牙串口實(shí)現(xiàn)與WSN中心節(jié)點(diǎn)間的通信,在Android平臺(tái)上實(shí)現(xiàn)WSN節(jié)點(diǎn)信息管理并通過Andrid的網(wǎng)絡(luò)資源實(shí)現(xiàn)互聯(lián)網(wǎng)接入,從而在WSN與互聯(lián)網(wǎng)之間搭建一條透明的數(shù)據(jù)傳輸通道,完成對(duì)無(wú)線節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行遠(yuǎn)程和實(shí)時(shí)的監(jiān)測(cè)控制。圖2為基于Android平臺(tái)的網(wǎng)關(guān)設(shè)計(jì)框圖,Android平臺(tái)下的物聯(lián)網(wǎng)網(wǎng)關(guān)的軟件實(shí)現(xiàn),需要完成以下步驟:
    (1)設(shè)置藍(lán)牙和Wi—Fi;
    (2)發(fā)現(xiàn)已經(jīng)配對(duì)或者附近的藍(lán)牙設(shè)備;
    (3)連接設(shè)備;
    (4)在不同設(shè)備之間傳輸數(shù)據(jù);
    (5)使用Wi—Fi通過無(wú)線路南連接同一無(wú)線局域網(wǎng),通過Socket建立基于TCP/IP協(xié)議的網(wǎng)絡(luò)通信。
    (6)網(wǎng)關(guān)實(shí)現(xiàn)對(duì)WSN的管理。


    圖3為網(wǎng)關(guān)工作流程。 Android的物聯(lián)網(wǎng)網(wǎng)關(guān)的設(shè)計(jì)實(shí)現(xiàn)了以下功能:?jiǎn)?dòng)藍(lán)牙、啟動(dòng)Wi—Fi、藍(lán)牙設(shè)備是否可見、搜索藍(lán)牙、藍(lán)牙設(shè)備的配對(duì)與連接、藍(lán)牙串口通信和網(wǎng)絡(luò)通信和網(wǎng)關(guān)管理。
[!--empirenews.page--]
3 Android網(wǎng)關(guān)的藍(lán)牙串口通信和網(wǎng)絡(luò)通信
3.1 Android網(wǎng)關(guān)的藍(lán)牙串口通信
   
“藍(lán)牙”是一種短距離的無(wú)線連接技術(shù)標(biāo)準(zhǔn)的代稱,實(shí)質(zhì)內(nèi)容就是要建立通用的無(wú)線電空中接口及其控制軟件的公開標(biāo)準(zhǔn)。利用“藍(lán)牙”技術(shù),能夠有效地簡(jiǎn)化移動(dòng)通信終端設(shè)備之間的通信,也能夠成功地簡(jiǎn)化設(shè)備與因特網(wǎng)之間的通信,從而數(shù)據(jù)傳輸變得更加迅速高效,為無(wú)線通信拓寬道路。Android的藍(lán)牙(Bluetooth)協(xié)議棧使用BlueZ (Linux官方的Bluetooth棧)來實(shí)現(xiàn)對(duì)GAP、SDP和RFCOMM等應(yīng)用規(guī)范提供支持,并獲得了SIG認(rèn)證。BlueZ的RFCOMM提供Bluetooth上的串行仿真,這使得串行端口應(yīng)用程序和協(xié)議不加更改地在Bluetooth上運(yùn)行。RFC OMM模塊和用戶模式dund的后臺(tái)進(jìn)程實(shí)現(xiàn)了Bluetooth撥號(hào)網(wǎng)絡(luò)。Bluetooth規(guī)范支持針對(duì)Bluetooth HCI數(shù)據(jù)分組的UART(通用異步接收器/傳送器)和USB傳輸機(jī)制。BluZ棧同時(shí)支持這兩個(gè)傳輸機(jī)制(drivers/Bluetooth/)。圖4為Android Bluetooth部分的關(guān)系圖。


    Android包含了對(duì)藍(lán)牙協(xié)議棧的支持,這使得藍(lán)牙設(shè)備能夠無(wú)線連接其他藍(lán)牙設(shè)備交換數(shù)據(jù)。Android的應(yīng)用程序框架提供了訪問藍(lán)牙功能API,實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)或點(diǎn)對(duì)多點(diǎn)的無(wú)線交互功能。使用藍(lán)牙API,一個(gè)Android應(yīng)用程序能夠?qū)崿F(xiàn)下列功能:掃描其他藍(lán)牙設(shè)備、查詢本地藍(lán)牙適配器用于配對(duì)藍(lán)牙設(shè)備、建立RFCOMM信道、通過服務(wù)發(fā)現(xiàn)連接其他設(shè)備、數(shù)據(jù)通信和管理多個(gè)連接。圖5為本設(shè)計(jì)的藍(lán)牙串口通信流程圖。實(shí)現(xiàn)了藍(lán)牙設(shè)備打開、可見、搜索和連接管理。

[!--empirenews.page--]
3.2 Android網(wǎng)絡(luò)通信
   
Android完全支持JDK本身的TCP、UDP網(wǎng)絡(luò)通信的API,可以使用SeverSocket、Socket來建立基于TCP/IP協(xié)議的網(wǎng)絡(luò)通信,也可以使用DatagramSocket、Datagrampacket、MulticastSocket來建立UDP協(xié)議的網(wǎng)絡(luò)通信。本設(shè)計(jì)采用TCP/IP協(xié)議來實(shí)現(xiàn)網(wǎng)絡(luò)通信,通信流程如圖6所示。


    本設(shè)計(jì)只實(shí)現(xiàn)客戶端編程,服務(wù)端用SocketTool TCP/IP通信調(diào)試工具V2.2在PC端建立。使用Socket來實(shí)現(xiàn)客戶端的步驟如下:
    (1)通過IP地址和端口實(shí)例化Socket,請(qǐng)求連接服務(wù)器。
    (2)獲取Socket上的流以進(jìn)行讀寫。
    (3)把流包裝進(jìn)BufferedReader的實(shí)例。
    (4)對(duì)Socket進(jìn)行讀寫
    (5)關(guān)閉打殲的流程。
    關(guān)鍵代碼如下:
   

4 網(wǎng)關(guān)的管理功能及實(shí)現(xiàn)
   
網(wǎng)關(guān)在應(yīng)用層實(shí)現(xiàn)對(duì)WSN的管理,主要包括安全認(rèn)證、時(shí)間統(tǒng)一、監(jiān)測(cè)數(shù)據(jù)采集、節(jié)點(diǎn)定位和遠(yuǎn)程傳輸功能,從而實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)的實(shí)時(shí)臨控和管理。功能設(shè)計(jì)如下:
    (1)安全認(rèn)證:協(xié)調(diào)節(jié)點(diǎn)在安全認(rèn)汪中,將申請(qǐng)節(jié)點(diǎn)的ID發(fā)給網(wǎng)關(guān),網(wǎng)關(guān)查找配置表中的授權(quán)入網(wǎng)節(jié);如果該節(jié)點(diǎn)ID在表中,則通知協(xié)調(diào)節(jié)點(diǎn)允許入網(wǎng),否則不允許入網(wǎng)。同時(shí),網(wǎng)關(guān)可以顯示、添加或修改節(jié)點(diǎn)配置表中的授權(quán)入網(wǎng)節(jié)點(diǎn)。
    如圖8—1所示,網(wǎng)關(guān)插入配置表信息,該實(shí)驗(yàn)為四個(gè)節(jié)點(diǎn)組成的ZigBee網(wǎng)絡(luò),節(jié)點(diǎn)編號(hào)分別為0080E102001BC94D、0080E102001BCE91、0080E102001BC204和0080E102001BCF51。ZigBee組成的無(wú)線傳感器網(wǎng)絡(luò)實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)通信,網(wǎng)關(guān)可以采集到節(jié)點(diǎn)數(shù)據(jù)信息,并用綠燈顯示該網(wǎng)絡(luò)實(shí)現(xiàn)的是1號(hào)節(jié)點(diǎn)和3號(hào)節(jié)點(diǎn)之間的點(diǎn)對(duì)點(diǎn)通信,紅燈表明處于非工作狀態(tài)。[!--empirenews.page--]
    (2)時(shí)間統(tǒng)一:在進(jìn)行時(shí)間統(tǒng)一的過程中,首先通過NTP協(xié)議對(duì)網(wǎng)關(guān)校時(shí),并以此時(shí)間為基準(zhǔn),把時(shí)間發(fā)給協(xié)調(diào)器節(jié)點(diǎn),從而校準(zhǔn)協(xié)調(diào)節(jié)點(diǎn)的時(shí)間和網(wǎng)內(nèi)子節(jié)點(diǎn)的時(shí)間,實(shí)現(xiàn)網(wǎng)絡(luò)中節(jié)點(diǎn)的時(shí)間統(tǒng)一。如圖7(a)所示,網(wǎng)關(guān)的最下方顯示了NTP協(xié)議實(shí)現(xiàn)的校時(shí)。


    (3)監(jiān)測(cè)數(shù)據(jù)采集:在進(jìn)行節(jié)點(diǎn)定位的過程中,網(wǎng)關(guān)可以采集節(jié)點(diǎn)數(shù)據(jù)、提取節(jié)點(diǎn)號(hào)和RSSI值。如圖7(h)所示,上方滾動(dòng)串口顯示了收到的來自ZigBee無(wú)線傳感器網(wǎng)絡(luò)的串口數(shù)據(jù)。
    (4)節(jié)點(diǎn)定位:ZigBee網(wǎng)絡(luò)使用RSSI測(cè)距法實(shí)現(xiàn)節(jié)點(diǎn)定位,網(wǎng)關(guān)采集節(jié)點(diǎn)RSSI值解算出了節(jié)點(diǎn)大概位置。
    (5)存儲(chǔ)監(jiān)測(cè)數(shù)據(jù):接收節(jié)點(diǎn)監(jiān)測(cè)數(shù)據(jù)并定期以文件形式保存到本地的SD卡中。如圖8—2截取的存儲(chǔ)至SD卡的數(shù)據(jù)傳輸數(shù)據(jù),命名為Bluetooth.txt。

5 測(cè)試結(jié)果
   
系統(tǒng)所需的硬件平臺(tái)為:Android平板電腦一部、BMX藍(lán)牙模塊、PC機(jī)一臺(tái)。本實(shí)驗(yàn)所需的軟件平臺(tái)為:SSCOM32串口調(diào)試助手、Socket Tool網(wǎng)絡(luò)調(diào)試和TCP/UDP開發(fā)丁具、Ecplise JAVA開發(fā)環(huán)境和Android SDK開發(fā)包。網(wǎng)絡(luò)通信設(shè)置的IP地址為:192.168.0.190,端口號(hào)為:30000。


    運(yùn)行主要結(jié)果如圖8所示。圖8 (a)為設(shè)備連接界面,主要實(shí)現(xiàn)藍(lán)牙連接和網(wǎng)絡(luò)連接,觸發(fā)搜索設(shè)備按鈕顯示設(shè)備列表,點(diǎn)擊所需設(shè)備名稱建立藍(lán)牙連接。觸發(fā)wifi按鈕建立網(wǎng)絡(luò)連接,觸發(fā)測(cè)試按鈕,測(cè)試通信信道是否建立,建立成功顯示”success connection”。該網(wǎng)關(guān)實(shí)現(xiàn)了雙向數(shù)據(jù)傳輸和網(wǎng)關(guān)管理,如圖8(b),8(c)。傳輸過程分為以下三種情況:
    (1)藍(lán)牙設(shè)備發(fā)送數(shù)據(jù)給Android網(wǎng)關(guān)和遠(yuǎn)程終端,Android網(wǎng)關(guān)和遠(yuǎn)程終端顯示”xi’antechnological universitv”表明測(cè)試成功。
    (2)Android網(wǎng)關(guān)發(fā)送數(shù)據(jù)給藍(lán)牙設(shè)備和遠(yuǎn)程終端,藍(lán)牙設(shè)備和遠(yuǎn)程終端顯示“I am Lei Bin”表明測(cè)試成功。
    (3)遠(yuǎn)程終端發(fā)送數(shù)據(jù)給Android網(wǎng)關(guān),Andiroid網(wǎng)關(guān)顯示“Success of socket communication”表明測(cè)試成功。網(wǎng)絡(luò)通信結(jié)果如圖8(d)所示。

6 結(jié)束語(yǔ)
   
由于采用藍(lán)牙串行通信技術(shù)連接物聯(lián)網(wǎng),避免了在Android平臺(tái)上的硬件開發(fā),使得在對(duì)現(xiàn)有Android智能平臺(tái)無(wú)需硬件改造及編寫底層驅(qū)動(dòng)即可實(shí)現(xiàn)無(wú)線傳感網(wǎng)絡(luò)管理及和互聯(lián)網(wǎng)間的數(shù)據(jù)傳輸,大大降低了物聯(lián)網(wǎng)網(wǎng)關(guān)的應(yīng)用難度和成本。
    在該設(shè)計(jì)的基礎(chǔ)上,可以進(jìn)一步實(shí)現(xiàn)對(duì)無(wú)線傳感器網(wǎng)絡(luò)的實(shí)時(shí)控制,這使得在移動(dòng)終端融合物聯(lián)網(wǎng)應(yīng)用成為可能。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉