黄明,黄铭铭,谭卓仁,朱均贤,朱峻栾,林舜宜,张建民
(1.五邑大学 智能制造学部,广东 江门 529020;2.五邑大学 经济管理学院,广东 江门 529020)
高校校园人口密度高,垃圾产量较大,如何及时处理及分类垃圾成为校园卫生亟待解决的问题.随着智慧校园在高校的推广与建设,智能垃圾桶监测系统将成为管理高校校园内垃圾的有效途径之一,对高校卫生管理具有现实意义.
本文提出了一种应用于校园的智能垃圾桶检测系统,所设计的垃圾桶主要用于收集可回收垃圾,如塑料制品及废纸等. 采用距离、压力等传感器作为垃圾桶内的数据采集器,并利用窄带宽物联网技术(Narrow Band Internet of Things,NB-IoT)将数据传输至服务器,通过云端对垃圾桶进行实时监测和控制[1-2]. 本方案还开发了基于Android 的手机应用程序,引入用户投递垃圾积分激励机制,提高用户分类垃圾的积极性. 此外,本文设计的分类垃圾桶还具有显示屏及语音提示功能、垃圾自动封装功能等,从而提升用户的操作体验及环卫工人的回收效率,以实现更加便捷高效的垃圾桶的管理和监测.
系统主要分为硬件和软件两部分,其中硬件主要包括NB-IoT 的控制硬件及分类垃圾桶的监测控制硬件,软件部分主要包括服务器端及用户手机APP 端,服务器端能控制监测各个垃圾桶,手机APP 能够查看用户投递的时间、积分等信息. 系统总体设计框图如图1 所示.
图1 系统总体设计框图
系统硬件设计主要分为NB-IoT 的控制和垃圾桶的监测控制两部分,主要模块包括超声波传感器、压力传感器、射频感应模块、舵机、步进电机、语音合成模块、LCD 液晶显示模块、M5311 通信模块等. 主控采用基于CortexM3 内核的嵌入式控制芯片STM32F103VET6 实现与各模块之间的连接,同时配备了1. 5 寸的液晶显示屏. 垃圾桶由可充电锂电池与太阳能板供电. 系统硬件设计框图如图2 所示.
图2 系统硬件设计框图
系统使用NB-IoT 技术实现无线数据传输功能. 本系统采用M5311 作为通信模块,M5311 是基于MTK 芯片平台开发的一款价格便宜且性能高、功耗低的NB-IoT 无线通信模块,整个模块能在2.1 ~ 3.6 V的低电压工作,供电由锂电池及太阳能面板提供,具有较强的续航能力. 单片机通过TTL串口与模块进行通信,并通过AT 指令集做简单配置及发送请求,利用NB 网络将数据通过MQTT协议传输到云端的EMQ 平台上,实时对垃圾桶进行监测[3].
垃圾桶的监测功能主要包括重量监测、满溢监测、投递用户身份识别、垃圾自动封装、桶盖自动开合和语音提示等. 系统通过MFRC-522 射频感应模块及扫描桶身二维码实现身份识别,同时运用XFS5152CE 讯飞语音合成模块实现语音提示功能,进一步提升用户的交互体验. 当用户身份识别正确后,利用舵机控制垃圾桶开盖. 系统使用了压力传感器和超声波传感器对桶内的重量及满溢的情况进行数据收集,同时通过NB 网络将用户投递及垃圾桶装载情况发送给用户和工作人员.
分类垃圾桶运用L298N 驱动电机及发热装置实现自动封装垃圾袋[4].自动封装采用热封装的形式,当电机驱动模块接收到单片机的脉冲信号后,电机控制滑块移动,加热棒对垃圾袋进行热封装. 单片机通过NB-IoT 模组发送回收和位置信息到服务器端[5-6]. 垃圾桶外部结构及三维视图如图3 所示.
图3 垃圾桶外部结构及三维视图
软件设计主要实现垃圾桶与服务器、APP 的同步数据更新及称重积分等功能. 在STM32 主控中引入了μCOS 操作系统,μCOS 是一种基于优先级的嵌入式多任务实时操作系统,具有很好的可移植性,可实现抢占式多任务的协调执行. 垃圾桶上电启动后进行初始化操作,同时创建功能任务、分配任务优先级、设置堆栈以及启动操作系统,并根据系统任务调度,执行相关的任务[7]. 流程图如图4 所示.
为提高用户投递可回收垃圾的积极性,系统引入用户投递垃圾积分激励机制. 用户投放入桶的垃圾重量将按比例转为用户积分,积分累积在手机APP 上. 用户投递垃圾入桶后,系统通过滑动均值滤波法得到称重数据,然后上传云端服务器,并换算出对应重量的积分数,记录到用户数据库,实现称重积分功能,如图5 所示.
图4 主程序流程图
对于满溢监测任务,为了适当降低电路设计的复杂度,考虑采用滑动均值滤波法来进行滤波,既提高系统稳定性,又提升了对垃圾满载测量的精确度. 首先通过多次测量,不断剔除旧测量值并加入新测量值取平均,从而保证数据的平滑,消除数据抖动[8]. 垃圾袋热封装的过程包含加速、匀速以及减速的电机运动,因此系统采用S 曲线加减速控制方法,通过设定的高级定时器在向上计数达到设置的次数时,对CPU 发出中断信号,转入中断程序,并令计数值清零,通过实时计算曲线得到电机运行所需的脉冲频率,将频率计算得出定时器的自动重装载值并以数组的方式保存,利用该数组表来完成步进电机的加减速任务[9].
云端服务器使用阿里云1 核2G 服务器并搭建使用EMQX 消息服务器. 首先通过AT 指令给NB-IoT 模块配置服务器信息. 然后在EMQ 平台上设置设备号ID 及设备密钥,同时添加订阅及发布,最后通过消息服务器的转发功能实现数据的实时显示,从而实现实时更新垃圾桶数据的功能.
我们采用Android studio 软件开发了一款基于Android 的手机应用程序,该APP 主要实现用户身份识别,投递积分查询及相关信息查询等功能,APP 界面如图6 所示.
图5 称重积分使用原理图
图6 APP 界面图
我们将分类垃圾桶布置在校园内光照条件较好的校道上,成功实现了垃圾桶与服务器、手机端之间的连接. 经测试,本系统数据接收和控制效果良好,能够正常实现满溢检测、预警及开合盖等功能.
消息服务器共运行105 天,数据收发成功率为100%,运行状态良好,且服务器CPU 占用率保持在15%以下,连接稳定,没有出现大幅波动,证明该系统能够在较长时间下平稳可靠运行,但是目前由于实验用户数限制,还没有进行大并发数据测试,下一步我们将提升数据量及分类垃圾桶数量,进一步测试系统的稳定性和可靠性.
本文设计高校分类垃圾桶的监测系统,利用NB-IoT 将高校的垃圾分类与校园监控中心建立联系,后台工作人员能通过客户端及时获取每个垃圾桶的满溢情况和用户投递信息并控制垃圾桶开合,有效解决了高校的分类垃圾监测和管理难的问题,同时加入的身份识别、称重、自动封装等功能,初步实现了分类垃圾桶的智能化,能够较好地监测和管理高校的分类垃圾桶,推广垃圾分类并促进智慧校园的发展. 但目前还无法识别投递的垃圾,下一步,团队将继续增加监测传感器,使监测功能更加完备,同时将进一步完善垃圾识别和用户识别功能,并将扩大电池容量,提高分类垃圾桶的续航能力.