金恩曼 陳培余



摘要:針對大棚種植中溫濕度等環境參數實時檢測存在的問題,筆者結合最新的窄帶物聯網技術,提出了一種新型的智能大棚溫濕度檢測系統。該系統基于STM32微處理器,選用DHT11溫濕度傳感器,選用華為OceanConnect作為物聯網云平臺,給出了整個系統的軟硬件設計方案。測試表明,該系統運行穩定,數據可靠,滿足智能大棚溫濕度實時檢測需求。
關鍵詞:智能大棚;溫濕度;NB-IoT;OceanConnect
中圖分類號:TP274 文獻標識碼:A 文章編號:1007-9416(2019)07-0085-03
0 引言
我國是人口大國,又是農業大國,大棚種植在農業生產中占有非常重要的地位。又隨著人們生活水平的提高,對大棚種植農產品的品質提出了更高的要求。溫度和濕度是影響大棚種植的關鍵環境因素,因此對大棚溫濕度的檢測具有非常重要的意義。
最早的大棚溫濕度檢測以人工方式為主,該方式工作量大,效率低,成本高。隨著計算機技術尤其是通信技術的發展,基于自動化的實時檢測系統成為主流。目前多數系統采用基于Zigbee組網通信技術的檢測方式,該方式具有低功耗和組網能力強等優點,但存在通信距離短,需要大量網關開銷等缺點[1]。當前,隨著窄帶物聯網技術(NB-IoT)的不斷成熟,芯片成本不斷下降,NB-IoT在智慧農業中的應用成為新的發展趨勢。NB-IoT具備廣覆蓋、大連接、低功耗和低成本等特點,非常適合點多且分散的室外應用場景[2]-[3]。本文將采用NB-IoT技術、結合傳感器技術、微處理技術和移動互聯技術,解決智能大棚內溫濕度檢測存在的布線難和不能遠程監控等問題。
1 系統架構和功能
本系統是綜合嵌入式軟硬件技術、NB-IoT通信網絡、華為OceanConnect云平臺和移動APP為一體的物聯網系統。如圖1所示,溫濕度傳感器、STM32主控制器和NB-IoT模塊組成信息采集端,該采集端作為獨立的嵌入式系統,分布于大棚內的主要區域。主控芯片通過單總線協議采集溫濕度數據,并通過NB-IoT網絡上傳到華為云平臺。華為云平臺提供基于NB-IoT通信業務的物聯網終端設備的快速接入,實現溫濕度信息的可視化展示和管理。云平臺向信息采集端提供基于CoAP協議通信的南向接口,向應用服務器提供基于HTTP協議通信的北向接口。
2 系統硬件組成
系統硬件組成如圖2所示,主要由溫濕度傳感器,最小系統和NB-IoT模塊及其外圍電路等3大部分組成。
2.1 溫度傳感器
溫濕度傳感器采用DHT11芯片。該芯片是一款含有已校準數字信號輸出的溫濕度復合傳感器。具有成本低、響應快、抗干擾強、精確校準等優點。該芯片具有4個引腳,分別為VDD、DATA、NC和GND。DHT11與微處理的硬件連線如圖3所示,其中VDD(1 Pin)為芯片供電引腳,供電電壓3V-5.5V,DATA引腳(2 Pin)為串行數據線,與主控器的GPIO口連接,實現溫濕度數據的采集,NC引腳懸空,GND(4Pin)引腳接地。
2.2 最小系統
最小系統中包括主控制器、電源、晶振、復位電路和下載電路。主控制器采用STM32L431RCT6芯片,該處理器基于ARM-M4內核,32位位寬,運算速度快,處理能力強,并支持睡眠等低功耗工作模式,內部集成豐富的接口資源,是意法半導體公司針對物聯網應用場景推出的一款高性能處理器[4]。晶振電路可以使用內部晶振和外部晶振,只需通過軟件配置即可,本系統中,選用8MHz的外部晶振;復位電路用來使系統恢復到出事狀態的電路,本系統設計中,復位引腳連接彈性按鍵接地,并在按鍵上并聯一個電容;下載接口使用SWD 四線接口。
2.3 NB-IoT模塊及外圍電路
本系統中,NB-IoT模塊采用Quectel的BC95模組。該通信模組工作在850MHz頻段,支持IPv4/IPv6/UDP/CoAP通信協議,發射功率為23dB±2dB,并支持省電模式(PSM)下。主控制器以AT指令控制BC95模組,通過串口與NB-IoT模組通信。當處理器采集到溫濕度數據后,由BC95模組通過射頻天線發送到基站,經運營商核心網絡到達華為云平臺。
NB-IoT模塊外圍電路如圖2所示,主要包括供電電路、通信接口電路、SIM卡電路、濾波天線電路。供電電源采用板載3.3V供電,電源端連接電容并接地;通信接口主要為串口,實現模組和MCU之間通信。由于NB-IoT使用蜂窩網絡,因此與手機通信一樣,需要有SIM卡進行身份的識別和鑒權。
3 系統軟件設計
系統軟件設計主要分為信息采集端軟件設計,云平臺開發和移動端App開發三個部分。
3.1 信息采集端軟件設計
信息采集端軟件設計實現功能包括最小系統的正常運行,溫濕度數據的采集和NB-IoT模組的入網。其中最小系統的軟件開發采用STM32CubeMX工具。該工具是意法半導體公司針對STM32系列MCU推出的圖形化開發工具,通過圖形化的配置自動生成開發初期芯片相關的初始化代碼。本系統中,利用STM32CubeMX完成系統時鐘、定時器、串口初始化等功能配置并生成基本開發環境。采集端軟件開發流程如圖4所示,微處理器通過下發AT指令完成NB-IoT模組入網,開啟定時功能,周期性采集溫濕度數據并上報。
(1)溫濕度數據采集。本系統中,主控制器通過GPIO端口引腳連接DHT11的DATA管腳,實現單總線的數據采集。該總線即作為MCU的輸出控制總線,又作為DHT11的數據輸入總線。用戶主機(MCU)發送一次開始信號后, DHT11從低功耗模式轉換到高速模式,待主機開始信號結束后,DHT11發送響應信號,送出40bit的數據,并觸發一次信號采集。其中位數據“0”的格式為:50ms的低電平和26-28ms的高電平,位數據“1”的格式為:50ms的低電平加70ms的高電平。控制DHT11芯片獲取溫濕度數據的時序參考該芯片使用手冊。
溫濕度采集測試結果如圖5所示。
(2)NB-IoT入網。由于NB-IoT網絡馱載在移動蜂窩上的,因此跟手機通信一樣,在進行數據傳輸之前要向基站注冊入網。控制器采集到溫濕度數據后,按照用戶自定義協議編碼,通過串口發送至NB-IoT模組,模組將數據封裝成CoAP協議包后發送至基站,最后經核心網轉發至IoT平臺處理。在整個通信過程中,MCU對模組控制以及數據的發送接收都是基于AT命令實現的[5]。如圖6AT命令測試結果所示,為本系統中關鍵AT指令及其返回信息:1)指令“AT+CGSN=1”:查詢模塊序列號。本系統中BC95模塊序列號為867725030245702,該序列號將在云平臺部署時被使用。2)指令“AT+CSQ”:查詢當前環境信號強度,范圍為0-31。本系統測試環境信號強度為17,信號一般。3)指令“AT+CEREG?”:查詢網絡注冊狀態,即查詢網絡注冊是否成功。本系統中,執行該命令后返回結果第二個參數為“1”,表示注冊成功;否則為“0”,表示尚未注冊成功。4)指令“AT+NCDP=49.4.85.232,5683”:配置CDP服務器(云平臺)的IP地址及端口,本系統中,華為OceanConnect云平臺地址為49.4.85.232,端口號為5683。5)指令“AT+NMGS=3,010203 ”:向CDP服務器上報數據。第一個參數為數據長度,第二個參數為十六進制數據。
3.2 云平臺部署
物聯網云平臺提供設備接入、設備管理和數據分析存儲功能,并向各種應用提供接口服務。本系統采用華為的OceanConnect云平臺做應用開發。該平臺通過開放API和IoT Agent實現與上下游產品能力的無縫聯接,從而給客戶提供端到端的高價值行業應用。OceanConnect云平臺開發工作主要包括產品創建、Profile定義、編解碼插件開發、真實設備部署。
(1)產品創建:設置產品信息,包括產品名稱、產品型號、廠商ID、設備類型以及應用層協議類型。
(2)Profile定義:即設備的抽象模型,用于描述設備具備的能力和特性。OceanConnect提供多種設備的Profile模板,用戶可直接在此基礎上修改,或者也可以自定義產品模板。本系統中,根據溫濕度傳感器的屬性,創建一個Humiture的服務,在該服務下依次創建Temperature和Humidity屬性,數據類型為decimal。
(3)編解碼插件開發:由于NB-IoT設備上報數據一般采用二進制格式,而物聯網云平臺采用Json格式,因此,需要進行編解碼插件開發,實現二進制數據和Json格式數據的轉換,從而實現NB-IoT終端和OceanConnect通信。
(4)部署真實設備:設置設備名稱和設備標識。設備標識為必須唯一,一般為IMEI或MAC號。本系統中使用BC95模塊序列號867725030245702。
云平臺測試結果如圖7所示,當前溫度為28.0℃,濕度為95.0RH%。
3.3 移動端App設計
為實現溫濕度數據遠程檢測功能,本文基于Android Studio工具開發了一款溫濕度檢測APP。該App登錄界面為云平臺的接入信息,包括云平臺IP地址和端口號,應用ID及密碼,顯示界面包括溫度值和濕度值,移動終端App及其測試結果如圖8所示。
4 結語
本文結合最新的窄帶物聯網技術,設計了一種溫濕度檢測系統。對系統總體方案、軟硬件設計進行了詳細闡述。測試結果表明,該系統可以實現溫濕度數據遠程檢測功能。該系統具有設備節點管理方便、功耗小、成本低、數據可靠性高等優點,適用于智能大棚等智慧農業應用場景。
參考文獻
[1] 周海鴻,周嘉奉.基于ZigBee技術的溫濕度監測系統[J].國外電子測量技術,2015,34(7):75-79.
[2] 董勁文.窄帶物聯網(NB-IOT)的技術分析及其應用前景[J].通訊世界,2018(7):1-2.
[3] 張良德.NB-IoT的及應用研究[J].通信設計與應用,2017(1):115-116.
[4] 曹小娜.ST STM32L4:整合Cortex_M4內核超低功耗高性能MCU[J].世界電子元器件,2015(4):42-43.
[5] 蔣震.基于NB-IoT的溫濕度采集系統設計與實現[J].信息化研究,2018,44(6):63-68.