APP下载

基于Arduino的校园环境监测系统

2019-01-18张浩华张梦瑶赵小姝潘庆超马世军

关键词:控制板灰尘温湿度

张浩华, 张梦瑶, 赵小姝, 潘庆超, 马世军

(沈阳师范大学 物理科学与技术学院, 沈阳 110034)

随着社会的进步已经工业的发展,环境问题受到人们的重视。因此能够及时的了解到周围环境的实时情况便成为了人们的迫切需求。环境的情况逐在物联网高速发展的今天,为环境的实时监控提供了技术支持,人们可以通过无线网络获取自己周围环境的实时信息。基于Arduino校园环境检测智能设备利用现有相对较为成熟的传感器技术和物联网技术来获取校园内的实时环境信息。

随着人民生活获得条件不断进行优化提升,社会环境中使用的环境监测系统种类越来越多,越来越智能化现代化,随之而来的是人们对于这些环境监测系统使用舒适度的要求也渐渐提升,同时也需要提供更高效的使用体验和更便捷的操作方式。我们在对环境监控的同时对采集到进行大量的数据分析,能够让人们随时随地的对于自己身处的环境有一定的了解,同时进行一些措施保护自身身体健康。

最近几年,专家学者针对实时环境监测系统有大量的研究与发现。但是在这些研究中很大一部分只是对单一的方面进行监测。本次设计的智能设备,在以往专家学者研究的基础上加以改进,将Arduino智能控制板和Yeelink网络加入到环境监测的设计中,令智能设备在检测使用方面更加简单。

1 监测系统总体设计

本次设计通过各个硬件连接传输到Arduino UNO控制板,再对各个传感器模块以及Arduino UNO控制板进行系统的调试,最后将采集到的数据进行系统的分析,传输到Yeelink网络平台进行实时监控,让学生通过平台对校园周边的环境有一定的了解。

设计基于Arduino UNO板,Arduino输入端分别将温湿度传感器DHT11,灰尘传感器DSM501A以及声音传感器采集到数据进行传输和处理,既能够检测到城市主要街道的温湿度和灰尘污染程度,同时还能对街道的噪音情况加以监控。通过无线通信模块连入智能控制板将传感器采集到的实时数据上传至Yeelink网络平台进行实时监控数据变化,与此同时能够将保存到网络平台的数据进行分析和处理[1]。此外,将传感器的设计进行模块化处理,在发生故障时不需要全部的检测,只需要逐一进行检查排除故障,具有很强的实用性[2]。

2 系统硬件设计

2.1 ArduinoUNO控制板

Arduino UNO是基于Atmega328单片机的开源性的开发板,具有高度的模块化。Arduino的主控板采用AVR单片机,把Atmega328编程为一个USB设备,核心设备是Atmega328的微控制器,具有32KB Flash,1KB EEPROM,14路数据I/O口(其中6路可作为PWM输出)和6路模拟输入口,具有多种的开发库和常用传感器测量的库函数,简化了开发步骤让使用者使用起来更加方便,让Arduino有更广泛的应用价值[3]。图2为Arduno控制板结构图。

图2 ArduinoUNO控制板结构图Fig.2 Structure diagram of the arduinouno control panel

2.2 温湿度传感器

温湿度传感器具有能够对周边环境温度以及湿度数据进行采集的功能,能够灵敏的检测出校园周边环境的温湿度变化,让使用者能够更好的对校园周边环境的温湿度变化有一定的了解,并能够及时的做出增减衣物的反应。市面上很多种温湿度传感器,通过对比,本次环境监测系统设计采用 DHT11温湿度传感器,DHT11温湿度传感器具有数字模块采集功能,有着高度的准确性和稳定性[4]。温湿度传感器在空气中相对的检测结果的范围为20%RH~90%RH,精度为1%RH,湿度±5%RH, 温度±2 ℃。温湿度传感器在2次数据的采集周期间隔不低于1 s 。传感器具有反应灵敏,使用方便,数据采集传输距离远等特点,能够满足智能设备的设计要求。图3为温湿度传感器测量图[5]。

