常 敏,梅曉敏,崔永進,王業生
(上海理工大學 光電信息與計算機工程學院,上海 200093)
畜牧業是農業的重要組成部分,在我國國民經濟中占很大比重。在畜牧產業中,牧場的溫濕度對牧場中動物的生產能力及牧場產品的質量影響極其重要。因此,保證飼養環境的溫濕度達到最佳標準顯得極其重要。
目前在畜牧業中,牧場環境溫濕度的監測與控制主要采用以下幾種方法:(1)依靠人工溫濕度監測控制。通過人工定期的監測,當發現溫度高于或者低于標準范圍則分別采用降溫或者加熱措施。同樣,當發現濕度高于或者低于標準范圍則分別采用干燥或者加濕措施來處理。這種方式人工成本相對較高,監測與控制也不能保證非常準確。(2)pc端遠程溫濕度監測控制。隨著科技的發展,出現了一些半智能牧場的解決方案。當溫濕度超出標準范圍時通過控制一些設備來重新使溫濕度滿足要求[1]。這種方式的優點是降低了牧場的人工成本,實現了半智能化的牧場溫濕度管理。缺點是只能實現溫濕度的監測,不能實現遠程實時控制,而且依賴pc機,靈活性差。(3)客戶端短消息溫濕度監測。利用GSM網絡將傳感器監測到的數據以短信息的形式發送到手機客戶端[2]。這種方法的優點是實現了遠程實時的監控。缺點是手機客戶端只是接收信息,無法實現客戶端遠程對環境溫濕度的控制,智能化程度低。以上方式均可完成溫濕度的監測,但還存在不少缺點,如何能夠在降低人工成本、提高智能化的基礎上實現實時監測與控制牧場中環境的溫濕度是本文設計的目的。
本文提出了一種基于藍牙4.0BLE技術與Android客戶端的牧場溫濕度實時遠程監測與控制系統,應用溫濕度傳感器采集牧場環境溫濕度,利用嵌入式系統對采集的溫濕度數據處理并與標準值判斷,將溫濕度值通過網絡在手機客戶端軟件實時顯示。手機客戶端同時也可以發出控制環境溫濕度設備的命令,通過網絡將命令傳輸給對應設備。該系統功耗低,可方便快捷地實現24 h實時監測與控制,智能化程度高,并大量減少人力成本的支出。
該監測控制系統主要由溫濕度監測終端與手機客戶端組成。監測系統的主體是溫濕度傳感器,加熱降溫設備和加濕干燥設備。將這些主體設備固定在每個需要監測與控制的牧場中。
綜合考慮傳輸信號抗干擾性與低功耗,這里采用BLE實現數據的傳輸。低功耗和抗干擾性強是BLE最大的特點。監測控制終端采用ARM-M0平臺,終端不斷讀取溫濕度傳感器的數據并進行分析處理,獲取實時的溫濕度信息,并根據事先設定的標準值范圍,判斷牧場溫濕度值是否超出標準范圍。如果溫濕度超出設定的標準范圍,自動控制加熱降溫與加濕干燥設備的運行對其進行調整。溫濕度傳感器獲得的數據通過藍牙發送給網關,然后再通過以太網將信息傳輸到服務器端,供手機客戶端訪問,使用戶能實時監測與控制牧場溫濕度。同時,用戶還可以通過手機客戶端直接控制加熱降溫以及加濕干燥設備的運行與關閉,修改設定的溫濕度標準范圍,達到真正的智能化遠程控制。
本系統硬件平臺主要由4大部分組成,分別為監測與控制模塊、藍牙網關模塊、服務器模塊和客戶端模塊[3]。監測與控制模塊采用nordic公司帶有BLE模塊的nRF51822作為主控芯片。溫度傳感器采用Scnsirion公司的SHT11。藍牙網關模塊中采用Samsung公司的S5N8947作為微處理器。其中藍牙模塊采用CSR公司的CSRB5341,以太網模塊采用Micrel公司的KS8737芯片。服務器采用Windows server 2008操作系統。手機客戶端采用安卓操作系統,客戶端硬件需要配置藍牙4.0。硬件實現的原理框圖如圖1所示。

