亚洲·第一品牌威尼斯澳门人(中國)官方網站NO.1-1

行业动态

当前位置:首页 / 新闻中心 / 行业动态

基于NB-IoT的智能垃圾分类系统


作者:杨皓文,胡琦瑶,李江南,陆璐   |   发布时间:2022-07-08   |   点击数:3400

0引言

随着垃圾分类制度实施方案的实施垃圾分类已经成为了我们日常生活的一部分一方面垃圾分类可以减少资源浪费另一方面垃圾分类可以减少对环境的污染有利于我国可持续发展战略的持续推进在目前的方案中垃圾分类主要依赖居民的主动分类和监督员检查但此举存在两个问题:手动垃圾分类在无形之中增加了居民和监督员的负担节约的资源又以人力的形式浪费;由于很多居民垃圾分类意识薄弱加之日常工作繁忙,很难对垃圾做到细致分类导致垃圾分类成为“摆设”为解决这些问题本文研究设计了-套基于NB-IoT的垃圾分类综合解决方案,可实现对垃圾的自主识别智能分类满足人们的需求。

1 系统整体框架

本文设计的基于NB-IoT的智能垃圾分类系统的总体结构如图1所示。此系统的下位机由树莓派4B处理器WiFi网络模块HC-SRO4测距模块MLX90614ESF红外测温传感器MQ-2烟雾气敏传感器高清摄像头等组成系统的上位机由云端服务器及手机APP组成云端服务器用于F位机与上位机的数据交换下位机对垃圾进行智能识别分类中垃圾装并采集垃圾桶内的温度烟雾浓度可燃气体浓度载量等数据将其上传至云端服务器服务器利用其强大的计算能力将接收的数据转化为城市街道垃圾桶数据地图并将数据传送至手机APP管理人员可随时查看垃圾桶的分布地图及垃圾桶数据及时处理存在问题的垃圾桶

搭载在垃圾桶投掷口处的高清摄像头可以捕捉垃圾的图像并将图像数据传送至树莓派中系统利用神经网络算法生成的模型对垃圾图像进行识别分类得到垃圾所属大类之后树莓派调用GPIO资源控制传送电机运转将垃圾送入所属收纳桶内

红外测温传感器与烟雾气敏传感器可实时监测箱体内的各项数据当检测到箱体内的温度烟雾浓度或存在的危险气体浓度超过设定阈值时手机客户端将发出警报通知管理人员及时处理测距模块根据箱体内所剩空余空间的垂直距离对箱内垃圾的数量进行评估并将数据实时上传至云端服务器服务器根据垃圾桶装载量更新垃圾桶数据地图并对清理路径进行规划清洁人员可根据规划对垃圾桶进行清理此举既保证了垃圾桶的使用效率也大大减少了环卫工人的工作量。

2系统硬件设计

2.1数据采集

本方案使用的Raspberry Pi 4B搭载了官方Raspbian系统其处理器采用Cortex-A72内核最高主频可达1.5 GHz,具有强大的代码执行能力和丰富的控制器应用使得神经网络算法在小型设备上流畅应用成为了可能本文使用树莓派主要实现以下功能:

(1)高清摄像头通过USB接口与树莓派相连将识别的垃圾图像数据快速传回树莓派处理器进行分析处理;

(2)树莓派在识别垃圾种类后通过GPIO接口将指令输出至传送电机以此控制不同类别垃圾的投放;

(3)树莓派通过自带的WiFi模块与云服务器连接可以将由各模块获取的数据上传至服务器方便上位机终端获取相关数据以便下一一步的处理。

本文中,我们通过树莓派中的V412 API接口调用摄像头读取图像数据其具体实现分为6个步骤:

(1)打开视频设备文件,初始化视频采集参数,设置视频图像的格式;

(2)申请用于采集视频图像的帧缓冲区,并从内核空间将这些申请的帧缓冲区映射到用户空间;

(3)把申请到的缓冲区放入视频采集输入队列,用于采集视频图像数据;

(4)把帧缓冲区从队列中取出,将视频图像数据处理后,再将帧缓冲区放回至队列中;

(5)依次循环上述4个步骤,以此不断获得视频图像数据;

(6)关闭视频设备文件,结束视频采集。

2.2数据传输