图3 温湿度测量图Fig.3 Temperature and humidity measurement circuit

2.3 灰尘传感器

灰尘传感器能够对周边环境灰尘情况进行数据采集,能够较为精确的检测出校园周边环境灰尘粒子的数量水平,以及环境中灰尘的数量变化,让使用者对于环境中的灰尘数量级别有一定的了解。灰尘传感器的种类众多,我们选择的是DSM501A传感器,DSM501A能够实现吸入空气的功能,利用灰尘计数的原理,能够检测到灰尘的范围为直径为1 μm以上[6]。加入电阻在控制引脚1与GND,可调整粒子最小检出水平(灵敏度),当所接入电阻值为100 kΩ时,Vout输出为半敏感(2 μm以上);DSM501A灰尘传感器通过PWM调制方式波形进行数据的输出与显示,通过低脉冲率来代表粒子的数量与灰尘粒子的水平,低脉冲率计算公式为:RT=Lt/Ut×100%。图4为灰尘测量电路图[7]。

图4 灰尘测量电路图Fig.4 Dust measurement circuit diagram

2.4 声音传感器

声音传感器的主要功能是对校园周边所处的声音环境进行实时的监控,噪音污染是一种看不见但是对人身心影响巨大的环境污染,以前人们只关注空气中的灰尘污染,随着人们的生活水平不断提高人们对于所处环境的噪音污染越来越关注。声音传感器种类众多我们选择MIC声音传感器,MIC声音传感器是使用麦克风将周围环境的声音信号进行收集并检测的传感器,并且对于周围环境产生的声音有着高度的敏感性。通过对周围环境声音信号进行采集,同时利用内部具有的300倍放大器将信号进行放大处理[8]。输出的模拟信号使用3.3 V和5 V为基准AD。当周围环境的声音强度到达阈值时,声音传感器输出低电平,反之输出高电平,并且用ArduinoUNO来显示[9]。测量范围:30~120 dB(A),频率范围:20 Hz~8 kHz。

2.5 无线通信模块

无线通信模块主要作用是将温湿度传感器,灰尘传感器,声音传感器所采集到的数据信号进行网上的传输,传输到Yeelink网络平台,让使用者能够实时的了解到传感器所采集到的数据。无线通讯模块是一种搭载处理器的Arduino拓展模块,能够直接连接在Arduino控制板中,通过编译对其进行控制。市面上无线通信模块的种类有很多,设计采用了W5100tEhenetShield。W5100无线通信模块是一种多功能的单片无线网络接口芯片,内部集成以太网控制器,可以实现Internet连接,与IEEESO 2.3,10BASE一TX兼容。程序中加入Arduino官方库Etherneth,利用Arduino板进行网络模块的初始化程序,在确保Arduino和无线通信模块连接的同时,将其他传感器收集到的信息进行传送,并保存到Yeelink网络平台上,以便日后进行分析[10]。

3 系统软件设计

3.1 ArduinoUNO主控板程序设计

Arduino编程语言是以C/C++语言为基础,在此基础上加以改良和完善。Arduino编程语言令系统的参数设置进行参数化,使使用者不需要深入学习到最底层。Arduino编写语言需要包括setup和loop基础的函数。setup函数是当系统上电或复位时运行的,一般情况下会用来进行初始化的设置和一次性的程序的设计。loop函数是Arduino编程语言开发的主要程序。系统在setup函数完成之后,就开始无限循环进行loop函数[11]。

3.2 Yeelink平台设计

Yeelink网络平台为家庭设备采集到的上传数据提供统一的物联网数据服务接口,对数据模块信息存储实行监测和预警。Yeelink网络平台能够同时对数据进行接入以及对大量传感器数据进行存储,Yeelink网络平台能够在本次设计中满足存储要求。同时,Yeelink网络平台能够提供给用户大量的存储空间用于存储传感器数据,并且能够满足用户的一系列要求并且在此基础上进行一系列的动作[12]。

