基于ZigBee的智能垃圾桶溢满监测系统
2023-03-22董淑华方朝曦
董淑华,李 勇,方朝曦,范 恩
(绍兴文理学院 机械与电气工程学院,浙江 绍兴 312000)
0 引 言
随着经济的发展,城市垃圾量快速增加,垃圾处理已成为城市环境综合整治中的紧迫问题。一般城市里居民小区都设有多个大型垃圾桶,垃圾清运大多采用固定时间固定路线清运方式,经常发生垃圾桶溢满现象。垃圾一旦溢出,会影响小区环境,也会增加环卫工人的工作量。为此迫切需要利用信息技术实现小区内垃圾桶状态监测,提高环卫工作效率[1-7]。
目前已有一些研究人员利用各种物联网技术进行了智能垃圾桶系统设计的初步尝试。例如李琳等人[8]设计了能实时检测垃圾桶满并反馈到APP端的智能垃圾桶系统,还实现了定位功能;陈志伟等人[9]设计了一款能实现垃圾分类、自动开盖、可移动的智能垃圾桶系统,适合居家使用;郭昌鑫等人[10]设计了一款能感应到人体后自动开盖、检测垃圾桶是否装满、利用蜂鸣器进行报警的系统,同样仅适合于家居环境。目前尚未有针对小区场景下同时对多个垃圾桶进行状态监测的系统。
本系统以CC2530系列单片机作为微控制器,配合超声波测距传感器、人体红外传感器、步进电机等硬件,实现有人靠近自动开盖并关盖,桶满反馈并紧闭垃圾桶的功能。本系统采用模块化设计,开发成本低,实用性高。与已有的设计相比,本系统适用于小区环境,具有安装简单、使用方便的特点,能够帮助改善小区居住环境。
1 系统整体设计
本系统将垃圾桶满的信息实时反馈给工作人员,工作人员收到信息,下发命令开盖进行清理,以此达到环境保护、提高工作效率的目标;实时监测是否有人靠近,有人靠近自动开盖,再自动关闭,避免了因接触引起的细菌传播。系统总体流程如下:
(1)超声波测距传感器和人体红外传感器接收协调器发来的指令信息进行采集;
(2)人体红外传感器每隔一定时间检测是否有人靠近,有人就直接发送命令给步进电机,带动垃圾桶盖打开,垃圾丢放完毕后垃圾桶盖自动关闭;
(3)超声波测距传感器每隔一定时间对垃圾是否已满进行检测,如果已满,就将状态信息发送给协调器,由协调器输出到串口,并向步进电机发送“常关”的命令,这时即使有人靠近也不会打开垃圾桶;
(4)编写Python上位机程序不断获取串口信息,发送到OneNET云平台上,在云平台上设计可视化操作界面,如果有垃圾满的消息,就会有警报信息,通知工作人员,工作人员就可以通过云端实时获取信息并调度工作人员进行清理;工作人员发送关闭指令关闭垃圾桶。
系统总体结构如图 1所示。
图1 系统总体模型
2 系统开发与实现
本系统可分为人体感应模块、超声波测距模块、步进电机运作模块、ZigBee协调器模块和云平台设计模块。ZigBee协调器模块主要负责接收上位机串口指令并发送指令给ZigBee终端节点,ZigBee具有成本低、功耗低等特点,适合进行长期监测和数据传输;人体感应模块、超声波测距模块、步进电机运作模块设计在终端节点上,负责接收不同信息并作不同的处理;云平台主要负责显示状态信息并下发指令。
2.1 人体感应模块
本系统使用的HC-SR501人体感应传感器,是基于红外线技术的自动控制模块,被广泛应用于各类自动感应电器设备。人体红外传感器检测到有人体活动时,其输出的I/O值发生变化。当传感器模块检测到有人靠近时,会返回一个高电平信号;无人靠近时,返回一个低电平信号,通过检测I/O口电平状态的变化,可判断是否检测到周围有人靠近。本系统每隔一定时间通过人体红外传感器检测是否有人靠近,有人就直接发送命令给步进电机,带动垃圾桶盖打开。
2.2 超声波测距模块
SRF05超声波测距传感器可以提供2~450 cm的非接触式距离感测功能,传感器采用I/O口TRIG触发测距,给至少10 μs的高电平信号,模块自动发送8个40 kHz的方波,自动检测是否有信号返回;有信号返回时,通过I/O口Echo输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间×声速)/2,声速为340 m/s。
假设垃圾桶的宽度为50 cm,超声波测距传感器放在垃圾桶靠上方桶壁,每隔一定时间检测垃圾是否已满,如果检测到距离小于一定阈值就说明垃圾已满,就将该信息发送给协调器,由协调器输出到串口,并向步进电机发送“常关”的命令,即使有人靠近也不会打开垃圾桶。模块流程如图2所示。
图2 超声波测距模块流程
2.3 步进电机运作模块
步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机。每输入一个脉冲信号,转子就转动一个角度或前进一步,其输出的角位移或线位移与输入的脉冲数成正比,转速与脉冲频率成正比。
本系统步进电机功能如下:
(1)收到“ADMIN_OPEN”命令,说明工作人员在进行操作,正常打开垃圾桶即可;
(2)收到“ADMIN_CLOSE”命令,说明工作人员在进行操作,正常关闭垃圾桶即可;
(3)收到“OPEN”命令,说明有人靠近,就将垃圾桶打开,过2 s再自动关闭;
(4)收到“CLOSE”命令,说明垃圾桶满,使垃圾桶维持关闭的现状,即使有人靠近也不会打开垃圾桶。
步进电机运作模块流程如图3所示。
图3 步进电机运作模块流程
2.4 ZigBee协调器模块
ZigBee协调器是数据采集和命令下发的桥梁,能够实现终端节点与上位机的数据传输。它具有较强的通信能力、处理能力和发射能力。如图4所示为协调器流程。
图4 ZigBee协调器模块流程
2.5 云平台设计模块
设计云平台主要是出于可视化和易操作的目的,便于工作人员监控和操作。本系统采用中国移动OneNET平台进行设计。OneNET实现传感器设备的数据获取、数据存储、数据展现。设备接入协议使用MQTT协议,MQTT协议是一种消息队列传输协议,采用订阅、发布机制,订阅者只接收自己已经订阅的数据,非订阅数据则不接收,既保证了必要的数据交换,又避免了无效数据造成的储存与处理负担。
3 系统测试结果
测试可分为四个步骤:(1)模拟工作人员打开/关闭垃圾桶,点击“打开垃圾桶”按钮则电机正向转动,点击“关闭垃圾桶”按钮,电机则会反向转动;(2)模拟垃圾桶满发送消息及报警,打开超声波测距传感器,模拟垃圾桶满的场景,将垃圾桶满的信息展示在云端,如图5所示;(3)模拟有人靠近并打开垃圾桶,模拟有人靠近人体红外传感器,电机正向转动,打开垃圾桶,经过2 s,电机反转,垃圾桶自动关闭;(4)模拟垃圾桶满且有人靠近,遮住人体红外传感器和超声波测距传感器来模拟垃圾桶满且有人靠近场景,步进电机不转动;只遮住人体红外传感器模拟有人靠近情况,步进电机转动。
图5 云平台智能垃圾桶状态展示
本系统设计的手机端数据可视化界面如图6所示。顶部悬浮球可实时显示垃圾桶是否已满的情况,如不满则显示“真好!”,如果满则显示“警报!”,以提醒工作人员及时清理。下方“打开垃圾桶”按钮可打开垃圾桶和关闭垃圾桶。“开启人体红外检测”和“开启超声测距检测”按钮则可将对应传感器打开或关闭。
图6 手机端可视化界面
4 结 语
本系统主要实现了垃圾桶自动开盖、测满、反馈的功能,通过传感器获取数据,经过串口将数据上传到云平台,在云平台上进行反馈和命令的下发,设计并实现了人靠近自动开盖、垃圾桶满实时向工作人员反馈且即使有人靠近也不会开盖的功能,提高了工作效率,有助于改善城市小区环境。