圖1 硬件原理框圖
硬件部分采用nordic公司的BLE芯片nRF51822作為主控芯片,其內嵌了藍牙協議棧,可輕松實現組網要求[4,5],省去了大部分BLE電路設計。Cortex-M0處理器帶有256K flash和16 K的RAM,工作電壓為1.8 V~3.6 V。因對溫濕度傳感器精度要求不高,采用Scnsirion公司的SHT11,溫度測量范圍為-40℃~+123.8℃,測量精度為±0.4℃。濕度測量范圍為0~100%RH,測量精度為±3%RH。加熱降溫分別使用加熱燈和風扇,加濕干燥分別采用噴淋裝置和除濕器。為了使檢測控制模塊能夠與手機客戶端進行數據通信,需要通過網關模塊實現藍牙信號與互聯網的轉換,在檢測控制模塊與手機客戶端之間搭起一座橋梁[6-8]。藍牙網關模塊中采用Samsung公司的S5N8947作為微處理器,工作電壓為2.5 V(±0.2 V)。其中藍牙模塊采用CSR公司的CSRB5341,以太網模塊采用Micrel公司的KS8737芯片。存儲器包括一片32MByte的Nand Flash和兩片32MByte的SDRAM。
本系統軟件設計主要分為三部分,溫濕度檢測模塊、網絡通信模塊和客戶端模塊。如何實現精準的遠程監測與控制是本文的關鍵技術之一。即客戶端發出數據請求時,控制模塊快速響應客戶端的請求,提供相應的查詢或控制服務。軟件工作流程如圖2所示。

圖2 軟件工作流程圖
SHT11雖然使用的是數字接口,但是并非是I2C接口,所以需要I/O口模擬命令和數據接收的時序。程序初始化時,通過一組時序表示數據傳輸的初始化,然后發送測試指令,最后控制權回到SHT11。
SHT11測量溫濕度的時間根據測量的精度而定,溫度測量部分最高精度為14 bit,濕度最高測量精度為12 bit。因此,主控芯片最少需要在此時間基礎讀取一次測量數據。開始測量后,SHT11傳輸2 byte的測量數據和1 byte的CRC奇偶校驗。主控芯片通過下拉DATA為低電平確認測量數據,最后通過CRC校驗位終止通信。主控芯片讀取到數據后完成非線性補償和溫度補償。
考慮到環境溫濕度變換速度緩慢,在本系統中,設置每隔15 min SHT11讀取一次環境溫濕度值。由于能隙材料具有極好的線性,溫度轉換公式[9]Temperature=-40+0.01SOT,其中SOT為溫度測量值。濕度轉換公式 RH=-4+0.0405SORH-2.8×10-6SORH,其中SORH為濕度測量值。
藍牙主從節點通信設計建立在藍牙協議棧基礎之上[10]。藍牙協議棧提供了豐富的接口函數,如通用屬性接口函數(GATT)、通用訪問接口協議函數(GAP)等。本文使用nordic公司推出的低功耗藍牙芯片nRF51822作為主控芯片,軟件上采用S110 nRF51822 SoftDevice低功耗藍牙協議棧及2.4 GHz協議堆棧(包括Gazell)進行主從節點通信設計。
主從節點間的通信是由主節點發起的。主節點發起鏈接的過程中,動作有:設備查詢、鏈路建立、加密匹配。從節點上電后便處于廣播模式,監聽主設備的鏈接請求。主從節點鏈路確定是由通用訪問接口協議函數負責完成的。通用訪問接口協議函數主要使用藍牙初始化、設備掃描函數、鏈路建立函數、終止鏈路函數等。
在數據交換方面,藍牙主從機是基于通用屬性接口函數的。從該層面上考慮,可以將主從機分別視為客戶端和服務器端。客戶端對服務器端進行讀寫操作。服務器端響應客戶端的數據請求。在S110協議棧中,通用屬性接口函數層定義了許多屬性,用于訪問客戶端與服務器端的數據請求和數據交換。主要有查詢標示符(UUID)、讀寫屬性值函數、讀寫屬性描述等。
在主從機軟件設計方面,從節點的軟件設計主要包括藍牙設備的初始化配置、消息的處理等。藍牙設備的初始化包括硬件驅動初始化、存儲器初始化。需要調用藍牙協議棧API函數,進行從設備模式配置、參數配置、注冊用戶屬性表等操作。初始化完后,進入廣播模式,等待鏈接請求。主節點的軟件設計主要包括藍牙設備初始化、主模式配置、循環消息處理等。主設備不斷查詢從設備,一旦發現便建立鏈接,實現與從設備數據的傳輸。主從機通信流程如圖3所示。

