基于Arduino和树莓派的网络环境监测系统的制作方法

文档序号:11945618阅读:2052来源:国知局
基于Arduino和树莓派的网络环境监测系统的制作方法与工艺

本发明涉及环境监测领域,尤其涉及一种基于Arduino和树莓派的网络环境监测系统。



背景技术:

环境监测系统一般用于监测温湿度、气压、空气质量等环境数据,在工农业生产、仓储、机房监控等领域有着大量应用需求。传统的系统采用单片机开发,功能单一或者采集环境数据后只是在本地显示,不具备网络连接和进一步的应用端开发以实现数据管理能力;具有网络传输功能的则往往本地功能较弱。



技术实现要素:

本发明所要解决的技术问题是针对上述现有技术提供一种基于Arduino和树莓派的网络环境监测系统,开发具备多样化功能的网络环境监测终端,实现环境温湿度、PM2.5数据采集功能,数据实时显示功能和超限告警功能,并将采集的数据实时上传网络数据服务器,开发web应用程序实现数据的分析、展示和查询功能。

本发明解决上述问题所采用的技术方案为:一种基于Arduino和树莓派的网络环境监测系统,它包括环境数据监测终端、传输网络、数据库服务器和Web服务器,其中,所述环境数据监测终端包括光学粉尘传感器、温湿度传感器、数字蜂鸣器、LED灯、LCD显示器、Arduino UNO板和树莓派板,所述光学粉尘传感器、温湿度传感器、数字蜂鸣器、LED灯、LCD显示器均与Arduino UNO板连接,Arduino UNO板通过光学粉尘传感器测算出空气中粉尘颗粒数量,进而得到空气PM2.5值,Arduino UNO板通过读取温湿度传感器发送的信号,得到环境温湿度数据,若环境PM2.5值或温湿度至大于程序设定的阈值,则Arduino UNO板驱动LED告警灯发光,同时启动数字蜂鸣器发出告警声音,Arduino UNO板与树莓派板通过USB接口连接,通过串口协议传递数据,树莓派板通过网络接口或WiFi模块连接以太网,在接收完Arduino UNO板一个周期的数据之后,解析、封装数据通过网络上传数据库服务器,Web服务器采用Apache/Tomcat +MySQL+Java架构,用户可通过Web浏览器访问该Web服务器,查看环境数据监测终端采集上传的实时数据,同时可查看历史数据。

优选地,所述光学粉尘传感器根据空气中粉尘密度输出模拟电压值,该模拟电压值输出口连接至Arduino UNO板模拟端口,Arduino UNO板内含的模数转换芯片将0-5V之间的模拟电压线性转换为0-1023之间的整数,通过光学粉尘传感器输出模拟电压值与灰尘密度关系曲线,并拟合出Arduino UNO板读取到的模拟电压与灰尘密度的线性关系式:

模拟电压值 = 模拟电压 *(5.0 / 1024.0)

灰尘密度= 0.172 *模拟电压值- 0.099

灰尘密度= 0.172 *模拟电压* (5.0 / 1024.0)- 0.099

其中,模拟电压值为光学粉尘传感器输出的模拟电压值,可由Arduino UNO板读取的模拟电压转换得到,所述S光学粉尘传感器由Arduino UNO板供电,所述Arduino UNO板读取光学粉尘传感器数据的频率可根据实际需求在Arduino UNO板上运行的程序中进行调整。

与现有技术相比,本发明的优点在于:

本发明实现了网络化的温度、湿度、PM2.5环境数据的采集,一方面可以在环境数据监测终端实时显示环境数据并视情发出本地声光告警信息,另一方面将环境数据通过网络传输至数据库服务器,可通过浏览器进行web网络查看和查询,提升用户体验。

附图说明

图1是本发明实施例所述基于Arduino和树莓派的网络环境监测系统部署架构图;

图2是本发明实施例所述基于Arduino和树莓派的网络环境监测系统的环境数据监测终端结构示意图。

具体实施方式

以下结合附图实施例对本发明作进一步详细描述。

