張 強(qiáng),鄭 昊
(中國(guó)電子科技集團(tuán)公司第十五研究所,北京100083)
基于安卓手機(jī)的環(huán)境信息采集傳輸系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
張 強(qiáng),鄭 昊
(中國(guó)電子科技集團(tuán)公司第十五研究所,北京100083)
利用藍(lán)牙無(wú)線傳輸?shù)谋憷院突ヂ?lián)網(wǎng)傳輸數(shù)據(jù)的靈活性,采用安卓手機(jī)作為數(shù)據(jù)匯集與上傳中心,使用nRF51822作為數(shù)據(jù)采集終端控制與藍(lán)牙傳輸中心,DHT11作為溫濕度采集模塊,同時(shí)利用手機(jī)采集圖片和GPS信息。安卓手機(jī)通過(guò)藍(lán)牙連接nRF51822芯片,接收到環(huán)境數(shù)據(jù)后將其打包,通過(guò)互聯(lián)網(wǎng)發(fā)送到遠(yuǎn)程服務(wù)器端,可將結(jié)果通過(guò)微信公眾號(hào)或網(wǎng)頁(yè)在客戶(hù)端上進(jìn)行分析與展示。數(shù)據(jù)采集終端采用藍(lán)牙4.0低功耗芯片nRF51822,使用兩節(jié)5號(hào)電池即可工作半年以上。此設(shè)計(jì)滿(mǎn)足了環(huán)境采集傳感器的實(shí)用性和可移動(dòng)性。
物聯(lián)網(wǎng);數(shù)據(jù)采集;低功耗藍(lán)牙;安卓;互聯(lián)網(wǎng)
物聯(lián)網(wǎng)通過(guò)智能感知、識(shí)別技術(shù)與普適計(jì)算等通信感知技術(shù),廣泛應(yīng)用于網(wǎng)絡(luò)的融合中,也因此被稱(chēng)為繼計(jì)算機(jī)、互聯(lián)網(wǎng)之后世界信息產(chǎn)業(yè)發(fā)展的第三次浪潮。利用物聯(lián)網(wǎng)技術(shù)監(jiān)測(cè)環(huán)境信息是解決環(huán)境問(wèn)題的第一步。其中,監(jiān)測(cè)設(shè)備、網(wǎng)絡(luò)通信、數(shù)據(jù)庫(kù)管理與應(yīng)用或網(wǎng)站的數(shù)據(jù)處理顯示組成此監(jiān)控系統(tǒng)。硬件與軟件的發(fā)展,推進(jìn)著環(huán)境監(jiān)控向著完善前進(jìn)。
很多學(xué)者使用Zigbee模塊和單片機(jī)網(wǎng)關(guān)的組合實(shí)現(xiàn)環(huán)境信息采集與傳輸[1-4],其中單片機(jī)網(wǎng)關(guān)的設(shè)計(jì)較為復(fù)雜,并且無(wú)法給用戶(hù)提供便捷的操作體驗(yàn)。還有學(xué)者采用單片機(jī)模塊、藍(lán)牙模塊實(shí)現(xiàn)環(huán)境數(shù)據(jù)的采集與傳輸,安卓手機(jī)作為客戶(hù)端連接藍(lán)牙芯片進(jìn)行環(huán)境數(shù)據(jù)的展示[5-9]。但是由于藍(lán)牙傳輸?shù)慕嚯x限制,這樣的設(shè)計(jì)無(wú)法滿(mǎn)足環(huán)境數(shù)據(jù)的遠(yuǎn)程展示與分析。
文中針對(duì)環(huán)境數(shù)據(jù)的采集與傳輸,兼顧其便利性與實(shí)用性,采用安卓手機(jī)作為傳輸網(wǎng)關(guān),使用藍(lán)牙4.0作為近距離通信技術(shù),采集溫濕度、煙霧、光照、圖片、經(jīng)緯度、地磁強(qiáng)度等信息,并通過(guò)互聯(lián)網(wǎng)傳輸?shù)竭h(yuǎn)程服務(wù)器,便于后續(xù)的數(shù)據(jù)展示。
此系統(tǒng)包含4大功能模塊:1)nRF51822驅(qū)動(dòng)環(huán)境傳感器采集環(huán)境數(shù)據(jù);2)nRF51822通過(guò)藍(lán)牙將環(huán)境數(shù)據(jù)傳輸?shù)桨沧渴謾C(jī)。3)安卓手機(jī)利用自身的傳感器采集環(huán)境信息。4)安卓手機(jī)通過(guò)互聯(lián)網(wǎng)將數(shù)據(jù)傳輸?shù)椒?wù)器端。
利用nRF51822的傳感器驅(qū)動(dòng)能力,驅(qū)動(dòng)溫濕度傳感器DHT11采集溫濕度信息,驅(qū)動(dòng)煙霧傳感器mq-2采集煙霧信息,驅(qū)動(dòng)光傳感器采集光照信息。
nRF51822搭配低功耗藍(lán)牙4.0芯片,通過(guò)在安卓手機(jī)上編寫(xiě)藍(lán)牙連接程序可以使用安卓手機(jī)發(fā)現(xiàn)并連接到nRF51822。安卓端程序通過(guò)預(yù)先初始化藍(lán)牙連接,可以通過(guò)輪詢(xún)來(lái)獲得每個(gè)nRF51822采集的環(huán)境數(shù)據(jù)。
目前市面上的安卓手機(jī)普遍帶有攝像頭、全球定位系統(tǒng)(GPS)、電子羅盤(pán)等傳感器,通過(guò)編寫(xiě)安卓程序,可以獲得圖片、經(jīng)緯度、地磁強(qiáng)度等環(huán)境信息。
安卓手機(jī)可以通過(guò)安裝的手機(jī)卡所提供的GPRS功能或者通過(guò)無(wú)線局域網(wǎng)功能訪問(wèn)互聯(lián)網(wǎng)。安卓端和服務(wù)器端約定好數(shù)據(jù)傳輸格式和傳輸接口,通過(guò)互聯(lián)網(wǎng),可以將通過(guò)藍(lán)牙接收到的環(huán)境數(shù)據(jù)和自身采集的環(huán)境數(shù)據(jù)發(fā)送到服務(wù)器端進(jìn)行存儲(chǔ)保存。
本系統(tǒng)依據(jù)不同協(xié)議的數(shù)據(jù)傳輸分為三層架構(gòu),總體架構(gòu)如圖1所示。
圖1 環(huán)境數(shù)據(jù)采集傳輸系統(tǒng)架構(gòu)
數(shù)據(jù)采集終端由nRF51822、dht11溫濕度傳感器、mq-2煙霧傳感器、光傳感器組成,通過(guò)藍(lán)牙連接到安卓手機(jī)。安卓手機(jī)端,通過(guò)定時(shí)輪詢(xún),可以連接多個(gè)數(shù)據(jù)采集終端。安卓手機(jī)接收到環(huán)境數(shù)據(jù)后,與自身采集的圖片等數(shù)據(jù)使用http協(xié)議通過(guò)互聯(lián)網(wǎng)傳輸?shù)椒?wù)器端。
環(huán)境數(shù)據(jù)采集終端由nRF51822模塊、DHT11溫濕度傳感器、MQ-2煙霧傳感器、光傳感器組成,通過(guò)編寫(xiě)運(yùn)行在nRF51822上的程序,可以驅(qū)動(dòng)DHT11、MQ-2、光傳感器采集環(huán)境數(shù)據(jù),并能驅(qū)動(dòng)藍(lán)牙連接模塊,進(jìn)行環(huán)境數(shù)據(jù)的藍(lán)牙傳輸。
nRF51822是芬蘭NORDIC公司研發(fā)的藍(lán)牙4.0低功耗通信芯片,其搭配有32位的ARM Cortex M0處理器,一個(gè)32位定時(shí)器,兩個(gè)16位定時(shí)器,31個(gè)gpio引腳,支持4路PCM輸出[10-11],電路圖如圖2所示。
DHT11是一款有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度傳感器。精度濕度+-5%RH,溫度+-2攝氏度,量程濕度20~90RH,溫度0~50攝氏度。其與nRF51822連接電路圖如圖3所示。DHT11的數(shù)據(jù)輸出端口連接到nRF51822的口相連接。
MQ-2煙霧傳感器與光傳感器都是通過(guò)AO(模擬輸出)口輸出模擬值。MQ-2連接nRF51822的模擬量輸入口,光傳感器連接nRF51822的模擬量輸入口。
nRF51822搭配有ARM Cortex M0處理器,通過(guò)對(duì)nRF51822編寫(xiě)程序,可以驅(qū)動(dòng)環(huán)境傳感器采集數(shù)據(jù)。nRF51822的開(kāi)發(fā)環(huán)境有keil5.13.0.0、Jlink4.96d、nRFgoStudio1.17.1、nRF51SDK6.1.0、SoftDevice7.1.0。Nrf51SDK提供了nRF51822的接口,keil用來(lái)編寫(xiě)和調(diào)試程序,Jlink是燒錄驅(qū)動(dòng),nRFgoStudio用來(lái)燒錄程序到nRF51822,SoftDevice燒錄到nRF51822中用來(lái)驅(qū)動(dòng)藍(lán)牙4.0。
燒錄程序時(shí),使用Jlink仿真器連接nRF51822和電腦后,打開(kāi)nRFgoStudio,首先燒錄SoftDevice,然后燒錄編譯后生成的二進(jìn)制程序。
圖2 nRF51822電路圖
圖3 DHT11連接nRF51822電路圖
DHT11芯片內(nèi)置控制器,通過(guò)單總線實(shí)現(xiàn)雙向通信。首先,主機(jī)發(fā)送開(kāi)始信號(hào),DHT11等待主機(jī)開(kāi)始信號(hào)結(jié)束后,開(kāi)始采集溫濕度信息,然后將40 bit的數(shù)據(jù)傳輸?shù)街鳈C(jī),數(shù)據(jù)格式為8 bit濕度整數(shù)數(shù)據(jù)+8 bit濕度小數(shù)數(shù)據(jù)+8 bi溫度整數(shù)數(shù)據(jù)+8 bit溫度小數(shù)數(shù)據(jù)+8 bit校驗(yàn)和[12-14]。
整個(gè)通訊過(guò)程如圖4所示
圖4 DHT11通信時(shí)序
nRF51822向DHT11發(fā)送開(kāi)始信號(hào)的代碼如下:
MQ-2和光傳感器的輸出為模擬值,nRF51822通過(guò)讀取模擬值后,根據(jù)模擬值與煙霧濃度和光照強(qiáng)度的轉(zhuǎn)換關(guān)系,可以將模擬值轉(zhuǎn)換為濃度值和強(qiáng)度值。nRF51822讀取模擬數(shù)據(jù)的代碼如下:
開(kāi)發(fā)環(huán)境由帶有攝像頭、GPS、電子羅盤(pán)的安卓手機(jī)、JDK1.8、AndroidStudio2.2.0.0組成,其中安卓手機(jī)中操作系統(tǒng)版本為Android5.0.2。其中,安卓手機(jī)運(yùn)行編寫(xiě)好的軟件采集環(huán)境信息,JDK提供java開(kāi)發(fā)環(huán)境,AndroidStudio用來(lái)編寫(xiě)、編譯、安裝程序到安卓手機(jī)。
程序需要使用攝像頭、GPS、電子羅盤(pán)、SD存儲(chǔ)卡模塊,需要首先在Android的清單文件中添加使用權(quán)限。在程序中調(diào)用Andoid SDK提供的攝像頭接口拍照,然后將照片存儲(chǔ)到SD存儲(chǔ)卡中,調(diào)用GPS接口獲得經(jīng)緯度位置信息,調(diào)用電子羅盤(pán)接口獲得地磁強(qiáng)度。編寫(xiě)好程序后,安裝到安卓手機(jī)上進(jìn)行調(diào)試。
藍(lán)牙技術(shù)聯(lián)盟(Bluetooth SIG)2010年7月7日宣布,正式采納藍(lán)牙4.0核心規(guī)范(Bluetooth Core Specification Version 4.0)。藍(lán)牙4.0技術(shù)擁有極低的運(yùn)行和待機(jī)功耗,使用一粒紐扣電池甚至可連續(xù)工作數(shù)年之久。
藍(lán)牙4.0規(guī)范定義了通用訪問(wèn)協(xié)議(Generic Access Profile,GAP)和通用屬性協(xié)議(Generic Attribute,GATT)。GAP負(fù)責(zé)發(fā)送廣播,建立連接,初始化設(shè)別等通信準(zhǔn)備工作,GATT負(fù)責(zé)鏈接后的數(shù)據(jù)通信[15-16]。
nRF51822做為從設(shè)備,進(jìn)行廣播,當(dāng)接收到連接請(qǐng)求后,建立連接,獲得連接建立成功事件后,開(kāi)始驅(qū)動(dòng)傳感器采集環(huán)境數(shù)據(jù),然后將環(huán)境數(shù)據(jù)發(fā)送給安卓手機(jī),當(dāng)獲得連接斷開(kāi)事件后,nRF51822進(jìn)入低功耗,等待下一次的連接。安卓手機(jī)首先需要做一次初始化連接,初始化連接的目的是記錄后續(xù)待連接的nRF51822的物理地址(Media Access Control,MAC)。然后設(shè)置一個(gè)定時(shí)器,定時(shí)讀取已存儲(chǔ)的藍(lán)牙MAC地址,連接藍(lán)牙設(shè)備,讀取環(huán)境數(shù)據(jù)后斷開(kāi)連接。
安卓手機(jī)通過(guò)藍(lán)牙獲得采集終端傳輸?shù)沫h(huán)境數(shù)據(jù)和自身采集的環(huán)境數(shù)據(jù)后,需要通過(guò)互聯(lián)網(wǎng)將數(shù)據(jù)發(fā)送到服務(wù)器端,由服務(wù)器存儲(chǔ)處理。安卓手機(jī)通過(guò)http協(xié)議的post方法,將數(shù)值型環(huán)境數(shù)據(jù)和標(biāo)識(shí)符組成鍵值對(duì),作為傳輸參數(shù)通過(guò)一次請(qǐng)求傳輸?shù)椒?wù)器。代碼如下:
對(duì)于圖片這種大二進(jìn)制文件的傳輸,使用構(gòu)造post請(qǐng)求來(lái)實(shí)現(xiàn)。
安卓手機(jī)作為中心點(diǎn),使用定時(shí)輪詢(xún)通過(guò)藍(lán)牙獲得分散在周邊的多個(gè)采集終端的環(huán)境數(shù)據(jù),結(jié)合本身采集的環(huán)境數(shù)據(jù),通過(guò)互聯(lián)網(wǎng)發(fā)送到服務(wù)器。整個(gè)系統(tǒng)的工作流程如圖5所示。
圖5 環(huán)境采集傳輸系統(tǒng)流程圖
該系統(tǒng)利用藍(lán)牙低功耗技術(shù),實(shí)現(xiàn)了具備長(zhǎng)達(dá)半年以上的采集終端,結(jié)合安卓手機(jī)作為中心,方便了用戶(hù)的設(shè)置操作,更能夠調(diào)用安卓手機(jī)的攝像頭和傳感器采集圖像、位置、地磁強(qiáng)度等環(huán)境信息,利用安卓手機(jī)連接互聯(lián)網(wǎng)的方便性,實(shí)現(xiàn)了將環(huán)境數(shù)據(jù)上傳到服務(wù)器的功能,為最終環(huán)境數(shù)據(jù)的多方面展示、深入分析,提供了基礎(chǔ)。本系統(tǒng)所述方案已證明可行,系統(tǒng)的安裝便捷性和使用方便性可使其在多領(lǐng)域應(yīng)用,目前已用于機(jī)房監(jiān)控、倉(cāng)庫(kù)監(jiān)控等領(lǐng)域。后續(xù)需要繼續(xù)完善環(huán)境數(shù)據(jù)采集終端,利用微信和網(wǎng)頁(yè)實(shí)現(xiàn)多種類(lèi)的環(huán)境數(shù)據(jù)展示,同時(shí),大量數(shù)據(jù)的積累,為環(huán)境數(shù)據(jù)的深度分析提供了數(shù)據(jù)來(lái)源。
[1]徐全鳳,基于ZigBee技術(shù)的遠(yuǎn)程監(jiān)控病房環(huán)境采集系統(tǒng)[D].曲阜,曲阜師范大學(xué),2014.
[2]李俊斌,胡永忠,基于CC2530的ZigBee通信網(wǎng)絡(luò)的應(yīng)用設(shè)計(jì)[J].電子設(shè)計(jì)工程,2011,19(16):108-111.
[3]韓華峰,杜克明,孫忠富,等,基于ZigBee網(wǎng)絡(luò)的溫室環(huán)境遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)與應(yīng)用[J].農(nóng)業(yè)工程學(xué)報(bào),2009,25(7):158-163.
[4]徐敬東,趙文耀,李淼,等.基于ZigBee的無(wú)線傳感器網(wǎng)絡(luò)設(shè)計(jì)[J].計(jì)算機(jī)工程,2010,36(10):110-112.
[5]熊獅,基于Android系統(tǒng)的生理數(shù)據(jù)藍(lán)牙傳輸技術(shù)[J].中國(guó)醫(yī)學(xué)物理學(xué)雜志,2012,29(6):3801-3803.
[6]范晨燦,基于藍(lán)牙4.0傳輸?shù)腁ndroid手機(jī)心電監(jiān)護(hù)系統(tǒng)[D].杭州:浙江大學(xué),2013.
[7]董世琨,張學(xué)典,常敏,等.基于Android手機(jī)藍(lán)牙的無(wú)線智能控制系統(tǒng)設(shè)計(jì)[J].信息技術(shù),2014(8):22-24.
[8]楊德龍,基于Android系統(tǒng)的藍(lán)牙無(wú)線動(dòng)態(tài)心電監(jiān)護(hù)系統(tǒng)設(shè)計(jì)[D].天津:天津大學(xué),2013.
[9]鄺小磊,黃仁龍,陳曉波.基于android手機(jī)的藍(lán)牙智能家居控制系統(tǒng)[J].科研,2016(9):10-12.
[10]趙萬(wàn)年,潘輝,黃超,等.基于nRF51822的藍(lán)牙防丟器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子科學(xué)技術(shù),2016,3(1):46-49.
[11]張曉飛,宋良平,宋威.nRF51822藍(lán)牙4.0的溫度墑情測(cè)量設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2016,16(1):56-59.
[12]韓英梅,趙建平,白慧靜.基于DHT11的無(wú)線溫濕度傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)[J].井岡山大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,32(1):67-70.
[13]潘繼強(qiáng).基于DHT11的空氣溫濕度監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù):學(xué)術(shù)交流,2014(21):5105-5108.
[14]張冬林,李鑫,戴梅,等.基于DHT11的低成本蠶室溫濕度自動(dòng)控制系統(tǒng)的設(shè)計(jì)[J].現(xiàn)代農(nóng)業(yè)科技,2010(18):14-15.
[15]徐金茍.低能耗藍(lán)牙4.0協(xié)議原理與實(shí)現(xiàn)方法[J].微型電腦應(yīng)用,2012,28(10):16-19.
[16]黃敏,張珣.基于藍(lán)牙4.0心電監(jiān)護(hù)系統(tǒng)的研究[J].物聯(lián)網(wǎng)技術(shù),2015(1):30-31.
Design and implementation of environment information acquisition and transmission system based on Android mobile phone
ZHANG Qiang,ZHENG Hao
(The15THResearch Institute Of China Electronics Technology Group Corporation,Beijing100083,China)
The use of Bluetooth wireless transmission convenience and the flexibility of the Internet transmission of data,the use of Android mobile phone as a data collection and upload center,the use of nRF51822 as a data acquisition terminal control and Bluetooth transmission center,DHT11 as a temperature and humidity acquisition module,while using mobile phones to collect pictures and GPS information.Android mobile phone through the Bluetooth connection nRF51822 chip,after receiving the environmental data will be packaged,sent to the remote server through the Internet,the results can be displayed by WeChat public or web page on the client for analysis and display.Data acquisition terminal using Bluetooth 4.0 low-power chip nRF51822,the use of two batteries on the 5th can work more than six months.This design meets the practicality and mobility of the environmental acquisition sensor.
Internet of things;data acquisition;low power bluetooth;Android
TN914
A
1674-6236(2017)22-0069-05
2017-04-10稿件編號(hào):201704052
張強(qiáng)(1992—),男,山東臨沂人,碩士研究生。研究方向:地理信息系統(tǒng)。