圖3 藍牙主從機通信流程圖
手機客戶端包含溫濕度信息的顯示與控制的目錄,歷史溫濕度曲線繪制功能[11]。界面如圖4所示。

圖4 Android客戶端界面
試驗中使用1組監測控制模塊,將它們固定安裝在房間的中央,距離地面高度約為2.5 m。調節模塊初始的溫濕度標準范圍:溫度范圍調節為16.0℃~18.0℃,濕度范圍調節為65%~70%。通過Android客戶端遠程接收設備檢測的溫濕度數據。

圖5 房間24 h溫度變化曲線圖

圖6 房間24 h濕度變化曲線圖
圖5為房間24 h溫度變化曲線圖。測試時間為10月份,當天最高溫度為21.3℃,最低溫度13.5℃,由圖可以看出,溫度變化成功控制在16.0℃~18.0℃,在0時至6時和19時至21時,環境溫度低于16.0℃,測試房間溫度均為16.0℃左右。在11時至14時,環境溫度高于21.0℃,測試房間溫度均為20.0℃左右。溫度自動控制較為準確。圖6為房間24 h房間濕度曲線圖。10月份,上海多為晴天,空氣相對干燥,空氣濕度低于設定標準的65%,通過系統的自動控制后,房間濕度保持在65%附近。
經測試,系統各硬件模塊工作正常,系統根據設定的標準范圍自動控制房間溫濕度和手動調節標準溫濕度范圍準確度高,表明該系統滿足遠程實時監測控制的要求。
本文提出了一種基于藍牙4.0BLE的智能牧場遠程實時監測控制系統,該系統可實時監測牧場環境溫濕度值并根據設定的標準值進行調整。同時,Android客戶端可以進行遠程手動控制環境溫濕度的調節。由于硬件平臺處理速度與傳感器相應速度的限制,客戶端顯示的數據實時性一般,存在一定誤差,準確度不高,但是系統自動調控溫濕度及時。下一步的工作是進一步改善硬件平臺,增加監控模塊,優化軟件,使之更加智能化,實用化。
[1] 劉繼忠,邱于兵,黃 翔.基于ARM的遠程溫濕度監測系統的設計[J].儀表技術與傳感器,2012,(8):90-92.
[2] 張 磷,陶 琳,袁江南.基于GSM網絡的遠程溫濕度監測系統研究及實現 [J].電子技術應用,2012,38(6):93-96.
[3] 汪 剛,張福斌,陳宇航,等.一種遠程智能家電控制系統設計與實現[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開發完全手冊[M].北京:化學工業出版社,2013.
[6] 王雅志,王紹源.基于藍牙的家居網關數據采集處理系統的設計與實現[J].計算機測量與控制,2010,(3):711-714.
[7] 馮棟棟.嵌入式藍牙網關的關鍵技術研究與實現[D].南京:江蘇大學,2007.
[8] 孫 睿,付志紅.基于嵌入式Linux的藍牙以太網關設計[J].計算機應用,2006,26(12Z):27-29.
[9] 王武禮,楊 華.基于SHT11的糧倉溫濕度測控系統的設計[J].儀表技術與傳感器.2010,(9):50-51.
[10]徐加偉.基于低功耗藍牙無線通信技術的交通數據檢測發放研究[D].沈陽:哈爾濱工業大學,2013.
[11]Meier R,佘建偉,趙 凱.Android 4高級編程[M].北京:清華大學出版社,2013.