基于NB-IoT的智能垃圾桶系统设计与实现

2021-05-24 10:34煜,王勋,陶
物联网技术 2021年5期
关键词:清洁工垃圾桶客户端

胡 煜,王 勋,陶 铭

(东莞理工学院 计算机科学与技术学院,广东 东莞 523808)

0 引 言

目前,随着人口的不断增长和人们生活水平的提高,生活垃圾每年也在不断地增长累积。由于公共场所的面积过大,清洁工人无法及时了解到各个垃圾桶的使用情况,所以人们经常能看到有些垃圾桶堆满垃圾甚至溢出。这些垃圾未能及时处理,对生活环境造成了很大的影响。随着物联网技术与智慧城市的发展,物联网技术能够使垃圾桶与互联网相连,进行信息的交换和通信,实现智能化监控,进而解决垃圾未及时处理导致生活环境以及区域形象的问题。

物联网(Internet of Things, IoT)是指通过信息传感设备,如GPS定位模块、人体红外避障检测模块、压力传感器模块等与互联网结合起来形成的一个巨大的网络[1]。其目的是将物体与网络相连接,以网络为媒介,实现物物相连[2]。系统可以实时、自动地对物体进行识别、追踪、定位等,并触发相应事件。物联网这个概念是在1999年提出的,定义了所有物品通过信息传感设备与互联网连接起来,实现智能化管理与识别[3]。无线传感器网络(Wireless Sensor Networks,WSNs)是物联网识别网络的重要技术形式,是由大量部署在监测区域内的传感器节点进行数据的观察、信息的采集或检测事件的发生等,通过无线通信方式形成多跳自组织网络,再将感知数据传输至信宿[4]。随着物联网技术的快速发展,“智能垃圾桶+物联网”的结合可以避免垃圾堆积如山、垃圾旁滋生细菌、对环境造成污染等问题,能够友好地减轻管理人员与环卫工人的工作负担,提高工作效率,具有良好的社会效益和经济效益。

本套系统采用STM32F103处理器作为采集节点的嵌入式处理器,搭载系统所需要的各式传感器,如压力传感器等。以NB-IoT作为无线传感网络的数据传输节点,通过NB-IoT传输数据到服务器端,垃圾桶管理员、环卫工人可以登录手机客户端系统,查看垃圾桶的使用情况,知晓垃圾桶的当前位置等。

1 相关技术

1.1 NB-IoT技术

窄带物联网(Narrow Band Internet of Things, NB-IoT)是万物互联的一个重要分支,是一种基于蜂窝通信网络的物联网技术体系,采用了基于4G LTE/演进的分组核心网(EPC)网络架构[5]。它的特点是窄带、高覆盖、低功耗、低成本、高连接,解决了传统物联网存在的技术碎片化、覆盖不足等问题,极大地提升了物联网的实际应用能力[6]。NB-IoT设备支持待机时间长、对网络要求连接较高的设备连接。NBIoT设备的电池寿命可达10年,同时以全面蜂窝网络的覆盖给智能设备带来了无限发展[7]。

1.2 TCP/IP协议

传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol, TCP/IP)是指多个不同网络之间实现信息传输的协议簇,是互联网的通信基础框架。在本系统中,服务器与硬件端以及客户端的通信,使用Socket套接字将复杂的TCP/IP协议隐藏在Socket接口后面,硬件与客户端接入TCP/IP端口地址即可以TCP的方式进行发送与接收数据[8]。

2 系统软硬件设计方案

基于NB-IoT的智能垃圾桶系统由基于NB-IoT的无线传感器网络、基于TCP/IP的串行通信技术、数据库服务器、Android客户端四部分组成。无线传感器网络由NB-IoT进行自组网连接。搭载于嵌入式处理器STM32F103中的传感器采集完信息后,通过NB-IoT上传至蜂窝基站,再传输到服务器中,服务器对数据进行一系列处理之后,返回分析结果到Android客户端。系统框架结构如图1所示。

图1 系统结构

2.1 系统组成结构

系统的组成结构主要分为数据采集、联网监控、桶盖自动化、系统状态监控四个部分。数据采集,通过压力传感器模块、超声波测距模块和GPS定位模块采集重量、距离、经纬度数据;联网监控,通过NB-IoT将数据上传至服务器,以及经接收服务器传输过来的指令,实现远程监控;桶盖自动化,通过步进电机模块以及人体红外传感器模块实现,当有人来的时候,自动打开,否则关闭。系统功能结构如图2所示。

图2 智能垃圾桶系统功能结构

2.2 硬件系统数据设计

