常 敏,梅曉敏,崔永進,王業(yè)生
(上海理工大學(xué) 光電信息與計算機工程學(xué)院,上海 200093)
畜牧業(yè)是農(nóng)業(yè)的重要組成部分,在我國國民經(jīng)濟中占很大比重。在畜牧產(chǎn)業(yè)中,牧場的溫濕度對牧場中動物的生產(chǎn)能力及牧場產(chǎn)品的質(zhì)量影響極其重要。因此,保證飼養(yǎng)環(huán)境的溫濕度達到最佳標準顯得極其重要。
目前在畜牧業(yè)中,牧場環(huán)境溫濕度的監(jiān)測與控制主要采用以下幾種方法:(1)依靠人工溫濕度監(jiān)測控制。通過人工定期的監(jiān)測,當(dāng)發(fā)現(xiàn)溫度高于或者低于標準范圍則分別采用降溫或者加熱措施。同樣,當(dāng)發(fā)現(xiàn)濕度高于或者低于標準范圍則分別采用干燥或者加濕措施來處理。這種方式人工成本相對較高,監(jiān)測與控制也不能保證非常準確。(2)pc端遠程溫濕度監(jiān)測控制。隨著科技的發(fā)展,出現(xiàn)了一些半智能牧場的解決方案。當(dāng)溫濕度超出標準范圍時通過控制一些設(shè)備來重新使溫濕度滿足要求[1]。這種方式的優(yōu)點是降低了牧場的人工成本,實現(xiàn)了半智能化的牧場溫濕度管理。缺點是只能實現(xiàn)溫濕度的監(jiān)測,不能實現(xiàn)遠程實時控制,而且依賴pc機,靈活性差。(3)客戶端短消息溫濕度監(jiān)測。利用GSM網(wǎng)絡(luò)將傳感器監(jiān)測到的數(shù)據(jù)以短信息的形式發(fā)送到手機客戶端[2]。這種方法的優(yōu)點是實現(xiàn)了遠程實時的監(jiān)控。缺點是手機客戶端只是接收信息,無法實現(xiàn)客戶端遠程對環(huán)境溫濕度的控制,智能化程度低。以上方式均可完成溫濕度的監(jiān)測,但還存在不少缺點,如何能夠在降低人工成本、提高智能化的基礎(chǔ)上實現(xiàn)實時監(jiān)測與控制牧場中環(huán)境的溫濕度是本文設(shè)計的目的。
本文提出了一種基于藍牙4.0BLE技術(shù)與Android客戶端的牧場溫濕度實時遠程監(jiān)測與控制系統(tǒng),應(yīng)用溫濕度傳感器采集牧場環(huán)境溫濕度,利用嵌入式系統(tǒng)對采集的溫濕度數(shù)據(jù)處理并與標準值判斷,將溫濕度值通過網(wǎng)絡(luò)在手機客戶端軟件實時顯示。手機客戶端同時也可以發(fā)出控制環(huán)境溫濕度設(shè)備的命令,通過網(wǎng)絡(luò)將命令傳輸給對應(yīng)設(shè)備。該系統(tǒng)功耗低,可方便快捷地實現(xiàn)24 h實時監(jiān)測與控制,智能化程度高,并大量減少人力成本的支出。
該監(jiān)測控制系統(tǒng)主要由溫濕度監(jiān)測終端與手機客戶端組成。監(jiān)測系統(tǒng)的主體是溫濕度傳感器,加熱降溫設(shè)備和加濕干燥設(shè)備。將這些主體設(shè)備固定在每個需要監(jiān)測與控制的牧場中。
綜合考慮傳輸信號抗干擾性與低功耗,這里采用BLE實現(xiàn)數(shù)據(jù)的傳輸。低功耗和抗干擾性強是BLE最大的特點。監(jiān)測控制終端采用ARM-M0平臺,終端不斷讀取溫濕度傳感器的數(shù)據(jù)并進行分析處理,獲取實時的溫濕度信息,并根據(jù)事先設(shè)定的標準值范圍,判斷牧場溫濕度值是否超出標準范圍。如果溫濕度超出設(shè)定的標準范圍,自動控制加熱降溫與加濕干燥設(shè)備的運行對其進行調(diào)整。溫濕度傳感器獲得的數(shù)據(jù)通過藍牙發(fā)送給網(wǎng)關(guān),然后再通過以太網(wǎng)將信息傳輸?shù)椒?wù)器端,供手機客戶端訪問,使用戶能實時監(jiān)測與控制牧場溫濕度。同時,用戶還可以通過手機客戶端直接控制加熱降溫以及加濕干燥設(shè)備的運行與關(guān)閉,修改設(shè)定的溫濕度標準范圍,達到真正的智能化遠程控制。
本系統(tǒng)硬件平臺主要由4大部分組成,分別為監(jiān)測與控制模塊、藍牙網(wǎng)關(guān)模塊、服務(wù)器模塊和客戶端模塊[3]。監(jiān)測與控制模塊采用nordic公司帶有BLE模塊的nRF51822作為主控芯片。溫度傳感器采用Scnsirion公司的SHT11。藍牙網(wǎng)關(guān)模塊中采用Samsung公司的S5N8947作為微處理器。其中藍牙模塊采用CSR公司的CSRB5341,以太網(wǎng)模塊采用Micrel公司的KS8737芯片。服務(wù)器采用Windows server 2008操作系統(tǒng)。手機客戶端采用安卓操作系統(tǒng),客戶端硬件需要配置藍牙4.0。硬件實現(xiàn)的原理框圖如圖1所示。
圖1 硬件原理框圖
硬件部分采用nordic公司的BLE芯片nRF51822作為主控芯片,其內(nèi)嵌了藍牙協(xié)議棧,可輕松實現(xiàn)組網(wǎng)要求[4,5],省去了大部分BLE電路設(shè)計。Cortex-M0處理器帶有256K flash和16 K的RAM,工作電壓為1.8 V~3.6 V。因?qū)貪穸葌鞲衅骶纫蟛桓?,采用Scnsirion公司的SHT11,溫度測量范圍為-40℃~+123.8℃,測量精度為±0.4℃。濕度測量范圍為0~100%RH,測量精度為±3%RH。加熱降溫分別使用加熱燈和風(fēng)扇,加濕干燥分別采用噴淋裝置和除濕器。為了使檢測控制模塊能夠與手機客戶端進行數(shù)據(jù)通信,需要通過網(wǎng)關(guān)模塊實現(xiàn)藍牙信號與互聯(lián)網(wǎng)的轉(zhuǎn)換,在檢測控制模塊與手機客戶端之間搭起一座橋梁[6-8]。藍牙網(wǎng)關(guān)模塊中采用Samsung公司的S5N8947作為微處理器,工作電壓為2.5 V(±0.2 V)。其中藍牙模塊采用CSR公司的CSRB5341,以太網(wǎng)模塊采用Micrel公司的KS8737芯片。存儲器包括一片32MByte的Nand Flash和兩片32MByte的SDRAM。
本系統(tǒng)軟件設(shè)計主要分為三部分,溫濕度檢測模塊、網(wǎng)絡(luò)通信模塊和客戶端模塊。如何實現(xiàn)精準的遠程監(jiān)測與控制是本文的關(guān)鍵技術(shù)之一。即客戶端發(fā)出數(shù)據(jù)請求時,控制模塊快速響應(yīng)客戶端的請求,提供相應(yīng)的查詢或控制服務(wù)。軟件工作流程如圖2所示。
圖2 軟件工作流程圖
SHT11雖然使用的是數(shù)字接口,但是并非是I2C接口,所以需要I/O口模擬命令和數(shù)據(jù)接收的時序。程序初始化時,通過一組時序表示數(shù)據(jù)傳輸?shù)某跏蓟缓蟀l(fā)送測試指令,最后控制權(quán)回到SHT11。
SHT11測量溫濕度的時間根據(jù)測量的精度而定,溫度測量部分最高精度為14 bit,濕度最高測量精度為12 bit。因此,主控芯片最少需要在此時間基礎(chǔ)讀取一次測量數(shù)據(jù)。開始測量后,SHT11傳輸2 byte的測量數(shù)據(jù)和1 byte的CRC奇偶校驗。主控芯片通過下拉DATA為低電平確認測量數(shù)據(jù),最后通過CRC校驗位終止通信。主控芯片讀取到數(shù)據(jù)后完成非線性補償和溫度補償。
考慮到環(huán)境溫濕度變換速度緩慢,在本系統(tǒng)中,設(shè)置每隔15 min SHT11讀取一次環(huán)境溫濕度值。由于能隙材料具有極好的線性,溫度轉(zhuǎn)換公式[9]Temperature=-40+0.01SOT,其中SOT為溫度測量值。濕度轉(zhuǎn)換公式 RH=-4+0.0405SORH-2.8×10-6SORH,其中SORH為濕度測量值。
藍牙主從節(jié)點通信設(shè)計建立在藍牙協(xié)議?;A(chǔ)之上[10]。藍牙協(xié)議棧提供了豐富的接口函數(shù),如通用屬性接口函數(shù)(GATT)、通用訪問接口協(xié)議函數(shù)(GAP)等。本文使用nordic公司推出的低功耗藍牙芯片nRF51822作為主控芯片,軟件上采用S110 nRF51822 SoftDevice低功耗藍牙協(xié)議棧及2.4 GHz協(xié)議堆棧(包括Gazell)進行主從節(jié)點通信設(shè)計。
主從節(jié)點間的通信是由主節(jié)點發(fā)起的。主節(jié)點發(fā)起鏈接的過程中,動作有:設(shè)備查詢、鏈路建立、加密匹配。從節(jié)點上電后便處于廣播模式,監(jiān)聽主設(shè)備的鏈接請求。主從節(jié)點鏈路確定是由通用訪問接口協(xié)議函數(shù)負責(zé)完成的。通用訪問接口協(xié)議函數(shù)主要使用藍牙初始化、設(shè)備掃描函數(shù)、鏈路建立函數(shù)、終止鏈路函數(shù)等。
在數(shù)據(jù)交換方面,藍牙主從機是基于通用屬性接口函數(shù)的。從該層面上考慮,可以將主從機分別視為客戶端和服務(wù)器端??蛻舳藢Ψ?wù)器端進行讀寫操作。服務(wù)器端響應(yīng)客戶端的數(shù)據(jù)請求。在S110協(xié)議棧中,通用屬性接口函數(shù)層定義了許多屬性,用于訪問客戶端與服務(wù)器端的數(shù)據(jù)請求和數(shù)據(jù)交換。主要有查詢標示符(UUID)、讀寫屬性值函數(shù)、讀寫屬性描述等。
在主從機軟件設(shè)計方面,從節(jié)點的軟件設(shè)計主要包括藍牙設(shè)備的初始化配置、消息的處理等。藍牙設(shè)備的初始化包括硬件驅(qū)動初始化、存儲器初始化。需要調(diào)用藍牙協(xié)議棧API函數(shù),進行從設(shè)備模式配置、參數(shù)配置、注冊用戶屬性表等操作。初始化完后,進入廣播模式,等待鏈接請求。主節(jié)點的軟件設(shè)計主要包括藍牙設(shè)備初始化、主模式配置、循環(huán)消息處理等。主設(shè)備不斷查詢從設(shè)備,一旦發(fā)現(xiàn)便建立鏈接,實現(xiàn)與從設(shè)備數(shù)據(jù)的傳輸。主從機通信流程如圖3所示。
圖3 藍牙主從機通信流程圖
手機客戶端包含溫濕度信息的顯示與控制的目錄,歷史溫濕度曲線繪制功能[11]。界面如圖4所示。
圖4 Android客戶端界面
試驗中使用1組監(jiān)測控制模塊,將它們固定安裝在房間的中央,距離地面高度約為2.5 m。調(diào)節(jié)模塊初始的溫濕度標準范圍:溫度范圍調(diào)節(jié)為16.0℃~18.0℃,濕度范圍調(diào)節(jié)為65%~70%。通過Android客戶端遠程接收設(shè)備檢測的溫濕度數(shù)據(jù)。
圖5 房間24 h溫度變化曲線圖
圖6 房間24 h濕度變化曲線圖
圖5為房間24 h溫度變化曲線圖。測試時間為10月份,當(dāng)天最高溫度為21.3℃,最低溫度13.5℃,由圖可以看出,溫度變化成功控制在16.0℃~18.0℃,在0時至6時和19時至21時,環(huán)境溫度低于16.0℃,測試房間溫度均為16.0℃左右。在11時至14時,環(huán)境溫度高于21.0℃,測試房間溫度均為20.0℃左右。溫度自動控制較為準確。圖6為房間24 h房間濕度曲線圖。10月份,上海多為晴天,空氣相對干燥,空氣濕度低于設(shè)定標準的65%,通過系統(tǒng)的自動控制后,房間濕度保持在65%附近。
經(jīng)測試,系統(tǒng)各硬件模塊工作正常,系統(tǒng)根據(jù)設(shè)定的標準范圍自動控制房間溫濕度和手動調(diào)節(jié)標準溫濕度范圍準確度高,表明該系統(tǒng)滿足遠程實時監(jiān)測控制的要求。
本文提出了一種基于藍牙4.0BLE的智能牧場遠程實時監(jiān)測控制系統(tǒng),該系統(tǒng)可實時監(jiān)測牧場環(huán)境溫濕度值并根據(jù)設(shè)定的標準值進行調(diào)整。同時,Android客戶端可以進行遠程手動控制環(huán)境溫濕度的調(diào)節(jié)。由于硬件平臺處理速度與傳感器相應(yīng)速度的限制,客戶端顯示的數(shù)據(jù)實時性一般,存在一定誤差,準確度不高,但是系統(tǒng)自動調(diào)控溫濕度及時。下一步的工作是進一步改善硬件平臺,增加監(jiān)控模塊,優(yōu)化軟件,使之更加智能化,實用化。
[1] 劉繼忠,邱于兵,黃 翔.基于ARM的遠程溫濕度監(jiān)測系統(tǒng)的設(shè)計[J].儀表技術(shù)與傳感器,2012,(8):90-92.
[2] 張 磷,陶 琳,袁江南.基于GSM網(wǎng)絡(luò)的遠程溫濕度監(jiān)測系統(tǒng)研究及實現(xiàn) [J].電子技術(shù)應(yīng)用,2012,38(6):93-96.
[3] 汪 剛,張福斌,陳宇航,等.一種遠程智能家電控制系統(tǒng)設(shè)計與實現(xiàn)[J].機械與電子,2010,(11):51-53.
[4] Wang A,Huang Y T,Lee C T,etal.EcoBT:Miniature,versatile mote platform based on Bluetooth Low Energy Technology[C].Proceedings of the IEEE International Conference on Green Computing and Communications,Taipei,Taiwan,2014.
[5] 歐陽俊,陳子龍,黃寧淋.藍牙4.0BLE開發(fā)完全手冊[M].北京:化學(xué)工業(yè)出版社,2013.
[6] 王雅志,王紹源.基于藍牙的家居網(wǎng)關(guān)數(shù)據(jù)采集處理系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機測量與控制,2010,(3):711-714.
[7] 馮棟棟.嵌入式藍牙網(wǎng)關(guān)的關(guān)鍵技術(shù)研究與實現(xiàn)[D].南京:江蘇大學(xué),2007.
[8] 孫 睿,付志紅.基于嵌入式Linux的藍牙以太網(wǎng)關(guān)設(shè)計[J].計算機應(yīng)用,2006,26(12Z):27-29.
[9] 王武禮,楊 華.基于SHT11的糧倉溫濕度測控系統(tǒng)的設(shè)計[J].儀表技術(shù)與傳感器.2010,(9):50-51.
[10]徐加偉.基于低功耗藍牙無線通信技術(shù)的交通數(shù)據(jù)檢測發(fā)放研究[D].沈陽:哈爾濱工業(yè)大學(xué),2013.
[11]Meier R,佘建偉,趙 凱.Android 4高級編程[M].北京:清華大學(xué)出版社,2013.