楊潔 李國強 馬競羽 雷雨果
摘 要:【目的】傳統(tǒng)云計算存在實時性不夠、帶寬不足、能耗較大、不利于數(shù)據(jù)安全與隱私等問題,應用邊緣計算能有效解決上述問題?!痉椒ā客ㄟ^基于邊緣計算的智慧物聯(lián)網(wǎng)農(nóng)業(yè)病蟲識別系統(tǒng)的開發(fā)與應用,測試目標應用的數(shù)字化、集成化、信息化、可視化和智能化,減少云計算的計算壓力?!窘Y果】智慧物聯(lián)網(wǎng)農(nóng)業(yè)病蟲識別系統(tǒng)能實現(xiàn)節(jié)點或網(wǎng)關離線后自動重新登錄的功能、系統(tǒng)數(shù)據(jù)采集與上報功能、服務器數(shù)據(jù)顯示功能,從而減輕云計算中心的計算負擔。【結論】研究結果將為使用邊緣計算的系統(tǒng)提供有力的支撐,能保證整個系統(tǒng)的智能性、可靠性、安全性和經(jīng)濟性,并提高了計算能力和社會生產(chǎn)效率,為大規(guī)模推廣邊緣計算奠定了基礎。
關鍵詞:邊緣計算;物聯(lián)網(wǎng);低功耗廣域網(wǎng);系統(tǒng)框架;邊緣決策
中圖分類號:TP274? ? ?文獻標志碼:A? ? ?文章編號:1003-5168(2024)04-0032-06
DOI:10.19968/j.cnki.hnkj.1003-5168.2024.04.006
Design and Implementation of Intelligent Internet of Things
Agricultural Pets Recognition System Based on Edge Computing
YANG Jie1? ? LI Guoqiang2? ? MA Jingyu1? ? LEI Yuguo1
(1.Henan Academy of Science Applied Physics Institute Co., Ltd., Zhengzhou 450008, China;2.Xinyang Ecological Environment Monitoring Center of Henan Province, Xinyang 464006, China)
Abstract: [Purposes] Research on edge computing applications can effectively avoid the traditional cloud computing problems such as real-time shortage, bandwidth shortage, high energy consumption and adverse to data security and privacy. [Methods] Through the development and application of intelligent Internet of things (IOT) agricultural pest identification system based on edge computing, the digitization, integration, informationization, visualization and intellectualization of target application are tested to reduce the computing pressure of cloud computing. [Findings] The intelligent Internet of things (IOT) agricultural pest identification system can realize the functions of automatically re-login after the nodes or gateways are off-line, the functions of system data collection and report, the functions of server data display to reduce the computing burden on the cloud computing center. [Conclusions] The results of the study will strongly support the use of edge computing system can ensure the intelligence, reliability, security and economy of the whole system, improve the computing capacity and the efficiency of social production, and then lays a foundation for the large-scale promotion of edge computing.
Keywords: edge computing; internet of things; low-power wide area network; system architecture; edge decision
0 引言
隨著物聯(lián)網(wǎng)的快速發(fā)展和4G/5G無線網(wǎng)絡的快速普及,萬物互聯(lián)的時代已經(jīng)到來。同時,隨著網(wǎng)絡邊緣設備數(shù)量的迅速增加,使得該類設備所產(chǎn)生的數(shù)據(jù)已經(jīng)達到了澤字節(jié)(ZB)級別,以云計算模型為核心的集中式大數(shù)據(jù)處理,其關鍵技術已不能高效處理邊緣設備所產(chǎn)生的數(shù)據(jù)。傳統(tǒng)的云計算有以下4個方面的不足:①實時性不夠。對互聯(lián)網(wǎng)來說,實時性是一個極其重要的要求,而傳統(tǒng)云計算模型先將數(shù)據(jù)上傳到云計算中心,再請求數(shù)據(jù)處理結果,這無疑會增大系統(tǒng)的時延;②帶寬不足。邊緣設備會實時不間斷產(chǎn)生大量數(shù)據(jù),而將這些數(shù)據(jù)全部上傳至云計算中心,會給網(wǎng)絡帶寬造成巨大壓力。③能耗較大。數(shù)據(jù)中心消耗了極多的能源,且隨著請求處理的數(shù)據(jù)量越來越大,能耗將會成為限制云計算中心發(fā)展的瓶頸。④不利于數(shù)據(jù)安全與隱私。萬物互聯(lián)中的數(shù)據(jù)與用戶生活聯(lián)系極為緊密,如在用戶住處安裝的智能攝像頭,將視頻數(shù)據(jù)上傳到云端,會增加用戶隱私泄露的風險。
為解決上述問題,本研究將邊緣計算應用于智慧物聯(lián)網(wǎng)農(nóng)業(yè)病蟲識別系統(tǒng)中,從而減輕云計算的壓力。
1 邊緣計算
1.1 邊緣計算國內(nèi)外研究現(xiàn)狀
隨著物聯(lián)網(wǎng)和通信技術的飛速發(fā)展,邊緣設備的規(guī)模及邊緣設備產(chǎn)生的數(shù)據(jù)量也在急劇增加。為了能更加高效地利用海量的邊緣數(shù)據(jù),邊緣計算應運而生[1]。
在國外,2014年,European Telecommunications Standards Institute(ETSI)成立移動邊緣計算標準化工作組;2015年,由思科、戴爾、ARM等公司聯(lián)合成立OpenFog聯(lián)盟;2017年3月,ETSI將移動邊緣計算行業(yè)規(guī)范工作組更名為多接入邊緣計算,對邊緣計算的應用需求進行深入的研究與探討;2018年,國際電信聯(lián)盟物聯(lián)網(wǎng)和智慧城市研究組立項首個物聯(lián)網(wǎng)領域邊緣計算項目“用于邊緣計算的 IOT 需求”[2]。2019 年,在世界移動通信大會上,NVIDIA與微軟公司宣布針對邊緣計算進行合作,旨在幫助各行各業(yè)能更好地應對制造設施、互聯(lián)樓宇、城市基礎設施及其他領域中日益增長的數(shù)據(jù)洪流。
在國內(nèi),對邊緣計算的研究還處于起步階段。2016年11月30日,在北京成立了邊緣計算產(chǎn)業(yè)聯(lián)盟,該聯(lián)盟由華為技術有限公司、中國信息通信研究院和ARM等聯(lián)合創(chuàng)立,其中,成員單位涵蓋能源電力、工業(yè)制造等不同領域的科研院校。邊緣計算產(chǎn)業(yè)聯(lián)盟在2016年、 2017年和2018年分別出版了國內(nèi)的《邊緣計算參考架構》1.0版本、2.0版本和3.0版本[2-4],梳理了邊緣計算的測試床,并提出了邊緣計算在工業(yè)制造、智慧城市、智慧農(nóng)業(yè)等行業(yè)應用的解決方案。
1.2 邊緣計算概念
邊緣計算是網(wǎng)絡邊緣側執(zhí)行計算的一種計算模式,其中,邊緣的上行數(shù)據(jù)表示萬物互聯(lián)服務,邊緣的下行數(shù)據(jù)表示云服務,而邊緣計算的邊緣是指從數(shù)據(jù)源到云計算中心路徑之間的任意計算和網(wǎng)絡資源[5-7]。
邊緣計算模型如圖1所示,由邊緣計算模型可了解邊緣計算的實現(xiàn)流程與原理。云計算中心主要通過數(shù)據(jù)庫及邊緣設備來獲取數(shù)據(jù),其中,邊緣設備可以是傳感器、手機等,邊緣設備既是數(shù)據(jù)的生產(chǎn)者,又是數(shù)據(jù)的消費者。因此,云計算中心和邊緣設備的數(shù)據(jù)請求是雙向的。邊緣設備具備一定的智能性,不僅能與云計算中心進行數(shù)據(jù)交互,且可執(zhí)行部分任務,主要包括數(shù)據(jù)儲存和處理、隱私保護等。
2 基于邊緣計算的智慧物聯(lián)網(wǎng)農(nóng)業(yè)病蟲識別系統(tǒng)
基于邊緣計算的智慧物聯(lián)網(wǎng)農(nóng)業(yè)病蟲識別系統(tǒng)主要是為了實現(xiàn)目標應用的數(shù)字化、集成化、信息化、可視化和智能化[8]。在整個系統(tǒng)的實現(xiàn)過程中,根據(jù)各個應用模塊的功能,可將系統(tǒng)劃分為節(jié)點、網(wǎng)關和服務器三部分,系統(tǒng)整體架構如圖2所示。
節(jié)點是整個物聯(lián)網(wǎng)系統(tǒng)精確測量、智能感知的基礎。節(jié)點主要是由微控制器模塊、傳感器、SD卡儲存模塊、LoRa模塊、電源模塊組成。其中,微控制器模塊是節(jié)點的核心模塊,主要負責初始化配置各外設模塊,并整合節(jié)點各外設模塊,完成對數(shù)據(jù)的讀取、儲存、簡單的分析處理和上報等功能;傳感器模塊主要負責對環(huán)境數(shù)據(jù)的采集[9];SD卡存儲模塊主要負責對數(shù)據(jù)的儲存;LoRa模塊主要負責節(jié)點與網(wǎng)關的通信;電源模塊主要負責對節(jié)點正常供電,配合微控制器實現(xiàn)節(jié)點低功耗的功能。
網(wǎng)關作為節(jié)點與服務器之間的橋梁,是系統(tǒng)低功耗廣域網(wǎng)和以太網(wǎng)的重要樞紐,通過網(wǎng)關來完成不同協(xié)議的轉(zhuǎn)換。網(wǎng)關主要由微控制器模塊、SD卡存儲模塊、網(wǎng)口模塊、LoRa模塊和電源模塊組成。其中,微控制器模塊是網(wǎng)關的核心模塊,主要負責網(wǎng)關各外設模塊的初始化配置,并協(xié)同網(wǎng)關的各個模塊來實現(xiàn)數(shù)據(jù)預處理、上報和信息決策等功能;LoRa模塊主要負責網(wǎng)關與節(jié)點的無線通信;SD卡存儲模塊主要用于存儲數(shù)據(jù);網(wǎng)口模塊主要是實現(xiàn)網(wǎng)關與服務器的通信;電源模塊主要負責網(wǎng)關的供電。
服務器主要由應用服務、數(shù)據(jù)庫、中間件服務組成。其中,應用服務與網(wǎng)關通過網(wǎng)口模塊進行通信,應用服務主要負責系統(tǒng)數(shù)據(jù)分析與處理,包括區(qū)域管理、用戶管理、設備管理和數(shù)據(jù)管理這四個方面的相關功能。
根據(jù)系統(tǒng)整體架構設計并實現(xiàn)節(jié)點、網(wǎng)關與服務器的基本功能,在此基礎上,參考圖2的邊緣計算3.0框架,以傳感器為現(xiàn)場層、節(jié)點和網(wǎng)關為邊緣層、服務器為云計算層,從而進行邊緣計算的相關設計與部署,提升系統(tǒng)邊緣側的智能化。
2.1 節(jié)點的邊緣決策
節(jié)點的邊緣決策主要體現(xiàn)在網(wǎng)關離線的情況,當節(jié)點與網(wǎng)關的通信可能因外界環(huán)境或網(wǎng)關出現(xiàn)故障等,導致網(wǎng)關接收不到來自節(jié)點的數(shù)據(jù)時,將會出現(xiàn)節(jié)點數(shù)據(jù)丟失的情況。為了杜絕上述情況的發(fā)生,在節(jié)點檢測到無法與網(wǎng)關正常通信后,將數(shù)據(jù)臨時儲存在著節(jié)點SD卡內(nèi)部,在節(jié)點與網(wǎng)關重新恢復正常通信后,會檢查SD卡內(nèi)部是否存在著離線儲存的數(shù)據(jù),若存在,則將離線儲存的數(shù)據(jù)與新數(shù)據(jù)一起上報至網(wǎng)關。根據(jù)節(jié)點傳感器數(shù)據(jù)的類型,將儲存方式分為兩種。對空氣溫濕度、土壤溫濕度、光照強度等普通類型的數(shù)據(jù),可直接存放在.txt文檔中;而圖像數(shù)據(jù)以JPEG格式存放在文件中。
2.2 網(wǎng)關的邊緣決策
網(wǎng)關邊緣決策主要體現(xiàn)在三個方面:一是數(shù)據(jù)處理;二是離線數(shù)據(jù)決策(當網(wǎng)關與服務器因某些情況不能正常通信時,如網(wǎng)關網(wǎng)線接觸不良等,網(wǎng)關與服務器不能進行數(shù)據(jù)交互,網(wǎng)關需要將節(jié)點上報的數(shù)據(jù)臨時儲存在本地數(shù)據(jù)庫中,直至服務器在線時才將離線數(shù)據(jù)重新上報);三是網(wǎng)關進行信息決策和規(guī)則計算,并下發(fā)相應的決策至節(jié)點(不論服務器是否處于離線狀態(tài),網(wǎng)關都要能實現(xiàn)在本地對數(shù)據(jù)進行分析與處理等操作,正常執(zhí)行局域范圍內(nèi)的一些數(shù)據(jù)服務,保證本地業(yè)務的可靠運行)。
2.2.1 數(shù)據(jù)處理。綜合考慮傳感器數(shù)據(jù)的缺失值、異常值和數(shù)據(jù)濾波的各種處理方式及該系統(tǒng)的實際使用情況,對缺失值與異常值采用均值填補法進行處理,對數(shù)據(jù)濾波采用中位值平均濾波。
2.2.2 離線數(shù)據(jù)決策。本研究設計的網(wǎng)關通過SQLAlchemy來建立數(shù)據(jù)庫,SQLAlchemy是一種對象關系映射(Object Relational Mapping,ORM)工具,ORM將數(shù)據(jù)庫中的表與面向?qū)ο笳Z言中的類建立了一種對應關系,從而構建一個很強大的關系型數(shù)據(jù)庫框架。因此,可通過操作類或類實例來完成操作數(shù)據(jù)庫中的表或表中的每一條記錄,使得數(shù)據(jù)庫的訪問更加高效[10]。
2.2.3 信息決策和規(guī)則計算。節(jié)點上報至網(wǎng)關的數(shù)據(jù)要先經(jīng)過數(shù)據(jù)分析與清洗,接著網(wǎng)關使用規(guī)則模型等對數(shù)據(jù)進行更深入的分析,得出決策指令,并下發(fā)至節(jié)點。本研究設計的系統(tǒng)網(wǎng)關通過嵌入式規(guī)則引擎進行信息決策和規(guī)則計算。規(guī)則引擎是一種由推理引擎發(fā)展而來的、嵌入在應用程序中的組件,可以將復雜、冗余的業(yè)務規(guī)則同整個支撐系統(tǒng)分離開,便于系統(tǒng)的功能開發(fā)及架構的可復用移植[11]。
網(wǎng)關的規(guī)則引擎采用TCA模型,由觸發(fā)器(Trigger)、執(zhí)行條件(Condition)、執(zhí)行動作(Action)三個部分組成,TCA模型如圖3所示。
觸發(fā)條件時將產(chǎn)生相應的觸發(fā)動作,其中,觸發(fā)條件可以是數(shù)據(jù)或時間等,且各個觸發(fā)條件的關系設定為“或”(Or)關系;執(zhí)行條件是對規(guī)則的觸發(fā)條件再一次進行篩選,且各個執(zhí)行條件的關系設定為“與”(And)關系;執(zhí)行動作是指滿足觸發(fā)器與執(zhí)行條件前提下執(zhí)行定義的動作,該動作可以是指令或結論輸出等,執(zhí)行動作是TCA模型中規(guī)則的結果。
針對本研究設計的智慧物聯(lián)網(wǎng)系統(tǒng),節(jié)點上報至網(wǎng)關的傳感器數(shù)據(jù)先進入觸發(fā)器,通過觸發(fā)器的觸發(fā)條件后,進入執(zhí)行條件再一次進行判斷。若滿足執(zhí)行條件,則直接執(zhí)行相應的決策動作,反之,則不執(zhí)行。規(guī)則引擎中的TCA模型通過減少條件判斷邏輯的復雜性,使得規(guī)則邏輯的執(zhí)行力更強。通過邊緣網(wǎng)關對數(shù)據(jù)進行規(guī)則判斷及信息決策,可提高邊緣網(wǎng)關的智能化水平,同時,減小云計算中心的計算壓力。
3 測試結果
系統(tǒng)整體功能及性能測試主要檢測節(jié)點、網(wǎng)關、服務器整體是否能正常穩(wěn)定工作,同時,涉及對節(jié)點與網(wǎng)關、網(wǎng)關與服務器之間通信協(xié)議的驗證,具體測試分為節(jié)點與網(wǎng)關注冊登錄測試、數(shù)據(jù)采集與上報測試、數(shù)據(jù)處理與信息決策測試、服務器數(shù)據(jù)顯示測試、系統(tǒng)性能測試等。
3.1 網(wǎng)關和節(jié)點注冊登錄測試
網(wǎng)關和節(jié)點注冊登錄測試步驟和結果見表1。
由表1可知,網(wǎng)關和節(jié)點設備的注冊與登錄功能運行正常,并能實現(xiàn)節(jié)點或網(wǎng)關離線后自動重新登錄的功能。
3.2 數(shù)據(jù)采集與上報測試
對測試節(jié)點與網(wǎng)關數(shù)據(jù)上報功能進行測試,測試步驟和結果見表2。
由表2可知,節(jié)點能正確采集傳感器數(shù)據(jù),且節(jié)點一個RS-485接口掛載空氣溫濕度傳感器、光照強度傳感器等,可實現(xiàn)一主多從的工作模式。同時,節(jié)點采集的數(shù)據(jù)能正常上報至網(wǎng)關,網(wǎng)關也能將數(shù)據(jù)上報至服務器。綜上所述,系統(tǒng)的數(shù)據(jù)采集與上報功能正常。
3.3 數(shù)據(jù)處理與信息決策測試
數(shù)據(jù)處理與信息決策是物聯(lián)網(wǎng)系統(tǒng)智能性的重要體現(xiàn),測試主要涉及網(wǎng)關數(shù)據(jù)的清洗與濾波、節(jié)點與網(wǎng)關的離線數(shù)據(jù)處理決策、網(wǎng)關信息決策與規(guī)則計算。測試步驟和結果見表3。
由表3可知,對網(wǎng)關數(shù)據(jù)的清洗以及濾波、節(jié)點與網(wǎng)關的離線數(shù)據(jù)處理決策、網(wǎng)關信息決策與規(guī)則計算的測試均通過,通過在系統(tǒng)邊緣側實現(xiàn)這些功能,可減輕云計算中心的計算負擔。
3.4 服務器數(shù)據(jù)顯示測試
測試節(jié)點將采集到的空氣溫濕度、光照強度、土壤溫濕度、土壤PH值和植物葉片圖像數(shù)據(jù)上報至服務器,并通過服務器的數(shù)據(jù)展示界面來直觀地顯示傳感器采集到的數(shù)據(jù)。傳感器數(shù)據(jù)的展示界面分為普通傳感器數(shù)據(jù)和圖像數(shù)據(jù)兩種,如圖4、圖5所示。由傳感器數(shù)據(jù)的展示界面可知,服務器數(shù)據(jù)顯示功能測試通過。
3.5 系統(tǒng)性能測試
上述測試主要是對整體系統(tǒng)的功能進行測試,接著進行系統(tǒng)性能測試,性能測試主要包括數(shù)據(jù)處理時間測試、系統(tǒng)壓力測試兩部分。系統(tǒng)性能測試的具體步驟和結果見表4。
由表4可知,網(wǎng)關數(shù)據(jù)分析和處理時間約為30 ms,網(wǎng)關數(shù)據(jù)分析和處理時間較快。
由系統(tǒng)壓力測試結果可知,在節(jié)點上報周期為5 s,且采用主動上報模式的前提下,當單個網(wǎng)關掛載節(jié)點數(shù)量超過10個,網(wǎng)關可能會出現(xiàn)丟失部分節(jié)點數(shù)據(jù)的情況,這是因為多個節(jié)點可能會同時上報數(shù)據(jù)至網(wǎng)關,而網(wǎng)關只能處理一個節(jié)點上報的數(shù)據(jù),從而導致網(wǎng)關丟失其他節(jié)點上報的數(shù)據(jù)。為了使單個網(wǎng)關能容納盡可能多的節(jié)點數(shù)據(jù),且不丟失節(jié)點數(shù)據(jù),可適當增加節(jié)點上報周期的時間,或在每個節(jié)點設置固定數(shù)據(jù)上報周期的基礎上加上一個較小隨機時間,從而在一定程度上避免網(wǎng)關丟失節(jié)點數(shù)據(jù)的可能性。
4 結語
本研究設計的系統(tǒng)具有廣覆蓋、低功耗、低成本、大接入等特點,解決了傳統(tǒng)物聯(lián)網(wǎng)應用遠距離與低功耗不可兼得的問題,并利用邊緣計算模型部署系統(tǒng)邊緣側的網(wǎng)關與節(jié)點,實現(xiàn)大規(guī)模無線傳感器的數(shù)據(jù)獲取、處理、存儲和信息決策等功能,能更加高效地處理系統(tǒng)邊緣側的數(shù)據(jù),從而提升系統(tǒng)的智能性。
參考文獻:
[1]邊緣計算產(chǎn)業(yè)聯(lián)盟.邊緣計算產(chǎn)業(yè)聯(lián)盟白皮書[R].北京:邊緣計算產(chǎn)業(yè)聯(lián)盟(ECC),2016.
[2]傅耀威,孟憲佳.邊緣計算技術發(fā)展現(xiàn)狀與對策[J].科技中國,2019(10):4-7.
[3]邊緣計算產(chǎn)業(yè)聯(lián)盟(ECC)/工業(yè)互聯(lián)網(wǎng)產(chǎn)業(yè)聯(lián)盟(AII).邊緣計算參考架構2.0[R].北京:邊緣計算產(chǎn)業(yè)聯(lián)盟(ECC)/工業(yè)互聯(lián)網(wǎng)產(chǎn)業(yè)聯(lián)盟(AII),2017.
[4]邊緣計算產(chǎn)業(yè)聯(lián)盟(ECC)/工業(yè)互聯(lián)網(wǎng)產(chǎn)業(yè)聯(lián)盟(AII).邊緣計算參考架構3.0[R].北京:邊緣計算產(chǎn)業(yè)聯(lián)盟(ECC)/工業(yè)互聯(lián)網(wǎng)產(chǎn)業(yè)聯(lián)盟(AII),2018.
[5]施巍松,孫輝,曹杰,等.邊緣計算:萬物互聯(lián)時代新型計算模型[J].計算機研究與發(fā)展,2017(5):907-924.
[6]呂華章,陳丹,范斌,等.邊緣計算標準化進展與案例分析[J].計算機研究與發(fā)展,2018(3):487-511.
[7]施巍松,張星洲,王一帆.邊緣計算:現(xiàn)狀與展望[J].計算機研究與發(fā)展,2019(1):69-89.
[8]張佳樂,趙彥超,陳兵,等.邊緣計算數(shù)據(jù)安全與隱私保護研究綜述[J].通信學報,2018(3):1-21.
[9]夏侯如超.基于邊緣計算的室內(nèi)空氣質(zhì)量監(jiān)測方法及其預測模型研究[D].上海:華東理工大學,2019.
[10]肖旻,陳行.基于Python語言編程特點及應用之探討[J].電腦知識與技術,2014(34):8177-8178.
[11]趙志偉.智能化規(guī)則引擎技術研究[J].軟件,2018(8):65-69.