基于高阶Packet Tracer的温室智能物联网系统仿真研究
2021-07-22王永红王诗瑶
王永红,王诗瑶
(1.江苏农牧科技职业学院,江苏 泰州 225300; 2.江苏省农业物联网工程中心,江苏 泰州 225300)
智能物联网(AI and internet of things,AIoT)本质上是不同结构的网络互联,将执行器件和传感器设备等连接到互联网中,实现物体的实时监测和智能控制,从而减少人为干预,完成特定事务[1]。现代温室环境监测和控制系统正朝着全面感知、可靠传输和智能应用的方向发展[2-3]。翟岩龙等[4]认为,仿真平台有数字化、虚拟化、智能化的趋势,且仿真技术越来越贴近真实系统,可信度和逼真度也更好。在温室环境监测系统方面的仿真有文献涉及,如刘鹤等[5]对温室湿度数据信号提取进行了仿真。然而,至今采用高阶Packet Tracer的智能物联网系统的仿真研究尚不多见。
仿真试验中,植物对生长环境有特定要求,需要对温室环境因子加以检测和控制。一般情况下,物联网系统只有在实施过程或完成后,方可看出是否达到预先设计的目的。因此,为了在系统实施之前验证物联网系统的可行性和可靠性,有必要对物联网系统进行仿真。本试验将虚拟技术引入仿真,分析智能物联网系统仿真的理论、方法及结果,并对试验进行了讨论,为温室智能物联网系统的进一步研究和实施提供借鉴。
1 材料和方法
1.1 智能物联网系统理论
智能物联网系统感知温室环境因子,通过网络传输,经应用层处理后进行智能控制或远程作业,对植物生长实行实时监控和专家诊断管理。系统组成包括数据感知、网络传输、决策支持和远程控制[6]。
在感知层,应用传感器技术、感知层协议以及相关技术,及时、准确地获取温室环境多因子,包括环境温度、湿度、二氧化碳浓度、光照度等,为自动控制和远程控制打好基础,实现对温室的温、水、肥、气等多因子的实时调控,保证温室内植物在适宜环境中生长。
在传输层,应用多网络协议,通过网关实现协议的转换,确保感知层数据的汇聚,以及数据的快捷传输。在温室内部通过ZigBee无线网络协议,连接各传感器无线节点,组成多级自组织网络,通过中继网关与远程服务器通信,并反馈指令控制相关智能设施,调节温室因子。
在应用层,设置农业领域模型,对获取的数据进行分析、融合处理。应用移动设备和展示平台,在远端以可视化、人性化方式直观地呈现温室环境状况、智能设备状况、植物生长状况,供经营者监察温室环境因子,及时做出预判,发出指令,控制相关执行机构,调节温室环境;进行数据异常报警、长势预测、病虫害监测与预警,促进植株生长发育,实现对设施园艺的水、肥、种、收等的决策管理。
在执行器件方面,应用空调、风机控制环境温度,喷雾器控制环境湿度,遮阳幕、照明控制环境光照度,二氧化碳发生器、风机等控制环境二氧化碳浓度。应用水肥一体化潮汐式灌溉技术对土壤含水率进行控制,均匀、定时、定量滴灌,浸润作物根系发育生长区域,使根系土壤始终保持疏松和适宜的含水量和养分,按比例直接提供给作物,满足限根栽培技术的要求。
1.2 仿真材料
仿真试验采用高阶Packet Tracer(以下简称PT)仿真。Cisco在PT 7版本中首次引入了AIoT功能,新版本增强了对AIoT的支持,提供了具有AIoT功能的设备,其中,SBC单板机类似树莓派(Raspberry Pi),自带无线连接模块,可据需要添加有线模块;MCU单片机采用Arduino云盾板,亦可配置相应的通信模块。AIoT网关采用专门为AT&T研发的DCL-100型号,与服务器设备中的AIoT新服务一样,具有中心模式编程能力。
PT没有提供ZigBee功能,但可以运用有线或其他无线方式替代实现其功能。因此,仿真试验没有单独使用MCU单片机或SBC单板机,而是将其集成到传感器终端节点、执行器件内,通过无线模块或以太网模块,连接到网络设备,由远程AIoT服务器集中监控。
仿真试验计算机系统需求:操作系统Windows 7以上,CPU Intel Pentium 4/3.0 GHz以上,RAM 4 GB,硬盘1.6 GB存储空间,显示分辨率1 920×1 080。
1.3 仿真系统模型设计
1.3.1 仿真模型设计 仿真试验为了尽可能准确实现对智能物联网系统的仿真,建立仿真模型如图1所示。
图1 试验仿真模型
在感知层,系统需要感知5个环境因子,分别是环境温度、湿度、二氧化碳浓度、光照度、土壤含水率。设备选取按照最接近目的仿真原则,分别选用温度传感器、湿度传感器、光照传感器、二氧化碳传感器、土壤含水率传感器,集成SBC单板机和无线模块,形成感知终端节点,实现定时采集温室各因子。采用网络摄像机Webcam监视现场和植物生长状况。
在传输层,传送感知层的感知数据到AIoT服务器。利用感知终端节点的通信模块,将感知数据传输给网关DCL-100,再转发给远程AIoT服务器。交换机采用Switch C2960作为接入网络设备,路由器充当云端设备。基站具有3G/4G功能,与中央办公服务器一起为智能手机提供无线通信信道。
在应用层,访问AIoT服务器,控制智能执行器件。采用远程管理机和智能手机访问服务器,直观呈现温室环境状况、智能设备状况、植物生长状况;利用植物生长模型,分析温室因子,及时做出预判,控制相关执行器件,从而调节温室环境因子。
此外,其他器件如液晶显示器用于显示现场监测的因子。AIoT服务器用于反馈指令控制执行器件,调节温室因子。执行器件连接于网络设备,选用加热器、制冷器,控制环境温度;选用加湿器、干燥器,控制环境湿度;选用二氧化碳发生器,控制环境二氧化碳浓度;选用遮阳幕,控制环境光照度;选用水肥一体化潮汐式灌溉,控制土壤含水率,浸润作物根系发育生长区域。
1.3.2 控制模型设计 适宜的环境有利于植物生长,温室关键技术之一在于建立控制模型,便于决策。仿真试验植物以猕猴桃为例。猕猴桃萌芽期、浆果膨大期、成熟期等不同生长阶段,对环境要求有所不同。仿真试验目的在于仿真物联网系统,故没有细分阶段。为了满足猕猴桃生长发育的要求,提高产量,仿真试验参照国家标准(GB)和农业部标准(NY)[7-10],结合无公害猕猴桃环境空气质量要求、灌溉水质量要求、土壤环境质量要求、试验方法及采样方法等,制定智能物联网系统控制模型。
(1)环境平均温度适宜在11.3~16.9 ℃,低于8 ℃时,植物处于休眠状态。环境温度控制规则:当环境温度<10 ℃,启动加热器,关闭制冷器,实施升温;当环境温度>18 ℃,关闭加热器,启动制冷器,实施降温。
(2)空气相对湿度为74.3%~85.0%。一般来说,80%左右能满足猕猴桃生长发育要求。环境湿度控制规则:当环境湿度<60%,启动加湿器,执行喷雾加湿,关闭侧窗不通风保湿;当环境湿度>85%,关闭加湿器,开侧窗、风机通风除湿。
(3)猕猴桃中等喜光,尤喜漫射光,忌强光直射。环境光照度控制规则:当环境光照度<40%,执行开遮阳幕;当环境光照度>45%,执行关遮阳幕。
(4)室外空气中二氧化碳浓度一般589~785 mg/m3。室外温度低、光照时间短、强度弱时,温室中二氧化碳浓度一般157 mg/m3,不利于促进植物光合作用。二氧化碳浓度1 964~3 928 mg/m3,可以使作物比平时增产达到40%~200%,而且品质明显提高[11]。环境二氧化碳浓度控制规则:当环境二氧化碳浓度<1 571 mg/m3,启动二氧化碳产生器;当环境二氧化碳浓度>3 928 mg/m3,停止二氧化碳产生。
(5)猕猴桃根部需要湿润疏松土壤环境,不宜干旱或水涝。土壤含水率控制规则:当土壤含水率<12%,启动滴灌装置;当土壤含水率>18%,停止滴灌。
1.4 仿真方法
试验按照前述提出的仿真模型(图1),在PT中建立网络拓扑结构,然后,配置相应的网络参数,连通网络,再进行物联网智能设备的编程,进行环境因子感知和控制。
1.4.1 网络拓扑结构 选用路由器、交换机、中央办公服务器、移动基站以及服务器等,建立物联网系统的传输网络,以及3G/4G无线移动网。中央办公服务器通过Backbone端口连接到路由器,使用同轴电缆连接到移动基站,为远程管理机和智能手机等移动设备的联网提供条件,如图1所示。
然后,连接感知设备、执行器件,以及监测现场状况的网络摄像机。仿真试验通过添加IEEE 802.11网络模块PT-IoT-NM-1W,将传感器连接到网关上,并添加以太网网络模块PT-IoT-NM-1CFE,将执行器件连接到传输网络。温度传感器的输出端口采用无线网络模块PT-IoT-NM-1W,连接到网关DCL-100。加热器的通信端口采用有线网络模块PT-IoT-NM-1CFE,连接到网络设备。
网络摄像机Webcam采用直通双绞线连接到交换机上。
1.4.2 网络基础配置 在物联网系统中,多个端口需要配置IP地址。物联网组件本身不需要配置IP地址,增加网络模块后,则需要配置IP地址。执行器件通过直通双绞线连接到交换机端口后,可以为AIoT服务器识别。仿真试验IP地址规划参见表1。
表1 IP地址规划
感知设备通过无线连接网关DCL-100,组成无线网络,感知设备采用DHCP协议,自动分配IP地址相关网络信息。完成IP地址配置后,还需要对组件和设备命名。
1.4.3 网络连通性 在基础配置完成后,分别从远程管理机、智能手机、传感器设备、执行器件、网络摄像机Webcam测试与各自网关的连通性,递进测试与AIoT服务器的连通性。
在智能手机上,待其获得IP地址后,再用命令ping中央办公服务器、路由器、AIoT服务器,确保网络畅通。在传感器设备、执行器件上,用命令ping网关DCL-100、路由器、AIoT服务器。
1.4.4 组件和设备编程算法 网络通信采用客户/服务器模式(Client/Server,C/S)。远程服务器依靠API进行上位机编程,与下位机进行通信,进而获得传感器的感知数据。下位机通过API编程,与远程服务器通信。仿真试验感知设备和执行器件用Python编程。
感知设备的编程提升设备在物联网系统中的感知能力。当传感器感知到相应环境数据后,调用IoEClient相关API,经由网络端口,传输到AIoT服务器。温度传感器编程算法如下:
(1)在AIoT服务器注册;
(2)定义常量ENVIRONMENT_NAME,初始化变量level;
(3)setup()功能初始化。IoEClient.setup()配置注册服务器;sendReport()向AIoT服务器发送状态数据;restoreProperty()恢复设备属性;
(4)loop()轮询。detect()每秒感知一次环境温度因子;IoEClient.reportStates()向AIoT服务器发送设备状态数据states。
执行器件的编程与感知设备有所不同。AIoT服务器发出IoT TCP指令,通过网络传输到执行器件,执行器件接收后,做出启停动作,进而改变环境因子。加热器编程算法如下:
(1)在AIoT服务器注册;
(2)定义常量TEMPERATURE_RATE、VOLUME_AT_RATE,初始化变量state、level;
(3)setup()功能初始化。IoEClient.setup()配置注册服务器;IoEClient.onInputReceive=function(input) {}设置回调函数,处理从AIoT服务器接收的数据input;
(4)processData()具体实现从AIoT服务器接收的数据input的处理;
(5)setState()设置设备状态,并报告给AIoT服务器。IoEClient.reportStates()具体实现将设备状态报告给AIoT服务器;setDeviceProperty()具体实现设备状态的设置;
(6)updateEnvironment()设备的启停对环境变量产生影响,更新环境变量Ambienttemperature。计算公式为:Ambienttemperature=TEMPERATURE_RATE×VOLUME_AT_RATE/Environment.getVolume()。
1.4.5 获取感知数据 从远程管理机或智能手机上,通过浏览器,登录http://192.168.1.254,在网页Home上查看到所有在AIoT服务器注册的传感器设备、执行器件列表。单击传感器即可查看到感知数据。单击执行器件,亦可获得执行器件的状态。
1.4.6 决策和启停执行器件 在上步的网页Home上,除了允许用户远程监视,还可以手动控制物联网器件。每个连接的器件都有状态列表,状态类型分为boolean、number、string和image。除了image类型外,其他类型状态可从注册的AIoT服务器上远程控制。
在条件Conditions上,可以设置控制模型,实现智能决策,自动启停执行器件。决策条件与动作对应关系参见表2。
表2 决策条件与动作对应关系
2 结果与分析
仿真试验通过PT对智能物联网系统进行仿真,实现了对环境因子的监测与控制,并根据植物生长要求,进行决策,自动控制环境因子。
2.1 获得环境因子、执行器件状态
位于感知层的下位机每秒向应用层的上位机报告感知数据与执行器件状态,远程管理机与智能手机通过浏览器登录到AIoT服务器,以网页的形式,获得可视化方式呈现的感知数据与状态。图2为感知的部分环境因子。
图2 感知的部分环境因子
下位机通过调用IoEClient.reportStates(),向AIoT服务器传送报文。其传输层的传输协议为IoT TCP协议。
2.2 手动启停执行器件,调节环境因子
应用层的远程管理机与智能手机通过浏览器访问AIoT服务器,在网页上单击执行器件控制按钮,利用HTTP协议,传送指令给AIoT服务器。AIoT服务器收到指令后,给执行器件发送启停指令。图3为手动控制加热器界面。上位机向下位机发送指令,传输层协议采用IoT TCP协议。
图3 手动控制加热器界面
2.3 自动启停执行器件,改变环境因子
在应用层AIoT服务器中部署控制模型,根据植物生长需求,结合当前环境因子进行智能决策,自动启停执行器件,闭环反馈改变环境因子。图4为环境温度最低值控制决策。此外,网页上还可以借助网络摄像机监察现场状况,观察植物生长状况,结合感知数据,实现异常报警、长势预测、病虫害监测,进行智能决策。
图4 环境温度最低值控制决策
3 结论与讨论
3.1 仿真实现感知层
仿真试验在感知层对温室主要环境因子进行感知,每秒向应用层传输1次感知数据。为了控制环境因子满足植物生长要求,选用执行器件仿真物联网设备。PT为使IoT设备模拟更加逼真,引入动态环境管理(如温度、光等)。执行器件对环境因子的影响不纯粹是一对一的关系,存在某种复杂的多对多的关系。加热器以10 ℃/h的速率影响环境温度,以-2%/h的速率影响环境湿度;加湿器以1%/h的速率影响环境湿度;制冷器以-10 ℃/h的速率影响环境温度,以-2%/h的速率影响环境湿度;二氧化碳产生器以2%/h的速率影响环境二氧化碳浓度,以1%/h的速率影响环境温度;滴灌装置以0.1 cm/s的速率影响土壤含水率,以5%/h的速率影响环境湿度。
特别地,为了验证温室仿真系统的准确性,试验中额外准备了对照用终端设备,供感知设备的感知数据与对照用终端设备的检测结果进行比对。对照用设备温度监测器监测环境温度并自动转成可读形式显示;对照用设备湿度监测器监测环境湿度并显示;对照用设备土壤含水率监测器从环境对象中读取WATER_LEVEL监测环境水量并显示,以仿真土壤含水率传感器。仿真试验中,感知层感知数据与3个对照用终端设备的检测结果是一致的。
3.2 仿真实现传输层
下位机的数据与上位机的数据传输依赖于传输层。试验中采用IEEE 802.11无线通信协议、以太网协议和IoT TCP协议,仿真网络的稳定性、可靠性较好,确保数据高质量地汇聚到网关、AIoT服务器,减少数据的丢失、误差。
3.3 仿真实现应用层
应用层中决策模型是一个关键技术。根据植物生长对环境的需求,给出控制模型。在给定的条件下,使农业领域被控系统环境因子得到控制,实现智能物联网的自动控制。
3.4 仿真可能的问题
PT不支持ZigBee协议,本试验用IEEE 802.11协议代替ZigBee协议,可以得到预想的系统仿真结果。不过,因为两者协议有所区别,所以对协调器、终端结点在网络中的过程细节完全仿真时,仅将ZigBee协议栈的时间触发事件的定时函数osal-start-timerEX()用循环loop()仿真实现,在物联网系统底层上组网过程的仿真略显不够。另外,PT数据可以以JSON、XML、CSV或TXT等格式存储在数据文件列表中,动态数据也可以存储在pka、pkt文件中,不过,常用数据库的支持较弱,对历史数据的再处理能力略显不足。
总之,仿真试验利用高价PT提供的感知设备和执行器件、支持的IoT协议,有创意地仿真温室智能物联网系统,在服务器与客户端之间建立IoT TCP连接,传输IoT TCP报文,发送IoT TCP指令,响应IoT TCP确认报文,实现了智能物联网系统感知、传输和应用整体功能的仿真,达到了仿真的目的,对实现农业管理的数字化、网络化和精准化,以及对真实智能物联网系统的建设具有借鉴意义。