参见图1,图2所示,本实施例中的一种基于Arduino和树莓派的网络环境监测系统,包括环境数据监测终端、传输网络、MySQL数据库服务器和Web服务器。其中,所述环境数据监测终端包括Sharp GP2Y1010AU0F光学粉尘传感器、DHT11温湿度传感器、数字蜂鸣器、LED灯、1602LCD显示器、Arduino Uno板和树莓派板(Raspberry Pi 3 B型)。所述光学粉尘传感器、DHT11温湿度传感器、数字蜂鸣器、LED灯、1602LCD显示器均与Arduino UNO板连接。Arduino Uno板通过光学粉尘传感器测算出空气中粉尘颗粒数量,进而得到空气PM2.5值。Arduino UNO板通过读取DHT11温湿度传感器发送的信号,得到环境温湿度数据。若环境PM2.5值或温湿度至大于程序设定的阈值,则Arduino Uno驱动LED告警灯发光,同时启动数字蜂鸣器发出告警声音。Arduino Uno板与树莓派板通过USB接口连接,通过串口协议传递数据。树莓派板通过RJ45网络接口或WiFi模块连接网络,在接收完Arduino Uno一个周期的数据之后,解析、封装数据通过网络上传数据库服务器。Web服务器采用Apache/Tomcat+MySQL+Java架构,用户可通过Web浏览器访问该Web服务器,查看环境数据监测终端采集上传的最新数据,同时可查看历史数据。

其中,所述Sharp GP2Y1010AU0F光学粉尘传感器根据空气中粉尘密度输出模拟电压值,该模拟电压值输出口连接至Arduino Uno板模拟端口。Arduino Uno板内含模数转换芯片,能将0-5V之间的模拟电压线性转换为0-1023之间的整数(0V对应数值0,5V对应数值1023)。由Sharp GP2Y1010AU0F光学粉尘传感器输出模拟电压值与灰尘密度关系曲线,可拟合出Arduino读取到的模拟电压voMeasured(位于0-1023之间)与灰尘密度dustDensity的线性关系式:

calcVoltage = voMeasured *(5.0 / 1024.0)

dustDensity = 0.172 * calcVoltage - 0.099

dustDensity = 0.172 * voMeasured * (5.0 / 1024.0)- 0.099

其中,calcVoltage为Sharp GP2Y1010AU0F传感器输出的模拟电压值,可由Arduino Uno读取的模拟电压值voMeasured转换得到。所述Sharp GP2Y1010AU0F传感器由Arduino Uno板供电。所述Arduino Uno板读取Sharp GP2Y1010AU0F传感器数据的频率可根据实际需求,在Arduino Uno板上运行的程序中进行调整。

其中,所述DHT11温湿度传感器采用单总线串行接口与Arduino Uno板通信,发送温湿度数据至Arduino Uno板,其数据接口连接Arduino Uno板的数字端口。所述DHT11温湿度传感器由Arduino Uno板供电。所述Arduino Uno板读取DHT11温湿度传感器数据的频率可根据实际需求在Arduino Uno板上运行的程序中进行调整。

其中,所述LED告警灯由Arduino Uno板的数字输出引脚驱动,当Arduino Uno板运行程序计算出的PM2.5值或温湿度数值超过程序设置的阈值时,由Arduino Uno板在该引脚输出HIGH信号点亮;当Arduino Uno板运行程序计算出的PM2.5值或温湿度数值低于程序设置的阈值时,Arduino Uno板在该引脚输出LOW信号,LED灯熄灭。

其中,所述数字蜂鸣器由Arduino Uno板的数字输出引脚驱动,当Arduino Uno板运行程序计算出的PM2.5值或温湿度数值超过程序设定的阈值时,由Arduino Uno板在该引脚输出HIGH信号驱动所述数字蜂鸣器发出告警响声;当Arduino Uno板运行程序计算出的PM2.5值或温湿度数值低于程序设置的阈值时,所述数字蜂鸣器不发声。

其中,所述Arduino Uno板通过USB接口与Raspberry Pi连接,通过串口协议传输数据。

其中,所述水浸检测告警终端的树莓派板(Raspberry Pi 3 B型)拥有RJ45网络接口和WiFi无线模块,可以有线或无线方式接入互联网或局域网。所述树莓派板在接收到Arduino Uno板发送的数据后,向数据库服务器传递的信息包括该环境数据监测终端本地IP、该环境数据监测终端部署地点、该环境数据监测终端ID号、该环境数据监测终端采集到的温湿度和PM2.5数值。数据库在接收到数据时自动添加记录添加的时间。

其中,所述MySQL数据库服务器为安装MySQL数据库管理软件的服务器,MySQL数据库管理软件中的数据库为每一个所述环境数据监测终端建立单独的表,以存储其采集和发送的温湿度和PM2.5数值。

其中,所述Web服务器采用Apache/Tomcat+MySQL+Java架构,完成与MySQL数据库的连接、数据读取、展示、查询功能,用户可通过浏览器查看PM2.5、温湿度数据。

除上述实施例外,本发明还包括有其他实施方式,凡采用等同变换或者等效替换方式形成的技术方案,均应落入本发明权利要求的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1