基于ZigBee及云平台的垃圾转运站监测系统设计
2023-02-28盛裕民聂晓根吕建锋林鸿颖
盛裕民,聂晓根,吕建锋,林鸿颖
(福州大学机械工程及自动化学院,福建 福州 350108)
0 引言
随着我国对绿色发展与生态文明建设的不断重视,居民与环境的和谐共处也越来越受到关注。城市生活垃圾转运站作为垃圾处理过程的中心环节,对居民生活环境以及垃圾处理效率都有着举足轻重的影响[1]。
垃圾转运站主要用于将垃圾清运车收集的各处城市生活垃圾进行压缩转运,从而提高垃圾转运效率。而在垃圾压缩过程中,会产生影响空气质量的废气以及渗滤液。因此,需要对转运站内的废气、渗滤液进行排放管控。根据1996年颁布的《大气污染物排放标准》,废气的排放需要对硫化氢、氨气、二硫化碳等恶臭气体进行控制,排放标准采用二类区场界浓度值。而渗滤液中的CODCR、BOD5、pH值、悬浮物等的排放需要符合1996年发布的《污水综合排放标准》。传统的废水废气监管方式是由有关部门定期到现场进行监测,需要耗费大量的人工成本,并且不能确保未检测期间的排放达标情况。
目前,大部分生活垃圾转运站的监控系统采用抗干扰性强的可编程逻辑控制器(programmable logic controller,PLC)[2],通过有线传输方式,由现场总线协议采集现场参数,并利用组态王等组态软件实现参数的可视化[3-4]。该方法虽然一定程度地提高了垃圾转运站的自动化水平,但采用的还是实时的局域网络,仍然需要专人现场值守,以确保排放达标,且无法查看历史排放记录。同时,该方法需要在现场设置大量的环境数据采集节点。而由于现场环境恶劣,难以进行线路部署,线路存在老化现象,且后期的维护成本较高[5]。因此,使用传统的有线数据传输方式难以满足生活垃圾转运站绿色、智能化运行的要求。
为此,本文设计了1种基于ZigBee无线网络技术与云平台技术的垃圾转运站远程监测系统。监管人员可以通过现场的远程监控中心或者手机等移动设备,以网页的形式实时监测垃圾转运站环境参数。该设计实现了数据透明化、可追溯化,弥补了以往监测系统的不足。
1 系统总体设计
基于ZigBee及云平台的垃圾转运站远程监测系统总体架构分为感知层、数据网关层、云平台层、应用层。垃圾转运站远程监测系统总体结构如图1所示。
图1 垃圾转运站远程监测系统总体结构图Fig.1 General structure of remote monitoring system for waste transfer station
感知层中的采集节点由ZigBee终端节点与各种传感器组成,负责采集垃圾转运站内环境排放数据,如废水pH值、废气中氨气含量值、环境温度值等。数据网关层由ZigBee协调器节点与Wi-Fi模块及路由器组成。协调器节点负责收集各采集节点的数据,再将数据通过串口通信方式发送出去。Wi-Fi模块负责接收并整合来自协调器节点的数据,然后将这些数据通过Wi-Fi协议发送出去,由路由器收集数据并发送给云平台层。云平台层搭载了云服务器与数据库服务器,通过传输控制协议/网际协议(transmission control protocol/internet protocol,TCP/IP)与路由器进行数据交互,负责储存上传的数据并建立网页可视化界面。监管人员/管理员等均可采用手机等远程终端,以网页形式访问云平台,实现对现场排放环境数据的实时监测与历史排放数据的查看。
2 系统硬件设计
利用无线传输的方式完成数据传输,不仅节约了布线成本,还减少了网络组建和网络扩张的时间成本[6]。因此,本系统采用在转运站内搭建现场的无线采集网络方式,不仅需要选用无线通信协议,还需选用传感器并完成其电路设计。目前,无线通信技术有远距离无线电(long range radio,LoRa)、ZigBee、蓝牙、Wi-Fi、窄带物联网(narrow band Internet of Things,NB-IoT)等。而国内大部分垃圾转运站均是中小型规模,因此往往选用短距离、低延时的ZigBee通信协议。但是ZigBee建立的依然是局域网络,采集的数据收集在协调器中,无法与现场具有的路由器网络连接进而无法与云平台进行通信。转运站内路由器采用的是家庭常用的Wi-Fi协议路由器。因此,本系统利用协调器与Wi-Fi模块进行组合,形成数据网关。
2.1 ZigBee模块
ZigBee模块选用德仪TI CC2530模块。TI CC2530模块内部集成8051 CPU内核和SAM天线[6],可以实现对模块的编程开发以及数据的无线传输。同时,模块支持ZigBee协议栈,能简化网络编程工作。模块的无线网络工作于2.4 GHz频道,能保证环境数据上传的实时性。模块具有12位模数转换器(analog to digital converter,ADC)转化模块[7],可将处理好的传感器(如pH值传感器)发出的模拟量转换为芯片可识别的数字量。CC2530工作电压为3.3 V,大部分传感器由ZigBee模块直接供电,而部分传感器的工作电压为5 V,因此需要ZigBee模块能提供5 V和3.3 V的直流电压。为此,本设计选用TI公司的TPS73033稳压芯片。此款芯片采用小外形晶体管贴片(small outline transistor,SOT)封装方式,具有5个引脚,可提供1.8~3.3 V的稳定电压。ZigBee稳压电路原理如图2所示。
图2 ZigBee稳压电路原理图Fig.2 ZigBee voltage regulator circuit schematic
2.2 Wi-Fi模块
Wi-Fi模块选择乐鑫的ESP8266WIFI芯片。该芯片的特点是成本低、功耗低、集成了TCP/IP协议栈[8]、支持软件开发工具包(software development kit,SDK)开源、学习资料丰富,不仅可以独立搭载软件应用,还可以作为主控微控制单元(micro control unit,MCU)协同工具的Wi-Fi解决方案。 本系统采用后1种开发模式。Wi-Fi模块与主控芯片采用通用异步收发器(universal asynchronous receiver transmitter,UART)通信,并将采集到的环境数据转发给路由器。ZigBee协调器节点与Wi-Fi模块连接如图3所示。
图3 ZigBee协调器节点与Wi-Fi模块连接图Fig.3 ZigBee coordinator node and Wi-Fi module connection diagram
2.3 传感器模块
由垃圾转运站废水废气排放标准可知,本系统需要对废气中的氨气、硫化氢等以及渗滤液中的pH值、BOD5值等进行监控。这些参数都可以通过相应的传感器进行检测。传感器通常输出的是模拟电压量或者数字量。如pH值传感器输出的是模拟量,而温度传感器输出的是数字量。模拟量输出传感器可通过ZigBee自带的ADC模块进行转化,数字量直接接入输入/输出(input/output,I/O)口。某些特殊的传感器(如氨气传感器),通过RS-485与ZigBee通信。因此,传感器模块主要介绍pH值检测模块、DHT11温度检测模块和氨气检测模块,其他均类似而不再赘述。
2.3.1 pH值检测模块
转运站内水质pH限定值为6~9。因此,pH值检测模块选用雷磁的E-201-C pH复合电极。E-201-C pH复合电极工作温度为5~60 ℃,pH值测量范围为0~14。复合电极测量过程中输出0~414.12 mV模拟电压信号,再通过运算放大电路放大至ZigBee可识别的0~3.3 V模拟电压信号。放大电路芯片选用TI的TLC4502双路高性能高阻运放。pH值检测模块电路原理如图4所示。
图4 pH值检测模块电路原理图Fig.4 Circuit schematic diagram of pH value detection module
2.3.2 氨气检测模块
氨气传感器与终端节点通信电路如图5所示。
图5 氨气传感器与终端节点通信电路图Fig.5 Ammonia sensor and terminal node communication circuit diagram
转运站内的氨气限定值为小于2.0 ×10-6。因此,氨气检测模块直接选用中安电子的氨气监测方案。该方案工作电压为24 V,检测范围为0~10×10-6,分辨率达到0.05×10-6。整个氨气检测模块主要以三电极氨气传感器为内核,外部搭建运放电路及RS-485串口传输模块,以实现数据的采集及通信。而ZigBee只能采用UART或串口进行通信,因此需要UART转RS-485电路以满足通信需求。转换电路采用Maxim公司的MAX485作为转换芯片。MAX485芯片具有8个引脚,采用小外形封装(small outline package,SOP)的封装方式,器件工作于半双工,在5 V单电源下的最高传输速度可达2.5 bit/s。
2.3.3 温度检测模块
转运站内水质温度一般为室温25 ℃左右,因此温度检测模块使用DHT11温湿度传感器作为转运站内环境温度检测模块。DHT11是数字信号输出的温湿度传感器,可直接与终端节点的I/O口(P1.0口)连接通信。DHT11相对湿度测量范围在20~90%RH,温度测量范围在0~50 ℃。DHT11湿温度传感器模块采用4针单排引脚封装。DHT11的最大特色是采用单线制双向串口通信。温度传感器与终端节点通信电路如图6所示。
图6 温度传感器与终端节点通信电路图Fig.6 Temperature sensor and terminal node communication circuit diagram
3 系统软件设计
本系统软件设计主要分为3个部分,分别是ZigBee组网、Wi-Fi传输与云平台软件。
3.1 ZigBee组网
ZigBee组网技术支持自组网的无线通信,ZigBee组网时,要先自定义组网的网络结构。ZigBee可支持的网络结构主要分为3种类型,分别为星型网、树状网和网状网[6]。综合垃圾转运站现场工况及各方面情况,本系统采用网状拓扑结构。网状拓扑结构具有通信距离远、多级连接、数据传输可靠性高等优点。转运站ZigBee组网如图7所示。
图7 转运站ZigBee组网图Fig.7 ZigBee network diagram of transfer station
垃圾转运站现场ZigBee无线网络组网流程如图8所示。
图8 ZigBee无线网络组网流程图Fig.8 Flowchart of ZigBee wireless network networking
ZigBee无线网络组网步骤如下。
①对协调器进行初始化,包括时钟、串口等。
②协调器节点将被设置为网络基站,形成初始的ZigBee网络。
③终端节点依次进入此网络并获得媒体存取控制位(media access control address,Mac)地址,形成完整的ZigBee网络。
④组网完成后,对传感器驱动进行初始化。
本文以2.3节介绍的3个传感器模块为例进行分析。以pH传感器为代表的模拟量输出传感器通过配置I/O与ADC模块进行初始化。氨气传感器采用MODBUS通信协议结合串口进行通信。终端节点通过UART向传感器发送查询指令0x03。传感器接收到指令后进行1次检测操作,并返回数值给终端节点。以DHT11温湿度传感器为代表的数字量输出传感器只需要配置I/O口后校验时序即可。传感器初始化后,终端节点设置定时中断。由于垃圾压缩过程中废气废液的产生速率较慢,浓度变化速率不快,因此设置60 s采集1次传感器数据并发送给协调器。协调器接收数据并按端点地址进行分类存储后,通过串口发送给ESP8266模块。整个组网流程均采用与TI CC2530配套的Z-Stack协议栈配合操作系统抽象层(operating system abstract layer,OSAL)操作系统的形式。用户只需在IAR Embeded Workbench开发环境中通过调用相应的应用程序接口(application programming interface,API)即可进行网络配置及程序编写,实现ZigBee无线网络节点的数据透明传输。
3.2 Wi-Fi传输
为了转发协调器收集的数据,本系统采用ESP8266 Wi-Fi模块,因此只需进行数据透传即可。但网络数据传输是很复杂的过程,需要对开放系统互联(open system interconnection,OSI)七层模型均进行设置。AT指令是1组已封装好的接口指令。AT指令为了简化终端设备网络传输数据至计算机应用上所需的复杂的网络编程过程,将网络编程转化为简单的串口编程,能极大减轻开发难度[9]。因此,本文采用AT指令对模块进行编写。
Wi-Fi传输的主要程序如下。
void ZigBee_2_ESP8266_Init(void)
{
USART_Init();
SendStr2ESP(“AT+CWMODE=1 ”);
SendStr2ESP (“AT+CWJAP=“TP-LINK_3761”,“qweasdzxc” ”);
SendStr2ESP (“AT+CIPMUX=0 ”);
SendStr2ESP (“AT+CIPSTART=“UDP”,“116.62.***.**”,8889,10001,0 ”);
SendStr2ESP (“AT+CIPMODE=1 ”);
SendStr2ESP (“AT+CIPSEND ”);
}
程序步骤如下。
①对串口进行初始化,再通过AT指令设置ESP8266为station模式,并输入路由器名与密码,连接现场路由器TP-LINK_3761。
②将连接模式设置为单连接模式,连接协议设置为用户数据报协议(user datagram protocol,UDP)连接。
③设定本地端口号与终端端口号及其IP地址,并将传输模式设置为透传模式。
④开启连接,进行数据传输。
3.3 云平台
云平台各模块通信关系如图9所示。
图9 云平台各模块通信关系图Fig.9 Communication diagram of each module of cloud platform
云平台设计是整个垃圾转运站监测系统的核心部分。之前所有现场采集的数据最终都将到达云端,并进行合理的业务逻辑组合。处理后的数据对用户发布。本文系统采用阿里云服务器作为云服务器。云服务器主要分为3个部分,分别为网络通信模块、数据库模块和数据可视化模块。
3.3.1 网络通信模块
网络上,2个程序之间的通信是通过各自的端口在1个双向通道实现数据的交换来完成的,即TCP/IP传输层上进行的端到端的通信。云服务器与路由器均处于传输层下,因此可以采用传输层的Socket套接字技术将现场数据上传至云平台。它的底层仍然是TCP/IP协议族[10],只是封装成接口形式,需要设置服务器/客户端。本文系统中,服务器端为阿里云服务器,客户端为现场路由器。
3.3.2 数据库模块
垃圾转运站中控系统的可视化平台总共需要显示5类数据,分别为废气、废水、噪音、温湿度和继电器状态。对于废水、废气、噪音和温湿度这4类数据,需要实现实时显示检测数值及最近1 h内数据达标率的功能。因此,数据库中都应该包含这些类型的数据。每个数据(如废气中的氨气)都具有检测数值、检测结果和检测时间这3种属性。由于MySQL数据库具有性能较好、无需付费、易上手、占用空间少等优点[11],本文数据库模块选用MySQL数据库。每分钟通过调用mysql_query()API函数执行SQL语言插入,将云服务器收集的、由路由器发来的现场检测数据转存至数据库中,以实现历史数据保存功能。
3.3.3 数据可视化模块
数据可视化模块则选用Grafana可视化检测工具。Grafana可视化检测工具采用GO语言开发,可兼容MySQL数据库[12]。Grafana主要开发功能如图10所示。
图10 Grafanay主要开发功能图Fig.10 Grafany mian development function diagram
4 系统试验
4.1 无线传输数据试验
无线传输数据试验首先进行ZigBee组网,将终端节点放置在实验室的各个角落,并人为增加遮挡物的模拟实际现场设备遮挡的情况。然后,试验启动协调器、路由器和终端节点,开始建网和设备入网的过程。在此过程中,通过观察ZigBee模块上液态晶体显示屏(liquid crystal display,LCD)显示的内容便可了解设备是否成功入网。当协调器LCD显示“ZigBee Coord Network ID:FFF1”,则表示协调器建网成功。当路由器节点LCD屏幕显示“Router: XXXX(4位16进制数)Parent:0”则表示路由器节点入网成功。当终端节点LCD屏幕显示“EndDevice:XXXX(4位16进制数)Parent:0”则表示终端节点入网成功。终端节点设备每分钟采集1次传感器数值并向协调器发送数据。协调器收到数据后再通过串口发往数据网关模块。在发送过程中,通过计算机端的串口助手来观察协调器数据传输的准确性。其格式为“[16:56:57.159]收1 2 7.52 OK”。其中:“1”表示终端节点编号;“2”表示该节点内的2号传感器,为pH值传感器;“7.52”表示pH值大小;“OK”表示测量值在合格范围内(pH值在6~9为合格)。
以pH值检测为例,首先在云端控制台成功接收5次ZigBee每隔60 s自动发送来的数据后,人为将ZigBee终端模块与协调器模块断开连接。等待一段时间后重新连接,并观察重连是否成功。在重连后,观察ZigBee是否可以继续采集pH值,并向云端发送数据。云端数据控制台接收数据过程中,当人为断开终端模块与协调器模块2 min并重连后,云端数据控制台能重新接收pH值数据并显示,即表明数据采集的智能化与传输可靠性测试成功。
4.2 云平台服务试验
人为干预后氨气浓度波动如图11所示。
图11 人为干预后氨气浓度波动图Fig.11 Ammonia concentration fluctuation after human intervention
用户通过浏览器登入相应网页后,即可看见Grafana建立的可视化界面。用户可通过其界面观测垃圾转运站内的环境数据,如pH值、氨气值等,无需专人现场值守观察转运站现场排放环境数据。同时,有关部门监管人员也可通过此界面监测转运站内排放情况,省去大量人工检测成本。链接好数据库的Grafana具有历史数据追溯功能,可选择所需查看的日期,转存EXCEL表格查看历史排放数据。
以氨气值为例,当人为干扰氨气传感器致使检测值提高时,Grafana的数据面板上对应曲线出现了相应波动。这证明了本文系统的实时性。
5 结论
本文设计了1种基于ZigBee与云平台的垃圾转运站环境监测系统,针对传统垃圾转运站监测系统处于局域网监测阶段并采用有线监测采集网络存在的布线复杂、后期维护困难、需要人工值守、造成多余人工成本等问题提供有效可行的解决方案。该系统结合多传感器、无线通信、物联网云平台等多项技术,保证垃圾转运站内环境数据能够被远程实时监测。ZigBee网络布局灵活,克服了传统有线传输的束缚,提高了系统的适用性。同时,本设计通过云平台技术,可以实现用户通过网页形式远程实时监管转运站内环境参数的功能,弥补了ZigBee网络近距离局域通信的不足,具有一定的推广价值。