本文选用Socket通信协议。在树莓派的TCP/IP通信协议下进行数据传输,将已采集的数据发送给云服务器。

本文利用Python 编译环境,使用Socket第三方库实现数据传输。Socket 编程共分为如下5个步骤:

(1)创建Socket对象,将SOCK_ STREAM设置为TCP类型;

(2)获取静态IP,并绑定IP和端口,listen()进行监听;

(3)acept ()函数接收Client发出的请求,包含ClientIP和端口:

(4)Client发送垃圾桶的实时数据;

(5)利用时钟设置定时循环函数,实现数据实时更新。

2.3电机控制

本文采用ULN2003控制板和28BJY- 48步进电机实现垃圾传送首先将步进电机连接到控制板上再将控制板上的6个引脚连接到树莓派的GPIO接口通过程序使GPIO接口输出控制信号,控制电机运转树莓派使用GPIO进行控制包括两种方式:使用C语言Wingi库文件提供的函数进行控制:使用PYthonRI.GPIO第三方库中提供的函数进行控制.在此系统中本文采用Pytbon程序控制GPIO的状态,首先调用gpio.sctmode ()函数设置模式,之后调用gpio.PWM ()函数设置PWM波的频率,最后调用ChangeDuyCycle ()函数设置PWM波的占空比。

3系统软件设计

3.1 基于机器学习的图像识别

卷积神经网络(CNN)由卷积层池化层全连接层组合而成是一类包含卷积计算的前馈神经网络该算法针对物体识别不断优化促使识别精度越来越高其应用潜力巨大前景广阔。

本文搭建的神经网络是在Python环境下利用第三方库TesoFfow搭建的。设计的神经网络主要包含4个部分,其结构如图2所示.

第一部分为卷积层。为第一、二层卷积层分别设计了643x3步长为1的三通道卷积核和163X3步长为1的十六通道卷积核,通过对输人图层上3X3像素大小的区域进行加权处理,得到上一图层的特征信息,其中权值是图层上的像素值。具体实施时还利用ReLu ()函数增加网格的非线性分割能力,ReLu ()函数见式(1):

f(x)= max(0,x)

相较于传统的Sigmoid函数,使用ReLu ()函数的优点在于通过动量梯度下降法加快了收敛速度,而且梯度不易饱和。

第二部分是池化层。两层池化层均为3X3,步长为2的最大池化,选取图像区域内中像素最大值作为池化后的值,对提取的信息进行降维处理,一方面使特征图变小,简化网络的复杂度另一方面,将特征压缩,提取主要特征。针对卷积层使用的ReLu()函数,池化操作后使用Irn()进行局部响应归一化,使得其中响应比较大的值变得更大,并抑制其他反馈相对较小的神经元,增强模型的泛化能力。

第三部分为全连接层。两层全连接层均拥有128个神经元对前面得到的特征做加权处理,处理权值的全连接公式如下:

3.2围像识别实验结果

本文采用生活中最常见的三种垃圾:饮料瓶废纸箱废报纸作为测试集。通过网上下载符合要求的图片获取测试垃圾对应的图片,少来自于手动拍摄。本文共收集的原始数据集有2497张图片,其中饮料瓶图片445张、报纸图片988张、纸箱图片1064张。

对原始数据进行处理,使其适应神经网络。首先统一图片大小将所有图片储存转化为64X64;之后打乱原有图片顺序分成测试集与训练集;最后对图像进行旋转缩放裁剪归一化操作。

本文根据训练的数据规模,把实际训练的次数设置为2000次,每训练10次打印一次识别精确度,得到的结果如图3所示。

 

从图像可以看出训练开始时系统识别精度极低随着训练次数的增加练精度迅速增加但训练精度波动较大当训练次数达到1250左右时精度基本保持在100%偶尔有小幅波动此时训练的模型精度已经达到了使用需求。

得到所需的模型后开始进行实际测试使用的图片包括饮料瓶图片128废报纸图片113废纸箱图片1064所示分别为报纸和饮料瓶识别的效果准确率如图5所示。

3.3 机器学习在树莓派上的移植

为了可以使卷积神经网络算法能够在算力相对较低的树莓派中快速稳定地运行本文将CNN神经网络算法拆分为模型训练和图像识别两部分进行针对性使用具体做法如下所示:

(1)在电脑上搭建卷积神经网络;

(2)在电脑上测试训练的模型;

(3)将识别算法和训练好的checkpoint模型移植到树莓派上。

本文在树莓派上搭建了所需的Python环境,重复实验后得到图6所示的结果。

 

由上图可知,在树莓派上的实验结果与电脑环境下的实验结果接近,符合使用需求。

3.4 温度检测

非接触红外线测温探头可以通过测量目标表面所辐射的红外能量来确定表面温度。垃圾存放在垃圾桶中时有可能因为未灭的烟头或者桶内的特殊环境( 包括可燃气体、温度等)等情况引起火灾为了保护人民财产安全本文通过红外线测温探头来感知垃圾桶内是否存在火情。

MLX90614ESF红外测温传感器通信流程如图7所示 。使用树莓派通过该模块获取温度信息的具体过程:启动传感器,发送唤醒模式指令写人地址,经过33 ms,传感器开始收集数据,并将数据写人指定地址之后启动传输时序传输数据采用PWM模式与SMBus模式输出图.本文选择使用SMBus模式其时序如图8所示该传输模式规定在同一时刻只有一个主控器有效可以通过“写数据”与“读数据”方式完成主设备与模块之间的数据传递,因此可使用树莓派通过读取RAM指定地址来读取温度数据。从MLX90614读取的数据为16由高8位和低8位组成范围从0x27AD0x7FFF,-70 C382.19 C,温度数据T。计算方式为:T=8<<8|8位。

  

若要得到摄氏温度,首先将温度数据T。转化为十进制,之后将得到的结果除以50,转化为热力学温度,最后将得到的开尔文温度减去273.15, 得到摄氏温度。

3.5超声波测距

超声波测距基于超声波渡越时间法。设超声波脉冲从传感器发射又被传感器接收的时间为t,超声波在空气中传播的速度为v,则目标物体到传感器的距离x可由以下公式计算得出:

 本文采用的HC-SR04超声波测距模块集成了CS100超声波测距芯片,工作电压范围为3.3-5.5V,可以提供2~600 cm的距离感应,探测精度为0.1 (11%) cmHC-SR04的测量过程如图9所示。首先,向Trig管脚输入一个大于10μs的高电平,之后,发射探头循环发出840 kHz的脉冲,并由HC-SR04通过Echo管脚向树莓派返回一个持续时间为脉冲信号往返时间的高电平。测量过程中,整个测量周期取决于测量距离,测距模块在Echo管脚输出高电平后,即可开始下一次测量。测量距离较长时,测量周期便相应增长。

具体实现步骤如下:

(1)使用函数gpio_tu _cdev创建字符设备:

(2)使用gpio _open 配置输入接口:

(3)使用函数gpio read读取测距模块发出的距离数据,

(4)加入循环使设备可以持续读入距离数据.

 

本文将该模块安装在收纳桶的顶端,通过垃圾与顶都之间的距离估算垃圾的承载量,数据将用于满溢判断与清扫的路径规划。

3.6烟雾报营检测

烟雾传感器的原理:利用气敏材料在空气中电阻率的不同,将烟雾或可燃气体的依度转化为电信号。

MQ-2烟雾气敏传感器的气敏材料是在清洁空气中电导率较低的二氧化锡,二氧化锡的电导率可以随着可燃气体和烟雾浓度的增大而增大。该传感器具有TTL开关信号输出和模拟电压信号输出两种模式,为了得到较为准确的气体浓度信息,本文采用模拟信号输出模式,利用其输出电压与被成正相关的特点,可以将模拟端(AO)输出的信号输入AD转换器,将模拟量转换为与传感器检测浓度对应的数字量,得到烟雾或可燃气体浓度的精确值10

3.7手机客户端

本文在基于Java环境下的扩展平台Eclipse制作设计了配套的手机APPAPP通过TCP通信协议连接至系统的云服务器,实时接收服务器获取的垃圾桶数据信息,有助于管理人员得到最新数据。APP与服务器的通信方式与上文中树莓派与服务器的通信方式致,但实现的语言不同。实现过程分为4个步骤:建立Socket对象,通过IP与端口连接;创建接收与收发的资源配置:建立监听循环机制;跳出循环关闭连接。