ArduinoUNO关键程序对服务器发送数据。定义函数sendData()向服务器发送数据。thisData存放传感器数据,DEVICEID存放设备识别号,SENSORID存放传感器识别号。定义server对象为http:api.yeelink.com[13]。

Void send Data(ints Data int DEVIEID.int ENSORID)

{

If(client.connect(server,80))

{

Serial println(″connecting″);

client.print(″POST v1.0 device″);

client.print(DEVICEID);

client.print(″sensor″);

client.print(SENSORID);

client.print(″datapoints″);

client.print(″Accept:*″);

client.println(″*″);

int this Length=10+get Length(this Data);

application x-www-form-urlencoded″);

client.println(″Connection:close″);

client.print({"{”value”·");

client.println("}");

}

clse{

Serial.Println("connection failed");

Serial.Println();

Client.Stop();

}

通过Arduino向Yeelink网络平台发送数据。

表1 Yeelink网络平台创建设备Tab.1 The Yeelink network platform creates devices

表2 通过yeelink网络平台创建传感器Tab.2 The yeelink network platform creates sensors

Yeelink网络平台是一种数据上传,处理以及存储的网络服务,对于Yeelink网络平台,本次设计中温湿度传感器,灰尘传感器,声音传感器,采集到的数据通过Arduino控制板进行编译处理,运用W5100无线通讯模块将数据上传至Yeelink网络平台。

4 系统性能分析

图5 yeelink网络平台监控图像Fig.5 Monitoring image yeelink network platform

在对校园周边环境检测的系统设计中,使用了温湿度传感器模块,灰尘传感器模块,声音传感器模块,无线通信模块,Arduino UNO控制板模块以及Yeelink网络平台对所采集到的数据进行上传存储。本次设计主要通过Arduino UNO主控板对其他传感器进行编译和控制,使传感器能够在一定的范围内进行对环境的实时监测和数据采集,通过无线传输模块将采集到的数据传输到Yeelink网络平台让使用者能够了解自身所处的环境。

本次智能设备设计的特点是在传统的传感器检测的系统上加入了网络通信模块[14],通过网络通信模块将数据上传到Yeelink网络平台,而且利用多种传感器同时进行检测,对校园环境的监测提供了数据支持,能够实时的反映出校园环境情况。本次设计还加入了网络通信模块,通过Yeelink网络平台实现了环境状态的远距离、实时监测,为环境监测者提供了方便[15]。图5为yeelink网络平台监控图像,横坐标为时间纵坐标为温度。

5 结 语

随着人们生活水平的提高,对于周围环境的要求也不断的提高,在科技高速发展的今天,各种各样的环境监测系统进入到我们的生活。在传统的环境监测过程中,监测系统通常测量功能单一,并且需要长时间的测量,在使用方面需要人力的投入。当发生功能性问题是要对整个监测系统进行检查,而且无法达到对检测数据的上传。本次设计是利用Arduino UNO控制板和智能传感器结合物联网技术设计出能够实时监控校园环境的智能设备,能够同时检测多种指标,使监测者能够掌握实施校园环境情况。此外设计将Arduino UNO 板与网络模块相连接,使用网络模块实现数据的传送,利用Yeelink网络平台实现对周边环境状态远距离的实时监控,减少了技术人员的投入。除此之外可以通过连入更多样的传感器进行拓展,使其具有更加多样化的功能。对于本次设计,在检测到各种数据的同时,能够对采集到的数据进行分析与存储,能够让使用者随时随地的对环境有一定的了解。

猜你喜欢

控制板灰尘温湿度
你真的认识灰尘吗?
灰尘快到桶里来
基于AT89C51的数字型蚕用温湿度计的设计
灰尘在繁衍
基于DSP的多路温湿度监测系统
轨道交通AFC导向标识控制板设计
基于温湿度控制的天气预测装置
蒸发冷却温湿度独立控制空调系统的应用
一种机载SAR中心控制板的设计