李 林
(開封大學信息工程學院,河南 開封 475000)
根據(jù)市場研究機構(gòu)Meticulous Research預測,到2027年,農(nóng)業(yè)物聯(lián)網(wǎng)市場規(guī)模將達到327.5億美元,2019年到2027年的年復合增長率為15.2%。目前,農(nóng)業(yè)物聯(lián)網(wǎng)技術(shù)在河南省農(nóng)業(yè)生產(chǎn)中進行了推廣,這在一定程度上提高了農(nóng)業(yè)生產(chǎn)水平。《中共河南省委關(guān)于制定河南省國民經(jīng)濟和社會發(fā)展第十四個五年規(guī)劃和二○三五年遠景目標的建議》指出,打好糧食生產(chǎn)王牌,扛穩(wěn)糧食安全重任,完善糧食儲備體制機制,提升儲備應急能力[1]。
本課題以開封市為例,針對開封市糧食儲藏的現(xiàn)狀,開發(fā)了一套更適合開封市糧食儲藏的,具有高可靠性、安全性、靈活性、可擴展性、易操作性的軟硬件結(jié)合的基于阿里云的智慧糧倉監(jiān)測系統(tǒng)。該系統(tǒng)能夠遠程實時收集糧食儲藏環(huán)境的溫度、濕度、二氧化碳濃度等數(shù)據(jù)信息,監(jiān)視糧倉情況,提供精準的科研實驗數(shù)據(jù),達到提高糧食儲藏質(zhì)量的目的,從而引領(lǐng)開封市糧食儲藏方式的轉(zhuǎn)變與發(fā)展,促進企業(yè)增收。
通過分析開封市糧食儲藏特征和農(nóng)業(yè)物聯(lián)網(wǎng)技術(shù)的優(yōu)勢,設(shè)計方案基于設(shè)施農(nóng)業(yè)物聯(lián)網(wǎng)基本工作流程。圍繞物聯(lián)網(wǎng)“全面感知、可靠傳送、智能處理”三層結(jié)構(gòu)的實現(xiàn),方案的實施分為感知層、網(wǎng)絡(luò)層和應用層三個層次。
感知層的傳感器節(jié)點作為傳感器網(wǎng)絡(luò)的硬件平臺,具有端節(jié)點和路由雙重功能:一方面,實現(xiàn)數(shù)據(jù)的采集和處理;另一方面,將數(shù)據(jù)融合,經(jīng)多跳路由傳送到匯聚節(jié)點,最后經(jīng)互聯(lián)網(wǎng)或其他通信網(wǎng)絡(luò)傳送給觀察者。
感知層節(jié)點設(shè)計原則如下:
1)低功耗(更換一次電池的使用時間盡量長)。設(shè)計中從硬件和軟件兩個方面降低功耗,硬件上盡可能使用低電壓、低功耗的芯片;軟件上可以添置電源管理功能,合理分配能量。
2)良好的射頻性能。同等條件下射頻性能強的網(wǎng)絡(luò)能力強,通信距離也較大。
3)小體積。節(jié)點體積要小,對檢測的目標體系不構(gòu)成影響,便于部署。
4)低成本。節(jié)點模塊不能太多且不能太復雜。
5)可擴展性。采用模塊化設(shè)計,根據(jù)不同的需要添加不同的功能模塊,比如,傳感器模塊可以做一個通用口。
感知層選用溫濕度傳感器、光照強度傳感器和二氧化碳傳感器組成數(shù)據(jù)采集器,網(wǎng)關(guān)接電,協(xié)調(diào)器連接網(wǎng)關(guān)繼電器,數(shù)據(jù)采集器連接協(xié)調(diào)器。數(shù)據(jù)采集器用于獲取各項環(huán)境數(shù)據(jù),繼電器用于控制各個回路上的設(shè)備的開關(guān)。
該層設(shè)計采用有線光纖網(wǎng)絡(luò)和無線傳感網(wǎng)絡(luò)相結(jié)合的傳輸方式。利用計算機網(wǎng)絡(luò)中的TCP/IP協(xié)議,以及ZigBee、WIFI、MQTT等短距離無線傳輸技術(shù),根據(jù)糧倉實際需要,選擇最優(yōu)傳輸方式,降低通信開銷,提高連接質(zhì)量。
采用ZigBee協(xié)議把傳感器信息傳遞到網(wǎng)關(guān),該協(xié)議的優(yōu)勢在于自組網(wǎng)能力,最多支持65 000個設(shè)備組網(wǎng)。對于智慧農(nóng)業(yè)來說,ZigBee協(xié)議還有一個寶貴的優(yōu)點,就是它的安全性很高,至今全球尚未出現(xiàn)一起破解先例。
阿里云平臺接收底層數(shù)據(jù)采用MQTT協(xié)議,該協(xié)議是基于TCP/IP協(xié)議棧構(gòu)建的異步通信消息協(xié)議[2],是一種輕量級的發(fā)布、訂閱信息傳輸協(xié)議??稍诓豢煽康木W(wǎng)絡(luò)環(huán)境中進行擴展,適用于設(shè)備硬件存儲空間或網(wǎng)絡(luò)帶寬有限的場景。使用MQTT協(xié)議,消息發(fā)送者與接收者不受時間和空間的限制。阿里云物聯(lián)網(wǎng)平臺支持設(shè)備使用MQTT協(xié)議接入[3]。
選擇c#上位機,通過設(shè)計與開發(fā)保證用戶的良好體驗,實現(xiàn)數(shù)據(jù)的遠程管理,可實現(xiàn)對整個糧倉監(jiān)測數(shù)據(jù)的長期記錄,獲取系統(tǒng)監(jiān)測的實時數(shù)據(jù)、歷史數(shù)據(jù),并能夠通過接口實現(xiàn)對執(zhí)行機構(gòu)的控制[4]。
4.1.1 上位機功能性需求
上位機功能主要分為三大部分:糧倉的管理、WSN監(jiān)測模塊、上傳阿里云。
1)糧倉的管理模塊功能:主要實現(xiàn)糧倉的實時視頻監(jiān)控與糧食入庫、出庫的管理。
2)WSN監(jiān)測模塊功能:主要實現(xiàn)糧倉環(huán)境參數(shù)的實時監(jiān)測。
3)上傳阿里云模塊功能:主要實現(xiàn)把監(jiān)測到的數(shù)據(jù)上傳云平臺。
4.1.2 網(wǎng)關(guān)連接模塊
網(wǎng)關(guān)是將ZigBee傳輸節(jié)點進行接入,通過它實現(xiàn)系統(tǒng)的信息采集、信息輸入、信息輸出、集中控制、遠程控制、聯(lián)動控制等功能。并通過上行接口(WIFI接口、FE接口、GPRS接口)將信息數(shù)據(jù)傳輸?shù)娇刂圃贫说脑O(shè)備。
調(diào)用GateWay對象的Connect()方法建立通道,如果建立成功,則GateWay的Connetct方法返回值為true,反之,則為false。
調(diào)用GateWay對象的DisConnect()方法斷開,如果斷開成功,則GateWay的DisConnetct方法返回值為true,反之,則為false。
4.1.3 糧倉實時監(jiān)測模塊
1)溫濕度實時監(jiān)測。設(shè)備類型0x31,數(shù)據(jù)位0,1為溫度值,數(shù)據(jù)位2,3為濕度值;數(shù)據(jù)位4固定值為OxFF。其中,數(shù)據(jù)位0,1通過[數(shù)據(jù)位0*256+數(shù)據(jù)位1)/100]算出空氣溫度整數(shù)部分值,數(shù)據(jù)位0,1通過[數(shù)據(jù)位0*256+數(shù)據(jù)位1)%100]算出空氣溫度小數(shù)部分值;數(shù)據(jù)位2,3通過[數(shù)據(jù)2*256+數(shù)據(jù)位3)/100]算出空氣濕度整數(shù)部分值,數(shù)據(jù)位2,3通過[數(shù)據(jù)位2*256+數(shù)據(jù)位3)%100]算出空氣濕度小數(shù)部分值。核心代碼如下:
2)二氧化碳實時監(jiān)測。設(shè)備類型0x33,數(shù)據(jù)位0,1為二氧化碳濃度值,數(shù)據(jù)位2,3,4固定為OxFF。其中,數(shù)據(jù)位0,1通過[數(shù)據(jù)位為0*256+數(shù)據(jù)位]計算出二氧化碳濃度值。核心代碼如下:
3)光照強度實時監(jiān)測。設(shè)備類型0x34,數(shù)據(jù)位0,1為光照強度,數(shù)據(jù)位2,3,4固定為OxFF。其中,數(shù)據(jù)位0,1通過[數(shù)據(jù)位為0*256+數(shù)據(jù)位]計算出光照強度值。核心代碼如下:
糧倉實時監(jiān)測模塊如圖1所示。
圖1 智慧糧倉上位機實時監(jiān)測圖
阿里云物聯(lián)網(wǎng)平臺是一個集成了設(shè)備管理、數(shù)據(jù)安全通信和消息訂閱等功能的一體化平臺。向下支持連接海量設(shè)備,采集設(shè)備數(shù)據(jù)上云;向上提供云端API,服務端可通過調(diào)用云端API將指令下發(fā)至設(shè)備端,實現(xiàn)遠程控制。
設(shè)備上報數(shù)據(jù)到阿里云物聯(lián)網(wǎng)平臺。1)創(chuàng)建產(chǎn)品與設(shè)備:在物聯(lián)網(wǎng)平臺上為設(shè)備注冊一個身份,獲取 設(shè) 備 證 書 信 息 (ProductKey、DeviceName和DeviceSecret)。該證書信息將燒錄到設(shè)備上,用于設(shè)備連接物聯(lián)網(wǎng)平臺時,進行身份認證。2)為產(chǎn)品定義物模型:可以從屬性、服務和事件三個維度定義產(chǎn)品功能。物聯(lián)網(wǎng)平臺根據(jù)所定義的功能構(gòu)建出產(chǎn)品的數(shù)據(jù)模型,用于云端與設(shè)備端進行指定數(shù)據(jù)通信。3)建立設(shè)備與平臺的連接:開發(fā)設(shè)備端SDK,傳入設(shè)備的證書信息,將設(shè)備連接到物聯(lián)網(wǎng)平臺,使設(shè)備激活。4)服務端訂閱設(shè)備消息:服務端通過訂閱消息類型,接收設(shè)備相關(guān)消息,如設(shè)備上下線通知、設(shè)備生命周期變更、設(shè)備上報消息等。5)云端下發(fā)指令:使用物聯(lián)網(wǎng)平臺的在線調(diào)試功能,從控制臺下發(fā)指令到設(shè)備端。
使用MQTT協(xié)議把數(shù)據(jù)上傳到阿里云,核心代碼如下:
有效的測試是質(zhì)量控制中非常重要的環(huán)節(jié)。由于該系統(tǒng)是一個復雜的工程,實現(xiàn)的內(nèi)容非常多,測試正是反映工程質(zhì)量的最有效途徑之一,也是保證項目質(zhì)量的重要手段之一,所以必須嚴格執(zhí)行測試流程和規(guī)范。為保障平臺各項功能正常運行,使得平臺性能達到最優(yōu),使用有Win7以上操作平臺配置的計算機,分別采用搜狗和IE瀏覽器對上位機環(huán)境監(jiān)測模塊和云平臺模塊等功能進行逐一測試。測試顯示系統(tǒng)數(shù)據(jù)傳遞延遲低于5 000 ms;數(shù)據(jù)監(jiān)測準確率達99%;數(shù)據(jù)監(jiān)測實時性延遲3 000 ms。運行結(jié)果表明,平臺各項功能均可以正常運行。
通過構(gòu)建基于阿里云的智慧糧倉監(jiān)測系統(tǒng),可以很好地改變傳統(tǒng)糧倉信息采集模式。通過農(nóng)業(yè)物聯(lián)網(wǎng)技術(shù)測量糧倉的環(huán)境參數(shù),并把數(shù)據(jù)上傳到阿里云平臺,助力農(nóng)業(yè)生產(chǎn)的智能化、科學化管理,從而提高儲糧品質(zhì),使糧食產(chǎn)品在市場上贏得更好的聲譽。