压力传感器模块采集垃圾重量数据,GPS定位模块采集垃圾桶所在的经纬度数据,人体红外避障模块检测人体并返回是否有人通过的数据(用引脚高低电平表示),超声波测距模块采集垃圾桶堆积的高度。采集完数据后,通过STM32F103嵌入式处理器进行一定的数据处理后,通过BC35-G模块(NB-IoT)将数据上传至云服务器,BC35-G模块也可以接收来自于服务器发送过来的指令,通过STM32F103处理后做出一定的指示。系统流程如图3所示。

图3 智能垃圾桶硬件系统数据流程

2.3 系统流程设计

系统初始化上电后,当开始进行工作时,检查服务器是否有发送指令,有则进行接收指令,并对指令进行一定的分析并执行;若无,则进行按键扫描。检查是否需要打开垃圾桶盖,若否,则进行红外避障模块的检测。检查是否有人靠近,当有人打开关闭垃圾桶后,传感器就会对垃圾信息进行采集并封装后上传至服务器。最后循环整个流程,具体流程图如图4所示。

图4 系统流程

2.4 服务器设计

服务器后端系统基于JavaEE编写,JavaEE是一个开发分布式企业级应用的规范和标准,JavaEE应用程序是由组件构成的。本项目中使用的JavaEE技术有Web Service、Struts、Spring、Hibernate、JSP、Servlet、JDBC、JavaBean、XML[9]。控制层接收客户端发送过来的请求,请求进入业务层进行相关的业务处理,并通过数据持久层对数据库进行CIUD操作。主要任务是返回垃圾桶采集到的一些实时数据,实现对智能垃圾桶控制以及对异常信息的处理审核。服务器与硬件端通过NB-IoT进行通信,接收BC35-G传送过来的数据后,解析处理数据并把数据存储到数据库中。系统E-R图如图5所示。

图5 数据库系统E-R图

2.5 客户端设计

Android是一种以Linux为基础的开放源码操作系统,Android主要是以Linux系统为核心,主要使用Java编程语言开发[10]。本系统通过Java开发安卓客户端,通过HTML、CSS、JavaScript以及衍生出来的各种框架搭建Web网页端。硬件采用TCP/IP协议网络通信,通过端口发送JSON格式数据到服务端,服务端将接收到的正确数据存储到MySQL数据库,再由服务器发送数据给Android客户端与Web客户端。

管理员Web平台通过验证登录后,跳转到管理员所属首页,在这个页面上管理员可以管理清洁工、查看清洁工信息、管理垃圾桶、查看垃圾桶信息、查看事务信息和效绩审核。

清洁工Web平台通过验证登录后进入清洁工首页,在这个页面上清洁工可以查看垃圾桶信息数据、查看个人效绩与同事联系方式、修改个人信息、提交事务。Android移动端通过验证登录后进入查看所管理垃圾桶信息界面,可以查看个人信息和垃圾桶详细记录,业务流程图如图6所示。

图6 客户端功能结构

3 系统测试

系统开始运行,启动硬件端相应的垃圾桶节点,联网成功后,硬件端检测是否符合目标需求:能否在检测到人的时候,自动打开桶盖,人离开时,关闭桶盖;采集的经纬度信息、垃圾重量、桶盖与垃圾的距离数据是否传到相应服务器中并解析反馈到客户端中。

清洁工可以在Android客户端查看相应的信息,包括垃圾桶详细信息查看以及溢满提醒,还可以获取清洁工个人信息,查看清洁工信息,如图7所示。

图7 垃圾桶相关信息

Web客户端重点功能操作如下,对垃圾桶的添加、查看、编辑、删除,如图8所示。其他功能如下:管理员与非管理员登录系统,进行查看、修改个人信息;清洁工信息模块,进行清洁工信息的查看、添加、编辑、删除操作;绩效评优模块,对清洁工清理垃圾桶次数统计、绩效管理;事务模块,清洁工提交事务到管理员,进行事务提交(例如请假),管理员对事务进行审批处理、查看等。以上功能均已完成测试。

图8 垃圾桶管理及详细记录

4 结 语

本文设计的基于NB-IoT的智能垃圾桶系统硬件端完成了传感器与STM32F103的连接,所需要采集的信息均可以采集并上传,服务器也能正确接收数据;软件端完成了清洁工、管理员所需要求的设计与实现,即不仅完成了基本的数据处理及反馈,还在此基础上增添了绩效模块、事务模块等,能够进行评优、处理员工信息等,更加贴近实际情况。本系统虽实现了垃圾桶基本的智能化,但还有许多不足以及可扩展之处,将来对其完善。在未来智慧城市的建造中,不仅仅是垃圾桶,还有许多基础设施设备需要通过智能化设计,以便让我们的城市更加智能。

猜你喜欢
清洁工垃圾桶客户端
给人看病的“清洁工”
忙碌的清洁工
投进垃圾桶的信
投进垃圾桶的信
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
环境清洁工
海港清洁工
客户端空间数据缓存策略