龔成瑩
一種基于藍牙的無線傳感網(wǎng)測控小車設(shè)計
龔成瑩
(蘭州工業(yè)學(xué)院電信學(xué)院,甘肅蘭州730050)
針對無線傳感測控數(shù)據(jù)與移動互聯(lián)網(wǎng)相結(jié)合的需求,設(shè)計并實現(xiàn)了一種基于藍牙和Android智能終端的無線傳感網(wǎng)測控小車。利用由CC2530組成的無線傳感網(wǎng)進行節(jié)點數(shù)據(jù)的采集和通信,IAP15F2K61S2單片機控制的測控小車進行數(shù)據(jù)的匯聚和轉(zhuǎn)發(fā),在Android終端上實現(xiàn)數(shù)據(jù)的存儲和顯示。實驗結(jié)果表明,該方案能夠?qū)鞲袛?shù)據(jù)、物聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)進行有效融合。
無線傳感網(wǎng);藍牙;智能小車;Android
引用格式:龔成瑩.一種基于藍牙的無線傳感網(wǎng)測控小車設(shè)計[J].無線電工程,2016,46(5):72-74,94.
隨著檢測技術(shù)、無線傳感網(wǎng)及移動互聯(lián)網(wǎng)技術(shù)的相互滲透,產(chǎn)生了多種技術(shù)相融合的網(wǎng)絡(luò)化測控系統(tǒng),將無線傳感網(wǎng)與智能小車以及Android智能終端相結(jié)合,對傳感數(shù)據(jù)的感知、數(shù)據(jù)傳輸、數(shù)據(jù)處理、數(shù)據(jù)存儲和數(shù)據(jù)顯示進行有效整合,這在工業(yè)生產(chǎn)、環(huán)境監(jiān)控、智能交通、智能家居和公共衛(wèi)生等多個領(lǐng)域有著廣泛應(yīng)用。同時,作為一款開源系統(tǒng),Android不僅在移動互聯(lián)網(wǎng)領(lǐng)域占據(jù)了大半市場,在物聯(lián)網(wǎng)和嵌入式領(lǐng)域也得到了廣泛應(yīng)用[1-2]。
本文針對檢測數(shù)據(jù)與移動互聯(lián)網(wǎng)相結(jié)合的需求,融合利用無線傳感網(wǎng)、Android智能系統(tǒng)和單片機嵌入式技術(shù),利用藍牙通訊,設(shè)計了一種多用途的智能測控小車。
系統(tǒng)結(jié)構(gòu)如圖1所示。系統(tǒng)由無線傳感網(wǎng)測控節(jié)點、測控小車和Android測控終端3部分組成,其中無線傳感節(jié)點負責對環(huán)境狀態(tài)進行數(shù)據(jù)采集,數(shù)據(jù)由無線傳感網(wǎng)絡(luò)進行傳輸;測控小車由Android終端進行控制,對無線傳感網(wǎng)節(jié)點數(shù)據(jù)進行匯聚,在測控小車上掛載無線傳感網(wǎng)網(wǎng)關(guān)節(jié)點,通過串口與無線傳感網(wǎng)交換數(shù)據(jù);測控小車與Android終端之間使用藍牙方式通訊。
圖1 系統(tǒng)結(jié)構(gòu)
采用無線傳感器網(wǎng)技術(shù),主要是針對短距離、低功耗和低速的數(shù)據(jù)傳輸。傳感節(jié)點負責采集在不同方位布點的節(jié)點信息,包括節(jié)點溫度、濕度和光照等狀態(tài)信息,數(shù)據(jù)節(jié)點之間通過特定無線傳輸芯片進行連接和轉(zhuǎn)發(fā)。無線傳感網(wǎng)絡(luò)具有自組織和自維護特征,即當某些節(jié)點發(fā)生問題時,不會影響網(wǎng)絡(luò)其他傳感器節(jié)點的數(shù)據(jù)傳輸,可以在不增加單個節(jié)點成本同時進行大規(guī)模的布設(shè)[3]。
采用基于CC2530的Zigbee協(xié)議組建無線傳感網(wǎng)絡(luò)[4],利用各網(wǎng)絡(luò)節(jié)點采集節(jié)點溫度、濕度等狀態(tài),數(shù)據(jù)經(jīng)由路由節(jié)點傳送到網(wǎng)關(guān)節(jié)點,將網(wǎng)關(guān)與測控小車控制器相連,通過串口與單片機進行通訊。
測控小車在Android控制端的控制下完成無線傳感網(wǎng)數(shù)據(jù)的匯聚和傳輸功能,具有循跡、避障、測距、測溫、電機驅(qū)動和串口通訊等功能,最終通過藍牙方式將傳感數(shù)據(jù)上傳至Android控制終端。
3.1 模塊設(shè)計
測控小車包括:電源驅(qū)動、循跡、超聲波測距、紅外避障、測溫、顯示、WSN網(wǎng)關(guān)節(jié)點和藍牙串口等模塊,如圖2所示。其中,主控芯片采用STC公司生產(chǎn)的單時鐘周期的單片機IAP15F2K61S2,具有高速、低功耗和超強抗干擾功能強的特點,其內(nèi)部集成3路PWM、2路串口和8路高速10位A/D轉(zhuǎn)換,非常適于在電機控制和強干擾場合應(yīng)用[5]。
圖2 測控小車
3.2 雙串口應(yīng)用
雙串口控制流程如圖3所示。
圖3 雙串口控制流程
利用IAP15F2K61S2的雙串口特點,實現(xiàn)測控小車同時與傳感節(jié)點和Android控制端進行通信的功能,串口2的默認端口是RxD2/P1.2(可通過寄存器設(shè)置到P4.2)和TxD2/P1.3(可通過寄存器設(shè)置到P4.3)[6]。程序控制使用中斷方式,當串口1收到無線傳感網(wǎng)網(wǎng)關(guān)節(jié)點的數(shù)據(jù)后,對數(shù)據(jù)進行校驗,若通過校驗,則將數(shù)據(jù)存入緩沖區(qū);主程序定時讀取緩沖區(qū)數(shù)據(jù),按照約定的協(xié)議格式封裝成數(shù)據(jù)幀,通過串口2向 Android上位端發(fā)送數(shù)據(jù)幀。反之,當Android端向測控小車發(fā)送指令時,IAP15F2K61S2執(zhí)行類似的反方向操作。
3.3 藍牙通訊
測控小車與Android控制端采用藍牙方式進行數(shù)據(jù)通訊,由于IAP15F2K61S2單片機本身沒有藍牙通訊的功能,這里采用第3方的藍牙串口模塊將單片機的串行口擴展到藍牙無線信道[7]。
根據(jù)設(shè)計需求,選擇濟南華茂科技的藍牙數(shù)傳模塊HM-10,HM-10支持藍牙4.0,具有低功耗的特點,其串口收發(fā)沒有字節(jié)限制,在空曠環(huán)境下與iphone4S可以實現(xiàn)100 m的遠距通訊。HM-10采用TI CC2540芯片,配置256K空間,支持AT指令,用戶可以根據(jù)需要更改角色(主、從模式)以及串口波特率、設(shè)備名和配對密碼等參數(shù),使用靈活[8]。
HM-10模塊具有豐富的外設(shè)接口,除了UART_ TX、UART_RX接口外,還有USB和PIO接口,這里選擇UART接口,IAP15F2K61S2的串口2與HM-10 的UART接口交叉相連,這樣無需了解藍牙底層協(xié)議,測控小車即可與Android終端通訊了。
3.4 通訊協(xié)議
Android端向測控小車發(fā)送數(shù)據(jù)協(xié)議格式如表1所示。
表1 Android向小車發(fā)送數(shù)據(jù)格式
數(shù)據(jù)幀由5個字節(jié)構(gòu)成,前2個字節(jié)是固定值,即包頭,第3個字節(jié)是主指令,后2個字節(jié)是副指令,副指令是屬于主指令的功能指令,主指令功能包括:
①停止:“0x01”,副指令為“0x00”,“0x00”;
②前進:“0x02”,副指令為小車速度,即PWM設(shè)置值;
③后退:“0x03”,副指令為小車速度,即PWM設(shè)置值;
④左轉(zhuǎn):“0x04”,副指令為小車速度,即PWM設(shè)置值;
⑤右轉(zhuǎn):“0x05”,副指令為小車速度,即PWM設(shè)置值;
⑥自動循跡:“0x05”,副指令為小車速度,即PWM設(shè)置值。
測控小車向Android端發(fā)送的指令協(xié)議格式如表2所示,長度根據(jù)傳感節(jié)點的數(shù)量而定,包括:包頭、包尾、小車狀態(tài)、測距值和各傳感節(jié)點狀態(tài)值等字段。
表2 小車向Android發(fā)送數(shù)據(jù)格式
Android控制端由運行在Android移動設(shè)備上的APP應(yīng)用程序來實現(xiàn),該APP利用藍牙串口協(xié)議SPP與測控小車進行無線通訊[9],實現(xiàn)對測控小車的控制,包括:方向的手動控制、重力感應(yīng)、避障和自動尋跡;同時,Android移動設(shè)備能夠?qū)崟r地接收、存儲和顯示測控小車發(fā)送來的傳感節(jié)點數(shù)據(jù)。
Android應(yīng)用對藍牙串口數(shù)據(jù)輸入、輸出處理流程如圖4所示。
圖4 數(shù)據(jù)輸入、輸出處理流程
Android應(yīng)用程序以Client的角色主動連接藍牙模塊HM-10,Android的藍牙串口服務(wù)(SPP)具有其唯一的UUID和MAC地址。在主線程中用Bluetooth Adapter適配器對象注冊Broadcast Receiver廣播接收者來獲取藍牙狀態(tài)并實現(xiàn)設(shè)備的搜索和配對;在與HM-10配對后,建立Android服務(wù)組件在后臺監(jiān)聽藍牙數(shù)據(jù),驗證接收到的數(shù)據(jù)后,對數(shù)據(jù)幀進行解封,根據(jù)約定的協(xié)議,將數(shù)據(jù)存入本機的SQLite數(shù)據(jù)庫[10],同時顯示在Activity界面上。以同樣的方法向測控小車發(fā)送指令,實現(xiàn)全雙工串行通訊。
在Android 2.3以上的系統(tǒng)中運行測控小車的APP應(yīng)用程序,程序界面如圖5所示。實驗室環(huán)境下,在小車以外布設(shè)3個CC2530網(wǎng)絡(luò)節(jié)點,在小車車身上安裝1個協(xié)調(diào)器節(jié)點。結(jié)果表明,使用此方案可以對測控小車進行流暢的控制,小車可以手動和自動運行,測控小車能夠在運動狀態(tài)下保障節(jié)點數(shù)據(jù)的正確匯聚和傳輸,節(jié)點狀態(tài)界面每隔1 s刷新顯示無線傳感網(wǎng)絡(luò)中各監(jiān)測節(jié)點采集到的數(shù)據(jù)。
圖5 Android端測控界面
利用無線傳感網(wǎng)節(jié)點實現(xiàn)環(huán)境狀態(tài)的采集,構(gòu)建可以自組網(wǎng)、多跳、便于擴展的傳感數(shù)據(jù)通訊網(wǎng)絡(luò);采用基于IAP15F2K61S2單片機的測控小車作為數(shù)據(jù)匯聚網(wǎng)關(guān),實現(xiàn)小車控制、循跡、測距和雙串口通訊等功能;通過藍牙通訊方式完成Android系統(tǒng)對測控小車的控制、測控數(shù)據(jù)交換和存儲顯示。文中提出的方案適用于工業(yè)控制、消防安全和探測等工作環(huán)境,具有一定的應(yīng)用價值。
[1] 馮艷紅,何加銘,楊任爾,等.基于Android藍牙技術(shù)的健康服務(wù)系統(tǒng)設(shè)計[J].無線電通信技術(shù),2014,40 (1):61-64.
[2] 湯莉莉,馬 仟,黃 偉.語音無線遙控智能小車設(shè)計[J].無線電工程,2014,44(12):66-69.
[3] 馬正華,宋 磊,焦竹青,等.基于無線傳感網(wǎng)的蔬菜工廠智能監(jiān)控系統(tǒng)設(shè)計[J].自動化與儀表,2013(11):20-24.
[4] 黃家露,楊 方,張衍林.基于CC2430的溫室無線傳感器節(jié)點設(shè)計與應(yīng)用[J].華中農(nóng)業(yè)大學(xué)學(xué)報,2013,32 (5):119-123.
[5] 韋建新.超小型減搖鰭變參PID電控系統(tǒng)的實現(xiàn)與分析[J].船舶工程,2012,34(s2):284-286.
[6] 湯莉莉,黃 偉,王春波,等.基于Cortex-M3單片機的WiFi物聯(lián)網(wǎng)小車的設(shè)計[J].無線電工程,2014,44 (4):58-61.
[7] 王筱珍,關(guān)艷如.基于Modbus協(xié)議的Android端工廠化養(yǎng)殖移動監(jiān)測軟件[J].測控技術(shù),2014,33(1):115-117.
[8] 馬丹萍,李 勇,梁勤歐.無線遙控智能小車的運動模擬及軌跡繪制[J].浙江師范大學(xué)學(xué)報(自然科學(xué)版),2015,38(1):116-120.
[9] 劉哲源,王 麗,師五喜.基于安卓平臺的血壓檢測系統(tǒng)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2013(11):67-69.
[10]王 浩,邵高平,胡澤明.基于SQLite的戰(zhàn)場態(tài)勢信息快速存取研究[J].計算機工程與設(shè)計,2013,34(8):2 743-2 749.
Design of Measurement and Control Car for WSN Based on Bluetooth
GONG Cheng-ying
(College of Electronics and Information Engineering,Lanzhou Institute of Technology,Lanzhou Gansu 730050,China)
For the demands of test data combined with the mobile Internet,a car for wireless sensor network measurement and control based on Bluetooth and Android is designed and implemented.In this system,the information of environment status is acquired and transmitted by wireless sensor network which consists of CC2530,the WSN data is gathered and forwarded by IAP15F2K61S2 MCU,and finally data is stored and displayed using Android smart terminal.The test shows that this system can effectively integrate the sensor data,IoT and mobile Internet.
wireless sensor network;Bluetooth;smart car;Android
TP277
A
1003-3106(2016)05-0072-03
10.3969/j.issn.1003-3106.2016.05.19
2016-01-06
甘肅省高等學(xué)校研究生導(dǎo)師科研計劃資助項目(2014A-124);蘭州工業(yè)學(xué)院青年科技創(chuàng)新計劃項目(14K-008)。
龔成瑩 女,(1979—),碩士,副教授。主要研究方向:信號與信息處理。