摘要: 太阳能杀虫灯物联网(SIL-IoTs)是一种基于农业场景与物联网技术的新型物理农业虫害防治工具,通过无线传输太阳能杀虫灯组件状态数据,用户可后台实时查看太阳能杀虫灯运行状态,具有杀虫计数、虫害区域定位、辅助农情监测等功能。但随着SIL-IoTs快速发展与广泛应用,故障诊断难和维护难等矛盾日益突出。基于此,本研究首先阐述了SIL-IoTs的结构和研究现状,分析了故障诊断的重要性,指出了故障诊断是保障其可靠性的主要手段。接着介绍了目前太阳能杀虫灯节点自身存在的故障及其在无线传感网络(WSNs)中的体现,并进一步对WSNs中的故障进行分类,包括基于行为、基于时间、基于组件以及基于影响区域的故障四类。随后讨论了统计方法、概率方法、层次路由方法、机器学习方法、拓扑控制方法和移动基站方法等目前主要使用的WSNs故障诊断方法。此外,还探讨了SIL-IoTs故障诊断策略,将故障诊断从行为上分为主动型诊断与被动型诊断策略,从监测类型上分为连续诊断、定期诊断、直接诊断与间接诊断策略,从设备上分为集中式、分布式与混合式策略。在以上故障诊断方法与策略的基础上,介绍了后台数据异常、部分节点通信异常、整个网络通信异常和未诊断出异常但实际存在异常四种故障现象下适用的WSNs故障诊断调试工具,如Sympathy、Clairvoyant、SNIF和Dustminer。最后,强调了SIL-IoTs的特性对故障诊断带来的潜在挑战,包括部署环境复杂、节点任务冲突、连续性区域节点无法传输数据和多种故障诊断失效等情形,并针对这些潜在挑战指出了合理的研究方向。由于SIL-IoTs为农业物联网中典型应用,因此本研究可扩展至其它农业物联网中,并为这些农业物联网的故障诊断提供参考。
关键词: 太阳能杀虫灯;无线传感网络;农业物联网;故障诊断;虫害
本文源自智慧农业(中英文), 2020, 2(2): 11-27.《智慧农业(中英文)》(季刊)是国家新闻出版署批准、国内外公开发行的农业工程类学术期刊,由中华人民共和国农业农村部主管,中国农业科学院农业信息研究所主办,《智慧农业(中英文)》编辑委员会学术指导,《智慧农业(中英文)》编辑部编辑出版。
1 引 言
农业是支撑国民经济建设与发展的第一基础产业。然而农业虫害,尤其是迁飞性害虫,如草地贪夜蛾、稻纵卷叶螟和甜菜叶蛾等,对农业的正常生产造成了极大的负面影响[1]。目前虫害防治的主要手段是施用农药,但长期大量使用农药,不仅降低了农产品的品质,污染了自然环境,而且还提高了害虫的抗药性,不利于中国农业的可持续发展[2]。
在国家实行化肥农药双减政策背景下,太阳能杀虫灯(Solar Insecticidal Lamps,SIL)作为一种通过太阳能供电、利用迁飞性害虫趋光性引诱害虫扑灯从而起到杀虫作用的物理防治工具,已逐渐成为中国害虫防治与植物保护方面的研究热点[3]。由于太阳能杀虫灯部署于野外,受环境影响较大,容易出现故障;而且因其多悬挂于较高的金属杆上,且有高压金属网,因此检修和维护较为困难,无法长期发挥杀虫作用。传统太阳能杀虫灯①不包含物联网功能,一般未设有故障诊断功能。部分有故障诊断功能的产品通过内置传感器检测电压与电流的异常变化。当出现异常时,通过亮起故障警报灯的方式等待维护人员发现异常。维护人员通过现场观察、测电笔检测进行经验式故障诊断,无法满足快速杀虫计数、故障诊断、虫害区域判断等农业生产需求。
随着物联网技术的发展,无线传感网络(Wireless Sensor Networks, WSNs)被广泛应用于温室大棚[4]、植保无人机[5]、植物表型平台[6]等智慧农业场景。太阳能杀虫灯物联网(Solar Insecticidal Lamps Internet of Things, SIL-IoTs)正是WSNs与SIL结合的产物。SIL-IoTs通过无线通信模块(如ZigBee和LoRa)将杀虫计数、太阳能杀虫灯组件状态信息等上传到云平台与用户移动端,或直接在节点端进行在线状态监测,以满足用户实时获取设备故障信息需求。用户通过后台发送调整工作时长等命令来远程控制并管理SIL-IoTs,如利用已知坐标信息的SIL-IoTs节点进行实时杀虫计数,快速判定虫害区域,提升太阳能杀虫灯实验的效率,进而辅助农药施用决策。此外SIL-IoTs还可扩展土壤墒情、温湿度等模块,以满足不同农业场景下的具体需求,实现农情辅助监测功能[7],提升农业生产管理效率[8]。
基于此,企业纷纷研制SIL-IoTs产品,但仍存在一定的局限性。主要体现在:1)目前市场上的产品均基于蜂窝移动网络进行数据传输。这种方式不仅增加了杀虫灯节点的维护成本(需要一直缴纳流量费用),且不适用于部分网络信号质量较差的农村区域。2)目前产品杀虫计数均基于高压电网放电次数进行计数,当多只害虫同时碰撞高压电网时,电网只进行一次放电,记为杀虫一次;或虫子粘在高压电网上持续性放电时,有虫子撞击电网,也不进行计数。这些情况导致杀虫计数结果不可信,可能误导故障的诊断。3)WSNs采用的是节点多跳传输至基站的方法,基于蜂窝移动网络的后台故障诊断方法(较低延迟与通信代价)不适用于SIL-IoTs。因此使用ZigBee等低成本、自组网通信方式,通过节点间互相通信以及节点与基站通信的方式实时监测太阳能杀虫灯组件状态,对SIL-IoTs的长期运行更加有利。并且基于节点自诊断、邻居节点互相监督等方法,后台能及时发现组件存在故障,通过重启等手段消除系统故障。
本文在介绍SIL-IoTs结构和研究现状的基础上,阐述了SIL-IoTs故障诊断的重要性,分析了SIL-IoTs故障诊断的特征,并进一步展望了其部署环境与工作特性给故障诊断带来的潜在挑战。
2 SIL-IoTs及其故障诊断重要性
2.1 SIL-IoTs结构及研究进展
目前,应用中主要使用的传统太阳能杀虫灯是太阳能频振式杀虫灯和太阳能风吸式杀虫灯。这两种杀虫灯均利用诱虫光源吸引害虫至杀虫灯附近,频振式杀虫灯通过高压电网放电杀灭害虫,风吸式杀虫灯通过风扇吸入害虫,使其风干。SIL-IoTs在硬件结构上比传统太阳能杀虫灯多了无线通信设备与天线,如图1所示,用于节点间通信或与基站通信。其中无线通信设备通过蓄电池供电,而蓄电池通过太阳能板充电,因此相较于节点能量有限的传统WSNs,SIL-IoTs是一种能量采集-无线传感网络(Energy-Harvesting WSNs,EH-WSNs)。EH-WSNs是一种通过采集外界能量(如无线充电、太阳能、风能)为传感器电池充电的新兴WSNs形式。它极大地延长了节点与网络寿命,使传感器节点突破能量的束缚,进而支持通信范围更广、计算能力更强的边缘计算节点。将故障诊断方法部署在边缘计算节点可以有效降低诊断信息延迟,通过自恢复的方法恢复部分故障,而不必将故障信息传输到后台后再恢复,提高了SIL-IoTs的可靠性。
从系统结构上,依据WSNs的定义,可将SIL-IoTs分为感知层、传输层、边缘层以及应用层,如图2所示。感知层通过多种传感器完成数据采集任务,并利用传输层的无线通信设备上传采集到的数据。对于计算量小、实时性要求高的任务,可在本地设备进行数据处理并发送控制命令至执行器。当区域性虫害爆发时,若将虫害数据上传至云端再由云端将控制命令传回至执行器,较大的时延可能导致杀虫任务调整总是落后于实际虫情变化。而应用层可将云平台或边缘层处理后的数据或决策信息发送至Web站点或用户手机,便于用户实时查看或帮助用户做出更正确的决策。
目前科研人员已经开展了部分研究,Lam等[9]将诱虫灯与WSNs结合,通过感知诱虫灯中的害虫重量识别害虫种类,利用星型拓扑结构和时分控制的方式传输数据,建立了用于实时监测越南湄公河三角洲地区褐飞虱的监控网络。Eliopoulos等[10]提出了一种基于生物声学技术的粮仓虫害密度估计方法,通过分析压电传感器的振动记录对区域内谷物侵染严重程度进行判别。Lopez等[11]提出了一种基于低成本图像传感器的虫害监控系统,可部署于温室大棚或大田中,通过单跳或多跳传播的形式上传虫害数据,通过图像识别算法检测害虫。Yang等[12]提出了一种基于分区结构的SIL-IoTs节点部署策略,利用农田天然的分区结构,将SIL-IoTs的节点部署问题转化为二次分配问题,并采用遗传算法对该问题求解。该策略在保证全覆盖的约束下,显著降低了节点的部署数量,可用于复杂的农业环境中。
2.2 SIL-IoTs故障诊断重要性
由于SIL-IoTs在日常应用中承担着较重的杀虫任务以及辅助虫害观测任务,当SIL-IoTs出现故障时,不仅无法杀灭害虫,而且可能误导农民对虫害的估计情况,从而导致农药用量偏差,进一步影响作物的品质与产量。特别地,当诱虫光源能正常工作但杀虫组件出现故障时,周围害虫被吸引至太阳能杀虫灯附近却又无法杀虫,将造成局部地区害虫爆发性增长。此类情形不仅对作物产生危害,还会使用户认为SIL-IoTs将其他区域的害虫吸引到自己农田中,进而影响SIL-IoTs的推广与应用。因此对SIL-IoTs故障进行快速、准确的诊断非常重要。
目前市场上使用的基于蜂窝移动网络的SIL-IoTs产品主要通过维护人员经验式故障诊断,以及当运行状态数据跳变或不在合理范围内时判定故障[7]。当移动蜂窝网络出现通信问题时,除了自带的故障诊断警报灯外,后台只能获取节点网络连接失败的信息,无法对其进行远程故障诊断。与移动蜂窝网络直连基站不同的是,在WSNs中,杀虫灯部分故障诊断策略可在本地节点或边缘计算节点执行,从而达到自诊断与自恢复效果。
太阳能杀虫灯与物联网技术的结合在带动害虫防治技术发展同时,也带来了新的挑战,包括多约束条件下SIL-IoTs节点部署、SIL-IoTs工作时长自适应策略、虫害爆发区域快速精准定位以及严重虫害时高压放电数据抗干扰[7]。这些挑战都建立在SIL-IoTs可靠性得到保证的前提下,且与之相辅相成。如果SIL-IoTs无法得到保障,故障未被及时排查将导致部署策略失效;SIL-IoTs节点损坏,无法工作,工作时长自适应无意义;虫害爆发区域错误定位,网络拓扑结构错误调整导致整个网络崩溃等。因此,可靠性是保障SIL-IoTs产品能否长期稳定运行的关键性问题。而故障诊断通过各类算法在节点或后端处检测并分类出SIL-IoTs 中存在的故障,是保障可靠性的前提。研究针对SIL-IoTs的故障诊断方法,及时发现SIL-IoTs故障,对于减少农业生产受虫害侵袭造成的经济损失尤为重要。
3 SIL-IoTs故障诊断特征分析
有效的故障诊断方法依赖于对研究背景的特征分析,因此有必要进行SIL-IoTs的故障诊断特征分析。
3.1 SIL-IoTs故障分类
SIL-IoTs是一种含有杀虫及太阳能充电功能的WSNs,其中太阳能杀虫灯组件、传感器模块以及无线通信模块为SIL-IoTs的整体组件构成,基于此借助传统WSNs的故障分类及诊断方法对SIL-IoTs的故障诊断进行特征分析。
WSNs是一种自组网络,通过部署在不同应用场景下的大量传感器采集数据,传输到一个或多个基站,最终传输到云平台或移动端[13]。检验WSNs可靠性最重要的指标就是检测基站是否收到正确的感知数据,未收到所有的数据或收到不正确的数据即可判断WSNs存在故障。依据不同的特征,可将WSNs故障分为四种类型,分别是基于行为、基于时间、基于组件以及基于影响区域的故障[14],如图3所示,其中红色外框故障为较难诊断的故障。
3.1.1 基于行为
当WSNs中存在故障时,传感器节点表现行为包括无法发送数据、发送错误数据或间断性地发送数据。基于此将故障分为硬故障和软故障。硬故障指传感器模块组件完全损坏,因而无法与其他传感器通信[15]。损坏的组件可能但不限于通信模块或收发模块故障、电池损坏、集成电路受雨水侵蚀以及超出通讯半径[16]。当传感器仍处于激活状态,但发送不正确数据或时常不能发送数据则表明WSNs处于软故障状态[17],如发送异常的杀虫计数数据或间断的发送杀虫计数数据。
3.1.2 基于时间
从故障的持续时间分析,可将故障分为永久性故障、间歇性故障和暂时性故障[18,19]。永久性故障通常与硬故障同时发生,例如电池故障时,SIL-IoTs节点无法接入网络,不仅无法上传数据,而且无法杀虫。当传感器节点或网络在无故障与有故障状态之间不停切换时,表明目前其正处于间歇性故障中,如SIL-IoTs灯管频繁启动。暂时性故障则是短时间内发生的间歇性故障,会自我恢复,通常是由于外部环境变化等导致,难以诊断。
3.1.3 基于组件
SIL-IoTs由硬件(多种传感器、传统太阳能杀虫灯组件、无线通信模块)和软件(协议栈、后台控制程序、传感器驱动文件)组件组成。当组件故障时,会导致正常工作的SIL-IoTs行为发生变化,进而造成硬故障或软故障。基于组件的故障可分为节点故障、网络故障、基站故障以及后端故障。节点故障指传感器节点与太阳能杀虫灯组件发生故障,其中传感器节点主要包括传感器单元、数据处理单元、无线收发器和电源[20]。电池电量不足极易造成节点故障,因此需要良好的能量管理方式,防止部分关键节点能量下降过快而导致整个网络故障[21]。根据第2节中的组成结构,太阳能杀虫灯节点组件可能发生的部分故障如表1所示,大部分故障都源于生产工艺不足或硬件老化问题[22,23]。传感器节点通过通信链路互相连接,当链路出现故障时,节点消息无法被发出或具有较大的延迟。路由决定了消息的传递路径,当路由出现软件故障时,消息可能发送到不正确的目的地,甚至造成局部区域链路拥塞或发包冲突。基站负责将收集到的数据聚合并通过网关发送到应用层,当基站出现故障时,整个网络的信息可能全部丢失,造成严重后果。此外,局部地区的拥塞可能扩散至基站,影响基站接收其他节点的数据。后端故障主要源于软件故障或黑客入侵。黑客入侵时,后端决策系统接收到错误的指令,造成整个网络的故障。需要采取相应的安全措施来预防黑客入侵。
3.1.4 基于区域
基于故障所影响的区域可分为局部故障与全局故障。局部故障表现为一个或多个节点受到故障影响。关键节点受到影响并进一步影响到整个网络时,即称为全局故障。如果没有采取适当的故障诊断与故障恢复措施,局部故障可能演变成全局故障。如区域性虫害爆发导致区域内SIL-IoTs节点网络故障,如果不快速调整网络拓扑结构,虫害爆发区域邻居节点可能受到链路拥塞、多节点重复发包等影响,导致能量快速下降,再扩散至更大范围,最后迫使SIL-IoTs全局故障。
实际故障类型往往不是用这四种特征下的某一个故障类型描述的,而是基于这四种特征进行精准地描述。例如,某SIL-IoTs节点A电池损坏,由于其具有组件损坏及永久无法发送数据的特征,可将其称为永久性节点硬故障。如果没有好的拓扑控制方法及备份路由,A节点的上一跳节点B 重复的向故障节点A发包,但是A节点无法成功收包,此时节点B与节点A之间又存在网络故障。由于短时间能耗异常,当B节点电量耗尽时,其状态也为永久性节点硬故障。若B节点的邻居节点C原本通过B节点发送数据包,但当B节点出现故障时暂时未能发送成功,随后通过其他无故障节点成功发送数据包,则C节点为暂时性软故障。此外,若A节点和B节点负责多个节点的数据转发时,则此时与A节点和B节点关联区域存在局部网络故障。进一步影响全局时,则为全局网络故障。
上述提到的是单个原因(某SIL-IoTs节点A电池损坏)造成的多种故障(节点A、B以及C均存在故障),还存在多种原因造成的多种故障,如复合型故障。复合型故障是多种故障同时发生的特殊故障,也是WSNs故障诊断的难点。在SIL-IoTs中,复合型故障包括但不限于:节点网络故障以及虫害爆发导致的临时性区域节点无法传输数据,两种故障导致的结果类似,同时发生时难以诊断;节点软故障与网络故障同时发生,此时部分存在软故障的节点因为网络故障无法将数据传输到后台,因而只能检测出网络故障;太阳能杀虫灯灯管、高压电网或风扇故障时,若同时发生节点软故障导致杀虫数据异常,此时需要利用不同组件对不同参数进行诊断,否则难以诊断故障类型。因此,调研目前WSNs中现有的故障诊断方法以判断其是否适用于以及如何应用于SIL-IoTs尤为重要。
3.2 WSNs故障诊断研究方法
WSNs故障诊断一般分为四步:检测、孤立、鉴别和恢复[24],这四步也适用于SIL-IoTs故障诊断。首先检测SIL-IoTs是否存在故障。当存在故障时,需要使用诊断方法定位故障位置并鉴别故障类型。随后将故障节点或故障链路孤立以保证无故障部分正常运行。最后依据故障类型进行针对性故障恢复,保证SIL-IoTs正常运行。此外,在发生故障时,一般会采取故障容错机制,快速隔离故障保证WSNs的正常运行[25]。基于故障诊断的触发方式可将其分为主动与被动两类。主动触发是一种节点或基站会定期检测网络状态的故障诊断方式,而被动触发则是一种当节点或网络状态不符合预设情况时再触发故障诊断方法的诊断方式。基于这两种触发方式和不同的应用背景及约束条件,如网络密度、时效性要求、能耗要求、节点计算能力等,目前已研究出多种类型的WSNs故障诊断方法。根据这些方法的特性,将其分为以下6类方法:统计方法、概率方法、层次路由方法、机器学习方法、拓扑控制方法和移动基站方法。表2为近年经典故障诊断研究方法的分类情况。
3.2.1 统计方法
统计方法通过建立模型,运用统计指标对数据进行检验,当结果不符合检验时,标记为故障样本,并进一步根据故障样本的离群程度、方差和标准差指标等对其进行故障分类。Panda和Khilar[28]提出了一种基于改进三西格玛(3sigma)故障自诊断方法,每个节点收集一跳邻居节点的数据并通过3sigma检验观察自身是否存在硬故障或永久性故障。此方法通过节点自身进行故障诊断,因此要求节点有一定的存储与计算能力。当节点数量较少时,此种方法不适用。Jiang[26]提出了一种改进的分布式故障诊断方法。当超过一半的邻居节点与目标节点数据的差值超过阈值时,将节点标记为可能故障,用同样的方法标记网络中所有节点。然后判断目标节点中初始检测状态为正常的邻居节点是否有一半超过阈值,如果是则确定目标节点故障。当目标节点附近没有邻居节点或所有邻居节点均标记为可能故障时,如果目标节点初始检测状态为可能故障,则目标节点标记为故障。此方法降低了统计方法对邻居节点的依赖性,可用于节点稀疏的WSNs中。但是此类方法为主动诊断方法,会造成较高的能量损耗。因此,Jin等[29]提出了一种基于自回归模型与Kuiper检验的被动故障诊断方法。基于当某条路径中的节点故障时,其他节点会选择新的路径并且通信时间会增加的特点,通过Kuiper检验来检测异常,从而判断是否存在故障。
统计方法大多依据目标节点与邻居节点值的差异进行诊断,是一种基于节点的分布式故障诊断方案。当节点处于边缘地区,没有足够的邻居节点参与计算,或是邻居节点也存在故障时,此类故障诊断方法的正确性无法得到保证。此外,此类方法大多基于节点进行故障诊断,权衡节点能量消耗与故障诊断率是另一大挑战。由于SIL-IoTs电池可充电、有一定计算和存储能力,因此部署于节点处的统计方法十分适用,特别是节点暂时性与间歇性等依靠数据长期波动趋势进行分析的故障。
3.2.2 概率方法
概率方法将故障诊断问题当作一个分类概率模型。Lau等[27]提出了一种基于朴素贝叶斯框架的集中式硬件故障检测方法。在基站分析收集到的端到端传输时间数据,判断故障概率是否大于正常概率。如果是,则判定原路径有节点故障,再选取近期多次数据传输时间数据进行评估。此方法在无拥塞网络中可以有效监测网络故障,并给出可疑故障节点,但无法检测边缘地区的节点。Peng和Chow[30]提出了一种邻域隐藏条件随机域法来确定传感器间的隐藏状态。这种方法利用信号强度与信号延迟来估计不同故障后验概率,以此确定WSNs的健康状况。此方法可用于不同通信条件与节点数量场景中。Liu等[35]将工业WSNs中的故障节点识别问题转化为轨迹提取问题。通过概率模型的在线学习,将感知节点分布变成概率值分布模式。根据生成的概率值分布轨迹,进行模式匹配与时空约束检查,以识别故障节点。
概率方法大多不能鉴别故障的类别。此外,因为主要使用信号强度、信号延迟等参数进行故障诊断,因此难以获取故障节点的数量,只能判断存在故障的路径及估计路径丢失节点的情况。与统计方法类似,部署于节点的概率方法也适用于SIL-IoTs故障诊断,特别是前期的故障检测与孤立。
3.2.3 层次路由方法
层次路由是一种将节点分为多个簇,每个簇的簇头节点(Cluster Head node,CH)收集簇内节点的信息,通过CH直接上传数据到基站或多跳CH上传数据到基站的数据传输方式[40,41]。层次路由故障诊断方法也是通过CH对簇内成员进行诊断[42]。Jassbi和Moridi[34]采用混合节能分布式层次路由方法(Hybrid Energy-Efficient Distributed clustering,HEED)进行分簇,采用加权中值法对簇内节点进行检测。当CH出现故障时,使用提前选取的簇内备份CH进行数据传输与故障检测工作。Moridi等[39]提出一种基于簇的多路径故障容错算法,对WSNs中的节点分簇后,选择一个备份节点提高CH节点容错性。当簇内数据传输时,通过假设检验和簇内投票的方式检测节点的故障。最后根据剩余能量、跳数、传播速度和可靠性参数选择最优传输路径。该方法可以有效降低丢包率,提升数据准确性。
层次路由方法比其他通过普通节点进行自诊断的方法更加简单有效,在诊断故障后还可通过改变网络路由保障WSNs的可靠性。但是,由于多轮的CH选取,层次路由方法增加了WSNs的通信与能量开销。此外,由于CH依然通过邻居节点数据判断目标节点故障状态,当簇内大多数节点出现故障导致数据异常时,正常节点反而可能被误诊为故障节点。层次路由方法适用于较大规模的SIL-IoTs部署情况,其分簇进行故障诊断的方式能快速检测节点软故障与硬故障。此外,层次路由方法亦适用于SIL-IoTs故障容错方案设计,保障其在发生故障时不受影响。
3.2.4 机器学习方法
监督学习方法是机器学习方法在WSNs故障诊断领域中主要的应用。监督学习方法通过大量有标签的历史数据训练故障诊断模型,利用目标函数不断地调整模型参数,直到模型能有效地检测并分类故障。Zhao等[36]采用半监督学习方法对故障传感器节点进行分类,还引入了一种基于局部核密度估计的标签传播机制。此方法考虑到基站收集的数据会出现丢包现象,用半监督核密度估计方法估计丢包数据的类标签,以此分类故障并构造训练集。Javaid等[37]根据数据特征将故障分为偏移故障(传感器校准不佳)、增益故障(在特定时间段内数据变化率不符合规律)、卡死故障(数据长期为0)和超过范围(有正常读数但超出正常范围),提出了一种基于信任函数的决策融合算法,通过增强支持向量机、增强K近邻、增强极限学习机和增强递归极限学习机进行组合运算,以此分类故障。
机器学习方法需要设备具有较高的计算性能,因此大多在基站或后台运行,是一种集中式处理方案。尽管此类方法在故障诊断上有良好的检测率,但其在后台运行的特点导致不能快速的发现故障并进行恢复。此外,该方法依赖于大量数据建立模型,获得较精确的分类结果,因此多用于间歇性与暂时性节点故障中。对于SIL-IoTs而言,机器学习方法可部署于基站或部署轻量级算法于节点处,结合统计方法检测节点间歇性与暂时性故障,利用新数据不断更新模型,对SIL-IoTs的野外环境变化有较大的容忍度。
3.2.5 拓扑控制方法
WSNs中的故障有可能改变网络的拓扑结构。如节点剩余能量较低无法承担数据转发任务时,在平面路由中其他节点将寻找别的传播路径,在层次路由中簇内会唤醒备份节点替代此节点继续执行任务。Oßner等[31]提出了一种基于拓扑结构的故障定位方法。通过基站将网络拓扑以图形表示,包含WSNs内的故障信息。基于此给每个节点分配一个可疑度得分,得分越高,故障概率越大。Sulieman和Gitlin[33]提出了一种基于分集技术与三角网编码组合的WSNs网络故障诊断策略。该方法通过构建冗余路径,快速替代发生链路故障的路径,可以有效地节省能量消耗并快速的调整拓扑结构。但
个目标节点中发生
个链路故障时,至少需要
个冗余链路。
拓扑控制方法的目的是降低故障发生时WSNs的能量消耗与带宽损失。拓扑控制方法在网络故障与故障定位方面有较好的性能表现,对于其他故障暂未有相关性研究。在SIL-IoTs中,拓扑控制方法可以有效诊断网络故障并重构路由,是SIL-IoTs不可缺少的故障诊断策略。
3.2.6 移动基站方法
数据从节点传输到基站有一定的时延性,因此WSNs节点数量较大时故障诊断与故障恢复效率降低。此外,由网络故障导致的拓扑结构变化也为网络故障诊断增加了难度。Chanak等[32]提出了一种基于移动基站的分布式故障诊断方法。移动基站是一种配备无线收发器的移动机器人或车辆,其移动到网络中的不同区域通过单跳通信的方式来诊断附近传感器的软硬件状态,有效提高了网络的故障检测精度。Fissaoui等[38]提出了一种基于故障容错与能量有效性的分布式WSNs数据融合算法。该方法利用移动代理在传感器节点间的迁移进行数据收集,规划移动代理的路径与节点失效时的备用路径,降低了节点能耗与数据传输时延。
移动基站方法能够有效地提高网络的故障检测精度,提高故障检测与恢复的实时性,降低节点的能量消耗。目前移动基站的主要研究问题在于检测区域划分与检测路径优化。此外,由于移动基站方法需要自主移动的机器人或车辆,并且提前规划好路径,因此对应用场景的要求较高。在SIL-IoTs中,可作为移动基站的有无人收割机、植保无人机等具有移动作业特性的农机装备。尽管移动基站方法在故障检测率、时延性方面均有较好效果,但SIL-IoTs故障诊断受无人收割机、植保无人机等作业路径、工作时长、作业区域等影响较大,能否有效结合是一个未知数。
如图4所示,SIL-IoTs应用于大田农业、禽畜养殖、茶园种植等场景中(以蓝色字体表示),在不同场景中可能存在多种无线传感设备与SIL-IoTs相连(以红色字体表示),通过无线通信设备进行数据传输(以橙色虚线表示)。在此种复杂的SIL-IoTs场景中,使用单种故障诊断方法难以取得良好效果。对于部署在后台的故障诊断方法(如概率方法、机器学习方法、拓扑控制方法,通过后台分析接收到的全局信息进行故障诊断),由于后台强大的计算与存储能力,以及从SIL-IoTs节点将数据经过多跳链路传输到后台存在时延的特点,因此更适用于处理时效性要求不高、较难诊断的故障。对于部署在SIL-IoTs节点的故障诊断方法(如统计方法、层次路由方法,通过节点自身时间相关性与邻居节点空间相关性进行故障诊断),由于节点有限的计算与存储能力,以及不需要多跳传输数据的特点,因此更适用于时效性要求较高、较易诊断的故障。其中故障诊断的时效性指故障出现到故障解决的时间。
移动基站方法可以综合部署于后台及部署于节点的故障诊断方法的优点,但对作为基站的载体要求较高。此外,卫星遥感数据、无人机数据等可用于故障诊断辅助决策或验证故障诊断正确性。如某杀虫灯杀虫计数值持续较低,通过无人机航拍数据可观测实际虫情,借此辅助判断是灯管故障或是节点软故障。
3.3 SIL-IoTs故障诊断策略
对于SIL-IoTs而言,合适的故障诊断策略直接关系到故障诊断的准确率与效率,因此选择合适的故障诊断策略十分重要。
从行为方面,可将故障诊断分为主动型诊断与被动型诊断策略。主动型诊断通过用户提出诊断指令,或WSNs定期执行相关诊断程序,多基于基站进行,可精细地排查SIL-IoTs中潜在的故障。被动型诊断通过预设参数阈值等,在CH、中继节点或边缘计算节点等进行诊断,多基于节点自身,可及时检测出SIL-IoTs中影响较大的故障。
从监测类型方面,可将故障诊断分为连续诊断、定期诊断、直接诊断与间接诊断。连续诊断即进行实时性诊断,需要消耗较多能量,但能及时检测故障,适用于产值较高的场景,如茶园或畜牧养殖。定期诊断即设定故障诊断周期,达到触发条件时即开始诊断,随后休眠直至达到下一个触发条件,适用于绝大多数SIL-IoTs场景。直接诊断即通过现场观测方式进行经验性评估,如维护人员现场观察、测电笔检测方式。间接诊断即通过相关性较强的数据等信息判断是否存在故障,基于WSNs的故障诊断均为间接诊断。
此外,根据故障诊断方法在SIL-IoTs系统结构中不同层中执行的特点,可将故障诊断分为集中式、分布式以及混合式三种策略。其中集中式策略将数据包传输至后台,由后台对所有节点及链路进行故障诊断,具有全局检错率高、时延高的特点。由于后台收集到的历史数据充足,因此概率方法、机器学习方法等对数据有较高依赖的方法更为适用。此外,由于集中式策略能获得全局拓扑信息,因此也适用于拓扑控制方法,根据路由变化情况快速定位故障。分布式策略则将故障诊断方法部署于SIL-IoTs节点或边缘节点端,通过节点自身或邻居节点互相监听的方式进行故障诊断,具有局部检错率高、时延低的特点。统计方法可有效利用节点自身数据的时间相关性与邻居节点之间的空间相关性进行统计检验。此外,层次路由方法利用簇头整合簇内节点信息的机制,采用簇内投票等方式可检测簇内节点故障,因此也属于分布式方法。混合式结合了集中式与分布式的特点,是一种更为有效的故障诊断策略。如移动基站方法可在基站移动过程中对所在区域一跳邻居节点进行分布式故障诊断,又可利用在移动路径中已获得的节点信息进行集中式故障诊断。多种故障诊断策略与方法关系如图5所示。
基于SIL-IoTs各种故障类型在WSNs中表现,应当采取的故障诊断策略如表3所示。WSNs主要通过数据异常及网络通信异常检测故障,所以对于后台数据异常、部分节点异常、整个网络通信异常,均可通过现有WSNs故障诊断方法对SIL-IoTs进行故障检测与故障分类,继而进行故障恢复。对于硬故障或长时间未恢复的软故障,如灯管两端发红但不亮,需要安排维护人员及时现场检修。
在相应的故障诊断方法与策略的基础上,选择合适的软件工具对SIL-IoTs进行调试也十分重要。目前已有很多学者研发了WSNs故障诊断的调试工具,这些工具监控的对象包括流量状态、节点状态以及全局状态[43]。流量监控多使用机器学习算法来分析并跟踪数据包,以此检测网络故障;节点状态监控工具通过收集每个节点的信息(如状态,事件跟踪)以及节点间交互影响,帮助用户分析故障;全局状态监控结合多个节点的信息以发现于诊断故障。对于表3中不同的故障现象,如后台数据异常,可利用Ramanathan等[44]提出的可检测并定位网络中节点崩溃、重启、无线路由、邻居缺失和路由失效的故障监测工具Sympathy进行调试。对于部分节点通信异常可利用Yang等[45]提出的综合源代码级无线网络调试器Clairvoyant调试。开发人员通过无线连接到WSNs,通过终端、步进、监视、回溯等命令检测WSNs中的节点通信故障。对于整个网络通信异常可使用Ringwald等[46]提出的一种可检测节点意外重启、孤立节点、分区网络故障的故障检测工具SNIF进行调试。对于未诊断出异常但却实际存在异常情况,可考虑Khan等[47]提出的一种解决用于多个组件交互产生的复合故障的诊断工具Dustminer。此工具通过记录WSNs中多种不同类型的事件,能自动分析日志并提取导致故障的事件序列。针对能量采集模块,可有效诊断由于电量的间歇性变化导致的系统重置等间歇性故障的Energy-interference-free Debugger[48]亦可用于SIL-IoTs这种EH-WSNs中。
4 SIL-IoTs故障诊断潜在挑战
李凯亮等[7]提出了四个SIL-IoTs关键问题,包括多约束条件下SIL节点部署、保障杀虫灯基本工作时间的能量自适应控制策略、虫害爆发区域精准定位技术和严重虫害情况下杀虫灯密集放电时段网络数据抗干扰传输。这些关键问题可以概述为应用场景的特性,针对这些特性开展SIL-IoTs故障诊断研究存在以下挑战。
(1) 杀虫灯节点部署环境复杂。太阳能杀虫灯被广泛地应用于农业的各种场景中,且在不同场景中有不同的数据采集和部署需求。根据实际需求部署的杀虫灯节点数量与密度不一,这也增加了SIL-IoTs故障诊断的困难。然而目前尚未出现SIL-IoTs场景下的故障诊断方法研究,亟需研究出针对不同农情的SIL-IoTs故障诊断方法。
此外,SIL-IoTs属于能量采集-无线传感网络,基于能量有限的WSNs故障诊断与故障容错技术不再适用,目前只有少量研究基于EH-WSNs的故障诊断与故障容错方法[49,50],使用方法为层次路由与拓扑控制。当SIL-IoTs节点部署在丘陵山地时,所有节点的太阳能板单位时间采集到的能量存在差异,这也是SIL-IoTs故障诊断必须要解决的问题。只有不均等能量采集条件下的异构WSNs故障诊断问题得到有效解决时,才能保证SIL-IoTs的可靠性。
(2) 节点任务冲突。SIL-IoTs不仅需要执行杀虫任务,同时还可能需要执行采集并传输环境数据、土壤墒情、苗情等任务,一般情况下杀虫任务优先级最高。已验证频振式杀虫灯高压电网放电会对数据传输产生干扰,实验场景如图6所示[51]。当高压电网频繁放电时数据采集及传输任务势必受到影响。除了通过硬件及外观设计避免干扰之外,设计防止误判的故障诊断策略,以及基于故障容错策略(将执行杀虫任务的节点看作暂时性节点故障)的路由协议对保证数据传输实时性及保障基础杀虫任务尤为重要。
(3) 连续性区域节点无法传输数据。当区域性虫害爆发时,一个或多个区域内SIL-IoTs节点在不可控时间内将处于无法传输数据状态。一方面,杀虫灯将优先执行杀虫任务,区域性节点受到高压电网放电干扰,难以完成数据传输任务。另一方面,虫害爆发时,杀虫灯持续执行杀虫任务,势必消耗大量电量,虫害过后,较低的电池电量易造成各种类型的WSNs故障。因此,需要在虫害尚未大规模爆发时,通过被动故障诊断策略快速定位失效节点。同时对爆发区域周围节点打分,在其低于一定阈值时,将节点标记为失效节点,选择备用路由路径。基于此保障SIL-IoTs在恶劣环境下的可靠性。根据其需要检验及概率预测特性,可用统计方法与概率方法解决此类问题。
(4) 故障诊断方法失效。受到特殊因素的扰动,本来可正常工作的故障诊断方法可能无法有效的检测本应检测出的故障,或将无故障情况诊断为有故障,造成故障诊断方法失效。如偶发性复合故障。在实际场景中,很难检测出有所的故障,为发生概率极低且影响不大的故障专门设置诊断方法价值不高。发生概率低但影响较大的故障,则需要针对性的故障诊断策略来应对。如网络故障的同时虫害爆发导致区域性节点失效,此种情况需要监测虫害爆发区域邻居节点的杀虫统计数据、网络拓扑结构变化是否异常等信息来排查故障。
在非自诊断方法中,关键节点硬故障或网络故障,且无备份节点能代替其在通信链路中的作用时故障诊断方法亦会失效。通过关键节点转发数据的其他节点无法与基站连通,即使能在本地进行故障诊断,也无法将故障信息发送到后台。如平面路由协议中,虫害爆发区域在基站周围时,靠近基站的关键节点优先执行杀虫任务。此时外围节点无法将数据传输到基站,只能通过自诊断自恢复方式维持SIL-IoTs的正常运行。
此外,节点受恶意攻击也会导致故障诊断方法失效。由于SIL-IoTs部署于野外,部署范围大、难于监管,SIL-IoTs易受到软件与硬件的攻击。其中软件攻击即黑客入侵SIL-IoTs节点,通过泛洪攻击、女巫攻击等方式使SIL-IoTs出现异常,进而无法工作。此类恶意攻击方式会误导SIL-IoTs故障诊断的判断。如恶意节点导致拜占庭故障(存在部分难以检测的恶意节点发送错误数据或指令),有效的故障容错机制与安全机制可以保证网络不受恶意节点影响,做出错误的判断。硬件攻击指SIL-IoTs节点中价值较高的组件(如太阳能板、电池)被盗或被破坏,此时后台报此SIL-IoTs节点硬故障,但组件已被偷窃或破坏,故障诊断方法失去意义。
在这些故障诊断方法失效情形下,进行远程故障诊断难以得到较好结果,特别是在不确定太阳能杀虫灯组件故障还是传感器节点硬故障时,需要维护人员现场检修以排查故障。
5 总 结
SIL-IoTs是一种结合农业场景与物联网技术的新型物理农业虫害防治措施,而故障诊断方法则是保障SIL-IoTs可靠性、数据传输实时性、杀虫效果的重要手段。本文介绍了太阳能杀虫灯的研究现状,探讨了SIL-IoTs故障类型,分析了多种故障诊断方法在SIL-IoTs下的适用性,讨论了SIL-IoTs场景下的故障诊断策略,并介绍了多种故障现象下适用的故障诊断工具,指出需要多种类型的故障诊断方法才能满足SIL-IoTs场景下故障诊断需求。最后强调了SIL-IoTs场景下故障诊断存在的四个潜在挑战,这四个挑战是开展SIL-IoTs故障诊断工作的主要难点,需要更多的学者关注此类问题,开展相关性研究。此外,由于SIL-IoTs为农业物联网典型应用,因此本研究可扩展至其它农业物联网中,并为这些农业物联网故障诊断提供参考。