本文APP的地图显示与路径规划功能通过调用高德地图URIAPI接口实现,具体实现方式如下:

(1)调用markers将街道垃圾桶位置添加入地图,

(2)将垃圾桶位与下传数据捆绑,实现可视化与数据查看的功能结合:

(3)通过调取满溢垃圾桶位置,将各满溢或即将满溢的垃圾桶串联,设置起始位置和经过位置,将mode设置为walk,clatilel 的值设置为0,由此实现路径可视化。

APP具体功能如下:

(1)点击数据地图上的垃圾桶图标,查看垃圾桶的各项数据;

(2)出现火情时,手机APP报警,通知相关人员及时处理;

(3)可以自动规划最优清洁路径,既减轻了清洁人员的工作压力,也可以让急需清理的垃圾桶得到及时处理,提高工作效率。

4实验结果

系统测试分为如下两个方面:

(1)测试垃圾桶的垃圾处理性能,已在软件部分进行展示:

(2)测试软件系统的能力,本文通过选取一定区域,用服务器模拟情景进行测试。

垃圾桶数据地图如图10所示。改变服务器发送的相关参数,测试火情情况,手机客户端的报警系统如图11所示.垃圾桶清洁路径规划如图12所示。

5结语

本文设计了一种基于NB-IoT的垃圾分类及处理系统其上位机是手机APP客户端下位机由树莓派及其搭载的红外测温传感器超声波测距模块烟雾及可燃气体传感器以及电机和垃圾箱本体等组成通过摄像头采集图像数据图像识别系统对垃圾进行自主识别将垃圾分类投放通过温度传感器和烟雾传感器上传到处理器的数据判断是否有火情发生,若温度和烟雾浓度超过安全阀值则向手机APP发送火情警报最后把垃圾桶装载信息送入服务器形成垃圾桶数据地图在手机客户端查看如果有火情发生会在客户端报警,通知相关人员及时处理如果垃圾桶的装载量达到设定阀值便会规划出清洁路径通知清洁工进行处理测试结果表明此系统可以可靠地工作相较于传统垃圾桶可以减轻普通居民生活压力和清洁工的工作压力提高垃圾分类效率高效地对垃圾进行分类处理,并能够即时报警,在物联网时代拥有出色的应用前景。

:本文通讥作者为胡琦瑶。

参考文献

([1] 张文涯.基于嵌人式Linux的网络视频监控系统设计与实现[D].成都:西南交通大学,2009.

[2]何进,谢松巍.基于SocketTCPIP网络通信模式研究[n].计算机应用研究,2001 (8): 134-135.

[3]江行煊,郑振杰,游德智.单片机连接ULN2003驱动步进电机的应用[].机电元件,2010, 30 (3): 28-31.

[4]Sadaqat ur Rehman, Shanshan Tu, Muhammad Waqas, et al.Unsupervised pre-trained fler learning approach for efcientconvolution neural network [0. Neurocomputing, 2019.

[5]KRIZHEVSKY A, SUTSKEVER I, HINTON G. ImageNetClassfication with Deep Convolutional Neural Networs [Cy/ NIPS.Curran Associates Inc. 2012.

[6]Kin Wah Edward Lin, BT Balamurali, Enyan Koh, et al. Singingvoice separation using a deep convolutional neural network trainedby ideal binary mask and cross entropy [U]. Neural computing andapplications, 2020 32 (4): 1037-1050.

[7]李静,裘祖荣,齐永利.MLX90601系列红外测温模块的原理及应用[J].国外电子元器件,2006 (1): 47-50.

[8]崔健,鲁志平.SMBus协议分析及其在双MCU通信中的应用[J].微计算机信息,2004 (6): 99-100.

[9]李军,申俊泽.超声测距模块HC-SRO4的超声波测距仪设计[J].单片机与嵌人式系统应用,2011, 11 (10): 77-78.

[10]张群强,赵巧妮.基于MQ-2型传感器火灾报警系统的设计[J].价值工程,2015, 34 (13): 96-98.

[11]谢恩泽华,刘向前,王小丽,等.利用手机APP制作平台建设组织胚胎学移动学习课程的实践与思考[J]. 中国组织化学与细胞化学杂志,2015, 24 (2): 193-194.

XML 地图