基于Packet Tracer的智慧小区环境监测与报警系统设计
2022-12-07舒展
舒展
(九江职业大学,江西九江 332000)
0 引言
随着网络通信技术的飞速发展和人民生活水平的不断提高,居民对生活品质尤其对住宅环境有了更高的要求。近年来越来越多的研究者开始关注智慧小区的研究,其中大部分的研究着重于智慧小区安防系统的架构与设计〔1〕,还有部分研究则侧重于网络通信方面〔2〕,而关于小区环境监测方面的研究较少,使用Packet Tracer进行仿真系统研究的尚不多见〔3〕。
Packet Tracer是一款由Cisco公司开发的具备物联网组件的网络仿真工具,不仅可以用于系统架构拓扑设计,还能实现物联网数据采集、IoT服务器管理以及执行器远程控制等功能。本研究使用Packet Tracer软件设计了一个智慧小区环境监测与报警系统,该系统能够通过模拟仿真,实现小区环境数据实时监测和有害气体超标实时报警功能。
1 系统设计
本项目采用传感器组件对小区内的温度值、湿度值、光照值、一氧化碳、二氧化碳以及烟雾气体值进行实时采集,然后通过MCU控制器将数据汇总发送到远程IoT服务器端,使用LCD屏幕实现采集值的实时显示。当远程IoT服务器监测到有害气体超过设定的阈值时,服务器通过远程控制实现报警器报警,开启排风扇排放有害气体,并开启窗户通风。本系统包括四个构成模块,分别是包含传感器组件和MCU控制器的感知模块、负责数据处理和远程控制的IoT服务器模块、实现实时数据显示的显示模块和执行远程命令的执行器模块(系统结构如图1所示)。
图1 智慧小区环境监测与报警系统结构图
2 系统实现
2.1 系统部署
1)系统网络部署
本系统网络构架采用外网-内网两级部署,在外网配置ISP服务器、DNS服务器和IoT服务器,通过云连接光纤modem接入区域交换机;内网则由小区网关负责接入广域网以及内部无线广播和地址分配,具体IP地址分配见表1。
表1 IP地址规划表
2)系统传感器部署
本系统采用温度传感器、湿度传感器、光照传感器、一氧化碳传感器、二氧化碳传感器和烟雾传感器来对环境进行实时检测。各个传感器与MCU连接配置如表2所示。
表2 MCU0端口配置表
2.2 环境实时监测系统实现
1)传感器功能实现
本项目编程语言采用Python语言,涉及的库有time、physical、gpio、environment和ioeclient。因为传感器需要实现的功能包括环境数据的采集和数据的传输,所以编写了get_value()函数和send_value()函数来实现这两个功能。在get_value()函数中调用Environment.get()函数获取由Packet Tracer软件模拟生成的各类环境数据,而send_value()函数则在获取到环境数据后,调用customWrite()或analogWrite()函数将获取的数值传输到MCU端。
2)MCU数据采集与上传
在MCU0端的程序包括获取传感器数据的get_data()函数、MCU0的IOE初始化函数setup()函数和发送数据到IoT服务器端的send_report()函数。get_data()函数负责调用customRead()或analogRead()函数来读取各个传感器发送到对应MCU0端口上的数据,并对数据进行汇总处理;setup()函数用来配置IOE节点信息,包括设备类型、设备状态、数据名称、数据类型以及是否可以远程操控;send_report()函数调用IoEClient.reportStates()函数,将汇总的数据发送给IoT服务器,调用send()函数将数据发送给MCU1。MCU0将数据上传到IoT服务器后,可以使用手机访问服务器浏览实时监测数据,如图2所示。
图2 IoT服务端环境数据实时显示
3)LCD数据显示
LCD数据显示功能采用MCU1控制器和LCD显示屏来实现,其中MCU1控制器调用customRead()函数从与MCU0连接端口读取数据,使用send_text()函数将数据传输给LCD显示屏,LCD显示屏端使用get_text()函数获取数据,用setText()对数据进行分割处理并对输出格式进行设置。LCD数据显示结果如图3所示,显示的数据值与直接通过手机浏览IoT服务器的数据值相一致。
图3 LCD显示结果与IoT服务器显示结果对比图
2.3 报警系统
报警系统功能包括有害气体超标报警和气体超标排风换气功能。装置由报警灯、排风扇、窗户和窗帘组成。当环境监测系统检测到有害气体(本项目中为一氧化碳、二氧化碳和烟雾)超过预设的阈值时,IoT服务器远程控制报警灯亮起,排风扇高速运转进行排风,窗帘打开、窗户打开进行通风;当环境监测系统检测到有害气体含量已处于安全值时(本项目设定值为1),关闭报警灯、排风扇、窗帘和窗户。具体条件设置如图4所示。
图4 LCD显示结果与IoT服务器显示结果对比图
3 系统功能测试
为了验证系统功能,本项目采用OldCar组件来产生有害气体,包括一氧化碳气体(CO)、二氧化碳气体(CO2)和烟雾(Smoke)。初始状态下,有害气体值均为0,当开启OldCar组件产生有害气体后,有害气体的值均发生变化,但还未达到报警通风限度,此时执行器组件无操作(报警灯、窗帘、窗户的On状态皆为红色,风扇处于Off状态),如图5所示;当有害气体继续增加并超过预设的报警值时,报警灯亮起(On状态为绿色)、风扇高速运转(状态为High)、窗帘打开(On状态为绿色)、窗户打开(On状态为绿色),如图6所示;随着排风和通气操作的开展,有害气体的值逐渐降低,但未达到系统设定的安全值时,执行器组件继续保持运行状态;只有当有害气体值均低于安全值后,报警灯、风扇、窗户、窗帘状态方为关闭状态。
图5 当有害气体未超标时执行器状态图
图6 当监测到有害气体超标时执行器状态图
4 结束语
本智慧小区环境监测与报警系统以传感器组件、MCU控制器及执行器的配置为基础,通过对物联网组件进行Python编程实现了环境监测及有害气体超标报警功能。作为教学案例而言具有一定的代表性与综合性,还可以为现实项目实施提供思路与参考。该项目在后期改进和扩展中,还可以使用外部物联网在线云平台来获取真实的环境数据,并可根据不同场景应用来进行调整和拓展。