張江南,王 海
(青島農(nóng)業(yè)大學 網(wǎng)絡管理中心,山東 青島 266109)
物聯(lián)網(wǎng)(Internet of Things,IoT)[1]是指通過信息傳感設備,將需要進行信息傳遞的物體,按照相關(guān)協(xié)議與互聯(lián)網(wǎng)相連接而形成的一種網(wǎng)絡,實現(xiàn)物與物之間互聯(lián),進而對物體的狀態(tài)進行實時感知和控制。目前,物聯(lián)網(wǎng)廣泛應用在各個領域,并取得了良好的實際效果[2-4]。它改變了日常生活和勞動生產(chǎn)模式,給人們帶來了極大的便利,是未來的主流發(fā)展方向。
農(nóng)業(yè)物聯(lián)網(wǎng)是計算機、互聯(lián)網(wǎng)、移動通信等信息技術(shù)在農(nóng)業(yè)領域的高度集成[5],是農(nóng)業(yè)信息化、智能化的必要條件。物聯(lián)網(wǎng)技術(shù)應用到農(nóng)業(yè)的生產(chǎn)、經(jīng)營、管理和服務全產(chǎn)業(yè)鏈中,改變了傳統(tǒng)農(nóng)業(yè)模式,加快了農(nóng)業(yè)現(xiàn)代化的發(fā)展[6-9]。農(nóng)業(yè)物聯(lián)網(wǎng)技術(shù)通常利用傳感器設備實時采集大田、溫室等作物相關(guān)的環(huán)境數(shù)據(jù),將數(shù)據(jù)通過移動通訊技術(shù)傳輸?shù)椒斩?,服務端針對?shù)據(jù)給出相關(guān)分析結(jié)果[10-12]。雖然現(xiàn)在農(nóng)業(yè)物聯(lián)網(wǎng)的研究已經(jīng)取得了諸多成果,但在數(shù)據(jù)存儲和管理方面還有諸多不足。目前農(nóng)業(yè)物聯(lián)網(wǎng)的數(shù)據(jù)大都是單獨存儲、數(shù)據(jù)不流通。系統(tǒng)的管理分散,用戶使用不便利。因此,文中設計了一種基于數(shù)據(jù)中心的農(nóng)業(yè)物聯(lián)網(wǎng)系統(tǒng)。
文中提出的農(nóng)業(yè)物聯(lián)網(wǎng)系統(tǒng)包括數(shù)據(jù)中心、遠端控制器和監(jiān)控設備,如圖1所示。數(shù)據(jù)中心內(nèi)使用vmware虛機作為遠端服務器和數(shù)據(jù)存儲設備,負責數(shù)據(jù)集中存儲、遠程監(jiān)控和與用戶交互;遠端控制器采用樹莓派3,負責數(shù)據(jù)的采集分析和加密傳輸;監(jiān)控設備分為信息采集設備、視頻設備和控制設備。信息采集設備包括溫濕度、二氧化碳濃度、土壤溫濕度和光照傳感器,采集作物環(huán)境信息數(shù)據(jù)。視頻設備是網(wǎng)絡攝像頭,對實驗環(huán)境進行遠程監(jiān)控??刂颇K采用繼電器,控制設備的啟停。
圖1 系統(tǒng)構(gòu)架
根據(jù)實際應用環(huán)境的需求,為保證數(shù)據(jù)采集的準確性,系統(tǒng)硬件全采用工業(yè)級設備。遠程控制器采用樹莓派3,圖2為遠程控制器硬件構(gòu)架。遠程控制器通過USB轉(zhuǎn)RS485接口連接各個傳感器;通過USB轉(zhuǎn)攝像頭進行遠程監(jiān)控;通過以太網(wǎng)接口和數(shù)據(jù)中心進行數(shù)據(jù)交互;通過GPIO口來控制繼電器,進而控制水閥開關(guān);通過SD卡啟動系統(tǒng),并存儲文件。
圖2 硬件構(gòu)架
根據(jù)系統(tǒng)需求設計遠程控制器的軟件架構(gòu),包括共享內(nèi)存、信息采集模塊、控制模塊、加密模塊、Web交互界面和數(shù)據(jù)存儲模塊六個部分。共享內(nèi)存模塊用來存儲各個單元的結(jié)構(gòu)、名稱、狀態(tài)和控制指令,是邏輯程序主要操作對象;數(shù)據(jù)存儲模塊在數(shù)據(jù)中心的服務器內(nèi),對各個物聯(lián)網(wǎng)實驗田采集到的各種數(shù)據(jù)信息進行集中存儲,當有信息變化時寫入或查詢數(shù)據(jù)庫;信息采集控制模塊采用RS485通信方式,通過modbus-RTU協(xié)議發(fā)送指令;控制模塊采用GPIO接口,通過其輸出高低電平控制繼電器,進而控制設備的啟停;加密模塊在進行數(shù)據(jù)通信時,把傳輸數(shù)據(jù)進行加密;Web交互界面搭建在網(wǎng)絡中心的服務器內(nèi),方便用戶使用;各個功能模塊有獨立的讀寫接口,通過調(diào)用功能模塊的接口完成系統(tǒng)控制。遠程控制器的軟件構(gòu)架如圖3所示。
由于數(shù)據(jù)傳輸存在數(shù)據(jù)安全問題,結(jié)合各個加密算法的優(yōu)缺點,該系統(tǒng)選擇AES算法進行數(shù)據(jù)加密。AES算法是一種對稱加密算法,密鑰的分組長度固定,密鑰的長度可以改變。它的密鑰長度有128 bit、192 bit、256 bit三種,對應10、12、14輪數(shù)[13-14],具有運算速度快,安全性高和資源消耗少等優(yōu)點。根據(jù)該算法設計的系統(tǒng)加密流程如圖4所示。
圖3 軟件構(gòu)架
圖4 加密流程
根據(jù)實際的使用需要,加密算法的流程設計如下:
(1)將發(fā)送的數(shù)據(jù)報文進行字節(jié)代換[15],通過一覽表法構(gòu)造一個16×16矩陣的S盒,進行8比特位的輸入和輸出映射。
(2)將字節(jié)代換后的數(shù)據(jù)進行行移位。每次只對一行進行移位。移位后,數(shù)據(jù)字節(jié)的比特順序不發(fā)生改變,根據(jù)行矩陣中的位置進行向左移位。
(3)將移位后的數(shù)據(jù)進行列混合。取矩陣中的每一列,令其與一個常數(shù)矩陣相乘,使得列矩陣中的每一個元素和原列矩陣中的四個元素相關(guān),打亂比特順序。
(4)將列混合后的數(shù)據(jù)進行加輪密鑰。把列混合后的矩陣作為一個狀態(tài),將該狀態(tài)中的一列作為一個密鑰字,用密鑰字和每一個狀態(tài)列相加。
(5)將步驟1~4重復n次,最終得到加密后的報文。
(6)解密過程與加密過程相反。
該系統(tǒng)在數(shù)據(jù)中心內(nèi)搭建了農(nóng)業(yè)物聯(lián)網(wǎng)平臺,可以為各個分散的農(nóng)業(yè)物聯(lián)網(wǎng)試驗設備提供接口,也可以通過合作的方式將服務器直接搭建在網(wǎng)絡中心。最終實現(xiàn)在物聯(lián)網(wǎng)平臺上,對分散的農(nóng)業(yè)物聯(lián)網(wǎng)大田、大棚和實驗室等進行統(tǒng)一的管理。目前,以平邑春華生態(tài)農(nóng)場作為實驗對象,使用高性能開發(fā)板樹莓派3,結(jié)合工業(yè)級的傳感器設備,完成了對該農(nóng)場前端的數(shù)據(jù)采集。在農(nóng)業(yè)物聯(lián)網(wǎng)平臺上可以查看該農(nóng)業(yè)大田的環(huán)境狀況,主要包括空氣溫濕度、實時照度、土壤溫濕度和二氧化碳濃度等信息,如圖5所示。
圖5 農(nóng)業(yè)物聯(lián)網(wǎng)實時數(shù)據(jù)展示
為了能直觀地看到數(shù)據(jù)變化,該系統(tǒng)在物聯(lián)網(wǎng)平臺內(nèi)增加了視圖功能,在視圖內(nèi)可以直觀看到該農(nóng)業(yè)大田一段時間內(nèi)各個環(huán)境參數(shù)隨時間的變化情況,如圖6所示。
圖6 環(huán)境參數(shù)變化曲線
以數(shù)據(jù)中心作為依托,搭建農(nóng)業(yè)物聯(lián)網(wǎng)平臺,設計了基于數(shù)據(jù)中心的農(nóng)業(yè)物聯(lián)網(wǎng)系統(tǒng)。其優(yōu)點在于數(shù)據(jù)集中存儲在數(shù)據(jù)中心內(nèi),解決了大量數(shù)據(jù)進行存儲時單臺服務器存儲不足的問題,也保障了數(shù)據(jù)傳輸和存儲的安全性。數(shù)據(jù)的集中存儲,便于工作人員統(tǒng)一管理,為后續(xù)的農(nóng)業(yè)大數(shù)據(jù)分析創(chuàng)造了良好的實驗環(huán)境,因此具有一定的實用價值。同時,該系統(tǒng)也存在一些問題,比如基于RS485的有線傳感器,主要是設備的成本問題。有線設備相對于無線設備的可靠性高、維護量少、成本低,但布線十分繁瑣。隨著無線設備的不斷改良,無線設備的價格和功耗也不斷降低,在這方面將繼續(xù)進行改進。