李 林
(開封大學信息工程學院,河南 開封 475000)
根據市場研究機構Meticulous Research預測,到2027年,農業物聯網市場規模將達到327.5億美元,2019年到2027年的年復合增長率為15.2%。目前,農業物聯網技術在河南省農業生產中進行了推廣,這在一定程度上提高了農業生產水平。《中共河南省委關于制定河南省國民經濟和社會發展第十四個五年規劃和二○三五年遠景目標的建議》指出,打好糧食生產王牌,扛穩糧食安全重任,完善糧食儲備體制機制,提升儲備應急能力[1]。
本課題以開封市為例,針對開封市糧食儲藏的現狀,開發了一套更適合開封市糧食儲藏的,具有高可靠性、安全性、靈活性、可擴展性、易操作性的軟硬件結合的基于阿里云的智慧糧倉監測系統。該系統能夠遠程實時收集糧食儲藏環境的溫度、濕度、二氧化碳濃度等數據信息,監視糧倉情況,提供精準的科研實驗數據,達到提高糧食儲藏質量的目的,從而引領開封市糧食儲藏方式的轉變與發展,促進企業增收。
通過分析開封市糧食儲藏特征和農業物聯網技術的優勢,設計方案基于設施農業物聯網基本工作流程。圍繞物聯網“全面感知、可靠傳送、智能處理”三層結構的實現,方案的實施分為感知層、網絡層和應用層三個層次。
感知層的傳感器節點作為傳感器網絡的硬件平臺,具有端節點和路由雙重功能:一方面,實現數據的采集和處理;另一方面,將數據融合,經多跳路由傳送到匯聚節點,最后經互聯網或其他通信網絡傳送給觀察者。
感知層節點設計原則如下:
1)低功耗(更換一次電池的使用時間盡量長)。設計中從硬件和軟件兩個方面降低功耗,硬件上盡可能使用低電壓、低功耗的芯片;軟件上可以添置電源管理功能,合理分配能量。
2)良好的射頻性能。同等條件下射頻性能強的網絡能力強,通信距離也較大。
3)小體積。節點體積要小,對檢測的目標體系不構成影響,便于部署。
4)低成本。節點模塊不能太多且不能太復雜。
5)可擴展性。采用模塊化設計,根據不同的需要添加不同的功能模塊,比如,傳感器模塊可以做一個通用口。
感知層選用溫濕度傳感器、光照強度傳感器和二氧化碳傳感器組成數據采集器,網關接電,協調器連接網關繼電器,數據采集器連接協調器。數據采集器用于獲取各項環境數據,繼電器用于控制各個回路上的設備的開關。
該層設計采用有線光纖網絡和無線傳感網絡相結合的傳輸方式。利用計算機網絡中的TCP/IP協議,以及ZigBee、WIFI、MQTT等短距離無線傳輸技術,根據糧倉實際需要,選擇最優傳輸方式,降低通信開銷,提高連接質量。
采用ZigBee協議把傳感器信息傳遞到網關,該協議的優勢在于自組網能力,最多支持65 000個設備組網。對于智慧農業來說,ZigBee協議還有一個寶貴的優點,就是它的安全性很高,至今全球尚未出現一起破解先例。
阿里云平臺接收底層數據采用MQTT協議,該協議是基于TCP/IP協議棧構建的異步通信消息協議[2],是一種輕量級的發布、訂閱信息傳輸協議。可在不可靠的網絡環境中進行擴展,適用于設備硬件存儲空間或網絡帶寬有限的場景。使用MQTT協議,消息發送者與接收者不受時間和空間的限制。阿里云物聯網平臺支持設備使用MQTT協議接入[3]。
選擇c#上位機,通過設計與開發保證用戶的良好體驗,實現數據的遠程管理,可實現對整個糧倉監測數據的長期記錄,獲取系統監測的實時數據、歷史數據,并能夠通過接口實現對執行機構的控制[4]。
4.1.1 上位機功能性需求
上位機功能主要分為三大部分:糧倉的管理、WSN監測模塊、上傳阿里云。
1)糧倉的管理模塊功能:主要實現糧倉的實時視頻監控與糧食入庫、出庫的管理。
2)WSN監測模塊功能:主要實現糧倉環境參數的實時監測。
3)上傳阿里云模塊功能:主要實現把監測到的數據上傳云平臺。
4.1.2 網關連接模塊
網關是將ZigBee傳輸節點進行接入,通過它實現系統的信息采集、信息輸入、信息輸出、集中控制、遠程控制、聯動控制等功能。并通過上行接口(WIFI接口、FE接口、GPRS接口)將信息數據傳輸到控制云端的設備。
調用GateWay對象的Connect()方法建立通道,如果建立成功,則GateWay的Connetct方法返回值為true,反之,則為false。
調用GateWay對象的DisConnect()方法斷開,如果斷開成功,則GateWay的DisConnetct方法返回值為true,反之,則為false。
4.1.3 糧倉實時監測模塊
1)溫濕度實時監測。設備類型0x31,數據位0,1為溫度值,數據位2,3為濕度值;數據位4固定值為OxFF。其中,數據位0,1通過[數據位0*256+數據位1)/100]算出空氣溫度整數部分值,數據位0,1通過[數據位0*256+數據位1)%100]算出空氣溫度小數部分值;數據位2,3通過[數據2*256+數據位3)/100]算出空氣濕度整數部分值,數據位2,3通過[數據位2*256+數據位3)%100]算出空氣濕度小數部分值。核心代碼如下:

2)二氧化碳實時監測。設備類型0x33,數據位0,1為二氧化碳濃度值,數據位2,3,4固定為OxFF。其中,數據位0,1通過[數據位為0*256+數據位]計算出二氧化碳濃度值。核心代碼如下:

3)光照強度實時監測。設備類型0x34,數據位0,1為光照強度,數據位2,3,4固定為OxFF。其中,數據位0,1通過[數據位為0*256+數據位]計算出光照強度值。核心代碼如下:


糧倉實時監測模塊如圖1所示。

圖1 智慧糧倉上位機實時監測圖
阿里云物聯網平臺是一個集成了設備管理、數據安全通信和消息訂閱等功能的一體化平臺。向下支持連接海量設備,采集設備數據上云;向上提供云端API,服務端可通過調用云端API將指令下發至設備端,實現遠程控制。
設備上報數據到阿里云物聯網平臺。1)創建產品與設備:在物聯網平臺上為設備注冊一個身份,獲取 設 備 證 書 信 息 (ProductKey、DeviceName和DeviceSecret)。該證書信息將燒錄到設備上,用于設備連接物聯網平臺時,進行身份認證。2)為產品定義物模型:可以從屬性、服務和事件三個維度定義產品功能。物聯網平臺根據所定義的功能構建出產品的數據模型,用于云端與設備端進行指定數據通信。3)建立設備與平臺的連接:開發設備端SDK,傳入設備的證書信息,將設備連接到物聯網平臺,使設備激活。4)服務端訂閱設備消息:服務端通過訂閱消息類型,接收設備相關消息,如設備上下線通知、設備生命周期變更、設備上報消息等。5)云端下發指令:使用物聯網平臺的在線調試功能,從控制臺下發指令到設備端。
使用MQTT協議把數據上傳到阿里云,核心代碼如下:


有效的測試是質量控制中非常重要的環節。由于該系統是一個復雜的工程,實現的內容非常多,測試正是反映工程質量的最有效途徑之一,也是保證項目質量的重要手段之一,所以必須嚴格執行測試流程和規范。為保障平臺各項功能正常運行,使得平臺性能達到最優,使用有Win7以上操作平臺配置的計算機,分別采用搜狗和IE瀏覽器對上位機環境監測模塊和云平臺模塊等功能進行逐一測試。測試顯示系統數據傳遞延遲低于5 000 ms;數據監測準確率達99%;數據監測實時性延遲3 000 ms。運行結果表明,平臺各項功能均可以正常運行。
通過構建基于阿里云的智慧糧倉監測系統,可以很好地改變傳統糧倉信息采集模式。通過農業物聯網技術測量糧倉的環境參數,并把數據上傳到阿里云平臺,助力農業生產的智能化、科學化管理,從而提高儲糧品質,使糧食產品在市場上贏得更好的聲譽。