基于边缘计算的智慧物联网农业病虫识别系统设计与实现
2024-04-15杨洁李国强马竞羽雷雨果
杨洁 李国强 马竞羽 雷雨果
摘 要:【目的】传统云计算存在实时性不够、带宽不足、能耗较大、不利于数据安全与隐私等问题,应用边缘计算能有效解决上述问题。【方法】通过基于边缘计算的智慧物联网农业病虫识别系统的开发与应用,测试目标应用的数字化、集成化、信息化、可视化和智能化,减少云计算的计算压力。【结果】智慧物联网农业病虫识别系统能实现节点或网关离线后自动重新登录的功能、系统数据采集与上报功能、服务器数据显示功能,从而减轻云计算中心的计算负担。【结论】研究结果将为使用边缘计算的系统提供有力的支撑,能保证整个系统的智能性、可靠性、安全性和经济性,并提高了计算能力和社会生产效率,为大规模推广边缘计算奠定了基础。
关键词:边缘计算;物联网;低功耗广域网;系统框架;边缘决策
中图分类号: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 引言
随着物联网的快速发展和4G/5G无线网络的快速普及,万物互联的时代已经到来。同时,随着网络边缘设备数量的迅速增加,使得该类设备所产生的数据已经达到了泽字节(ZB)级别,以云計算模型为核心的集中式大数据处理,其关键技术已不能高效处理边缘设备所产生的数据。传统的云计算有以下4个方面的不足:①实时性不够。对互联网来说,实时性是一个极其重要的要求,而传统云计算模型先将数据上传到云计算中心,再请求数据处理结果,这无疑会增大系统的时延;②带宽不足。边缘设备会实时不间断产生大量数据,而将这些数据全部上传至云计算中心,会给网络带宽造成巨大压力。③能耗较大。数据中心消耗了极多的能源,且随着请求处理的数据量越来越大,能耗将会成为限制云计算中心发展的瓶颈。④不利于数据安全与隐私。万物互联中的数据与用户生活联系极为紧密,如在用户住处安装的智能摄像头,将视频数据上传到云端,会增加用户隐私泄露的风险。
为解决上述问题,本研究将边缘计算应用于智慧物联网农业病虫识别系统中,从而减轻云计算的压力。
1 边缘计算
1.1 边缘计算国内外研究现状
随着物联网和通信技术的飞速发展,边缘设备的规模及边缘设备产生的数据量也在急剧增加。为了能更加高效地利用海量的边缘数据,边缘计算应运而生[1]。
在国外,2014年,European Telecommunications Standards Institute(ETSI)成立移动边缘计算标准化工作组;2015年,由思科、戴尔、ARM等公司联合成立OpenFog联盟;2017年3月,ETSI将移动边缘计算行业规范工作组更名为多接入边缘计算,对边缘计算的应用需求进行深入的研究与探讨;2018年,国际电信联盟物联网和智慧城市研究组立项首个物联网领域边缘计算项目“用于边缘计算的 IOT 需求”[2]。2019 年,在世界移动通信大会上,NVIDIA与微软公司宣布针对边缘计算进行合作,旨在帮助各行各业能更好地应对制造设施、互联楼宇、城市基础设施及其他领域中日益增长的数据洪流。
在国内,对边缘计算的研究还处于起步阶段。2016年11月30日,在北京成立了边缘计算产业联盟,该联盟由华为技术有限公司、中国信息通信研究院和ARM等联合创立,其中,成员单位涵盖能源电力、工业制造等不同领域的科研院校。边缘计算产业联盟在2016年、 2017年和2018年分别出版了国内的《边缘计算参考架构》1.0版本、2.0版本和3.0版本[2-4],梳理了边缘计算的测试床,并提出了边缘计算在工业制造、智慧城市、智慧农业等行业应用的解决方案。
1.2 边缘计算概念
边缘计算是网络边缘侧执行计算的一种计算模式,其中,边缘的上行数据表示万物互联服务,边缘的下行数据表示云服务,而边缘计算的边缘是指从数据源到云计算中心路径之间的任意计算和网络资源[5-7]。
边缘计算模型如图1所示,由边缘计算模型可了解边缘计算的实现流程与原理。云计算中心主要通过数据库及边缘设备来获取数据,其中,边缘设备可以是传感器、手机等,边缘设备既是数据的生产者,又是数据的消费者。因此,云计算中心和边缘设备的数据请求是双向的。边缘设备具备一定的智能性,不仅能与云计算中心进行数据交互,且可执行部分任务,主要包括数据储存和处理、隐私保护等。
2 基于边缘计算的智慧物联网农业病虫识别系统
基于边缘计算的智慧物联网农业病虫识别系统主要是为了实现目标应用的数字化、集成化、信息化、可视化和智能化[8]。在整个系统的实现过程中,根据各个应用模块的功能,可将系统划分为节点、网关和服务器三部分,系统整体架构如图2所示。
节点是整个物联网系统精确测量、智能感知的基础。节点主要是由微控制器模块、传感器、SD卡储存模块、LoRa模块、电源模块组成。其中,微控制器模块是节点的核心模块,主要负责初始化配置各外设模块,并整合节点各外设模块,完成对数据的读取、储存、简单的分析处理和上報等功能;传感器模块主要负责对环境数据的采集[9];SD卡存储模块主要负责对数据的储存;LoRa模块主要负责节点与网关的通信;电源模块主要负责对节点正常供电,配合微控制器实现节点低功耗的功能。
网关作为节点与服务器之间的桥梁,是系统低功耗广域网和以太网的重要枢纽,通过网关来完成不同协议的转换。网关主要由微控制器模块、SD卡存储模块、网口模块、LoRa模块和电源模块组成。其中,微控制器模块是网关的核心模块,主要负责网关各外设模块的初始化配置,并协同网关的各个模块来实现数据预处理、上报和信息决策等功能;LoRa模块主要负责网关与节点的无线通信;SD卡存储模块主要用于存储数据;网口模块主要是实现网关与服务器的通信;电源模块主要负责网关的供电。
服务器主要由应用服务、数据库、中间件服务组成。其中,应用服务与网关通过网口模块进行通信,应用服务主要负责系统数据分析与处理,包括区域管理、用户管理、设备管理和数据管理这四个方面的相关功能。
根据系统整体架构设计并实现节点、网关与服务器的基本功能,在此基础上,参考图2的边缘计算3.0框架,以传感器为现场层、节点和网关为边缘层、服务器为云计算层,从而进行边缘计算的相关设计与部署,提升系统边缘侧的智能化。
2.1 节点的边缘决策
节点的边缘决策主要体现在网关离线的情况,当节点与网关的通信可能因外界环境或网关出现故障等,导致网关接收不到来自节点的数据时,将会出现节点数据丢失的情况。为了杜绝上述情况的发生,在节点检测到无法与网关正常通信后,将数据临时储存在着节点SD卡内部,在节点与网关重新恢复正常通信后,会检查SD卡内部是否存在着离线储存的数据,若存在,则将离线储存的数据与新数据一起上报至网关。根据节点传感器数据的类型,将储存方式分为两种。对空气温湿度、土壤温湿度、光照强度等普通类型的数据,可直接存放在.txt文档中;而图像数据以JPEG格式存放在文件中。
2.2 网关的边缘决策
网关边缘决策主要体现在三个方面:一是数据处理;二是离线数据决策(当网关与服务器因某些情况不能正常通信时,如网关网线接触不良等,网关与服务器不能进行数据交互,网关需要将节点上报的数据临时储存在本地数据库中,直至服务器在线时才将离线数据重新上报);三是网关进行信息决策和规则计算,并下发相应的决策至节点(不论服务器是否处于离线状态,网关都要能实现在本地对数据进行分析与处理等操作,正常执行局域范围内的一些数据服务,保证本地业务的可靠运行)。
2.2.1 数据处理。综合考虑传感器数据的缺失值、异常值和数据滤波的各种处理方式及该系统的实际使用情况,对缺失值与异常值采用均值填补法进行处理,对数据滤波采用中位值平均滤波。
2.2.2 离线数据决策。本研究设计的网关通过SQLAlchemy来建立数据库,SQLAlchemy是一种对象关系映射(Object Relational Mapping,ORM)工具,ORM将数据库中的表与面向对象语言中的类建立了一种对应关系,从而构建一个很强大的关系型数据库框架。因此,可通过操作类或类实例来完成操作数据库中的表或表中的每一条记录,使得数据库的访问更加高效[10]。
2.2.3 信息决策和规则计算。节点上报至网关的数据要先经过数据分析与清洗,接着网关使用规则模型等对数据进行更深入的分析,得出决策指令,并下发至节点。本研究设计的系统网关通过嵌入式规则引擎进行信息决策和规则计算。规则引擎是一种由推理引擎发展而来的、嵌入在应用程序中的组件,可以将复杂、冗余的业务规则同整个支撑系统分离开,便于系统的功能开发及架构的可复用移植[11]。
网关的规则引擎采用TCA模型,由触发器(Trigger)、执行条件(Condition)、执行动作(Action)三个部分组成,TCA模型如图3所示。
触发条件时将产生相应的触发动作,其中,触发条件可以是数据或时间等,且各个触发条件的关系设定为“或”(Or)关系;执行条件是对规则的触发条件再一次进行筛选,且各个执行条件的关系设定为“与”(And)关系;执行动作是指满足触发器与执行条件前提下执行定义的动作,该动作可以是指令或结论输出等,执行动作是TCA模型中规则的结果。
针对本研究设计的智慧物联网系统,节点上报至网关的传感器数据先进入触发器,通过触发器的触发条件后,进入执行条件再一次进行判断。若满足执行条件,则直接执行相应的决策动作,反之,则不执行。规则引擎中的TCA模型通过减少条件判断逻辑的复杂性,使得规则逻辑的执行力更强。通过边缘网关对数据进行规则判断及信息决策,可提高边缘网关的智能化水平,同时,减小云计算中心的计算压力。
3 测试结果
系统整体功能及性能测试主要检测节点、网关、服务器整体是否能正常稳定工作,同时,涉及对节点与网关、网关与服务器之间通信协议的验证,具体测试分为节点与网关注册登录测试、数据采集与上报测试、数据处理与信息决策测试、服务器数据显示测试、系统性能测试等。
3.1 网关和节点注册登录测试
网关和节点注册登录测试步骤和结果见表1。
由表1可知,网关和节点设备的注册与登录功能运行正常,并能实现节点或网关离线后自动重新登录的功能。
3.2 数据采集与上报测试
对测试节点与网关数据上报功能进行测试,测试步骤和结果见表2。
由表2可知,节点能正确采集传感器数据,且节点一个RS-485接口挂载空气温湿度传感器、光照强度传感器等,可实现一主多从的工作模式。同时,节点采集的数据能正常上报至网关,网关也能将数据上报至服务器。综上所述,系统的数据采集与上报功能正常。
3.3 数据处理与信息决策测试
数据处理与信息决策是物联网系统智能性的重要体现,测试主要涉及网关数据的清洗与滤波、节点与网关的离线数据处理决策、网关信息决策与规则计算。测试步骤和结果见表3。
由表3可知,对网关数据的清洗以及滤波、节点与网关的离线数据处理决策、网关信息决策与规则计算的测试均通过,通过在系统边缘侧实现这些功能,可减轻云计算中心的计算负担。
3.4 服务器数据显示测试
测试节点将采集到的空气温湿度、光照强度、土壤温湿度、土壤PH值和植物叶片图像数据上报至服务器,并通过服务器的数据展示界面来直观地显示传感器采集到的数据。传感器数据的展示界面分为普通传感器数据和图像数据两种,如图4、图5所示。由传感器数据的展示界面可知,服务器数据显示功能测试通过。
3.5 系统性能测试
上述测试主要是对整体系统的功能进行测试,接着进行系统性能测试,性能测试主要包括数据处理时间测试、系统压力测试两部分。系统性能测试的具体步骤和结果见表4。
由表4可知,网关数据分析和处理时间约为30 ms,网关数据分析和处理时间较快。
由系统压力测试结果可知,在节点上报周期为5 s,且采用主动上报模式的前提下,当单个网关挂载节点数量超过10个,网关可能会出现丢失部分节点数据的情况,这是因为多个节点可能会同时上报数据至网关,而网关只能处理一个节点上报的数据,从而导致网关丢失其他节点上报的数据。为了使单个网关能容纳尽可能多的节点数据,且不丢失节点数据,可适当增加节点上报周期的时间,或在每个节点设置固定数据上报周期的基础上加上一个较小随机时间,从而在一定程度上避免网关丢失节点数据的可能性。
4 結语
本研究设计的系统具有广覆盖、低功耗、低成本、大接入等特点,解决了传统物联网应用远距离与低功耗不可兼得的问题,并利用边缘计算模型部署系统边缘侧的网关与节点,实现大规模无线传感器的数据获取、处理、存储和信息决策等功能,能更加高效地处理系统边缘侧的数据,从而提升系统的智能性。
参考文献:
[1]边缘计算产业联盟.边缘计算产业联盟白皮书[R].北京:边缘计算产业联盟(ECC),2016.
[2]傅耀威,孟宪佳.边缘计算技术发展现状与对策[J].科技中国,2019(10):4-7.
[3]边缘计算产业联盟(ECC)/工业互联网产业联盟(AII).边缘计算参考架构2.0[R].北京:边缘计算产业联盟(ECC)/工业互联网产业联盟(AII),2017.
[4]边缘计算产业联盟(ECC)/工业互联网产业联盟(AII).边缘计算参考架构3.0[R].北京:边缘计算产业联盟(ECC)/工业互联网产业联盟(AII),2018.
[5]施巍松,孙辉,曹杰,等.边缘计算:万物互联时代新型计算模型[J].计算机研究与发展,2017(5):907-924.
[6]吕华章,陈丹,范斌,等.边缘计算标准化进展与案例分析[J].计算机研究与发展,2018(3):487-511.
[7]施巍松,张星洲,王一帆.边缘计算:现状与展望[J].计算机研究与发展,2019(1):69-89.
[8]张佳乐,赵彦超,陈兵,等.边缘计算数据安全与隐私保护研究综述[J].通信学报,2018(3):1-21.
[9]夏侯如超.基于边缘计算的室内空气质量监测方法及其预测模型研究[D].上海:华东理工大学,2019.
[10]肖旻,陈行.基于Python语言编程特点及应用之探讨[J].电脑知识与技术,2014(34):8177-8178.
[11]赵志伟.智能化规则引擎技术研究[J].软件,2018(8):65-69.