APP下载

基于Arduino 的温湿度数据采集系统实验报告

2022-07-24张红艳张振亚

科学技术创新 2022年20期
关键词:开发板温湿度湿度

张红艳 王 萍 张振亚

(安徽建筑大学 电子与信息工程学院,安徽 合肥 230601)

温湿度数据采集是建筑物联网的最基本应用之一,温湿度传感器在应用系统程序的设定下能够定时的采集当前环境下的环境温湿度数据,并将采集到的数据在应用系统中实时显示,用户在客户端就能够实现实时且智能的掌握环境温湿度信息。应用系统软件为用户提供了一种便捷和实时收集环境参数的途径,可以根据用户需求查询历史环境温湿度数据,还可以根据用户的需求选择特定时间段内的环境温湿度数据变化曲线等功能。

1 系统需求分析

基于Arduino 的温湿度数据采集系统由两部分组成,一部分时温湿度数据采集与发送硬件平台,另一部分是基于所实现硬件平台的数据采集与发送程序。因此,本系统设计的任务也由硬件设计和软件设计两个子任务组成。对硬件设计子任务,需要对硬件的选型、硬件原理阐述的基础上给出硬件平台的设计方案并实现;而对软件设计子任务,需要基于所设计的硬件平台,设计并实现建筑物内建筑环境中温度、湿度数据的采集的程序。

2 系统整体框架

2.1 硬件系统设计

本系统总体框图如图1 所示,本文使用Arduino UNO R3 开发板和DHT11 温湿度传感器来实现测量和数据采集模块功能,控制模块主要将DHT11 温湿度传感器采集到的数据进行读取并实现对DHT11 温湿度传感器采集周期和数据显示格式进行设定;数据处理与通信模块实现对DHT11 温湿度传感器数据的收集、处理并通过Wifi 网络将处理后的数据传输到应用系统程序模块,应用系统程序模块实现了对采集的建筑室内温湿度数据进行数据库数据存储功能、查询建筑室内环境温湿度的具体参数、温湿度数据的实时显示和数据曲线展示等功能。

图1 系统总体框图

2.2 软件系统设计

该温湿度数据采集系统软件的设计考虑基于B/S 架构采用java 编程语言来实现,主要希望实现以下的功能:

2.2.1 实现对建筑环境温湿度的感知、采集。

2.2.2 实现对建筑环境温湿度的获取。

2.2.3 实现数据库数据存储功能。

2.2.4 可以查询建筑环境温湿度的具体参数。

2.2.5 实现温湿度数据的实时显示和数据曲线展示。

2.2.6 实现对历史数据进行记录,可以对数据进行分析和查询。

3 主要功能的操作实现

3.1 实现对建筑环境温湿度的感知、采集

首先,查阅Arduino UNO 开发板、DHT11 温湿度传感器和Wifi 模块相关引脚说明,然后,使用面包板将DHT11和Arduino UNO 开发板连接,使用USB 线缆将Arduino UNO 开发板和计算机连接。完成采集程序的编码,在源程序经过验证/编译后上传到Arduino UNO R3 开发板后,保持Arduino UNO R3 开发板与上位机通过USB 线缆的连接,硬件平台上电。

3.2 实现对建筑环境温湿度的获取。

主要是通过让服务器端持续的监听数据发送端的请求,一旦读取到数据,则根据设定好的数据格式完成数据的提取存入数据库,并实时显示在曲线图上。

3.3 实现数据库的数据存储

首先需要建立一个数据库DB,并在数据库中建立相关数据表;其次执行与数据库建立连接操作,与数据库建立好连接之后,我们就可以执行相应的SQL 存储语句,最后,数据库操作完成后,关闭与数据库的连接,具体操作如下所示:

建立一个SQL server 2008 数据库DB,在DB 数据库中建立DataRecord 表,列名和数据类型的设置如图2 所示。载入驱动及连接数据库程序过程如下所示:

图2 DataRecord 表列名和数据类型的设置

其中com.microsoft.sqlserver.jdbc.SQLServerDriver 为该驱动程序的名称,Connection 的对象conn 代表与数据库的连接,DriverManager 负责管理驱动程序,作用于用户和驱动程序之间,在数据库和相应的驱动程序之间建立连接。DriverManager.getConnection(URL,USER,PASSWORD)方法将建立与数据库的连接。

建立数据库连接的操作,通过定义一个getConnection()方法实现,执行SQL 存储语句,通过定义一个InsertIntoTable(DataRecorddataRecord)方法,执行结果是将dataRecord 里的DHT11 温湿度传感器采集到的温度数据、湿度数据和采集时间插入到数据库表DataRecord 里,并返回是否存储成功。

关闭数据连接的操作,通过定义一个closeConnection()方法来实现。

3.4 实现查询建筑环境温湿度的具体参数

查询建筑环境温湿度的具体参数的过程实际上就是向数据库里查找相应的数据,我们定义了一个SelectFromTable(String sqlString)方法,其中sqlString 为查询条件为查询的条件,返回的是符合查询条件的数据列表dataRecords。

3.5 实现温湿度数据的实时显示和数据曲线展示功能可以对数据进行分析和查询。

主要是通过对温度历史数据和湿度历史数据的查询结果进行分析,反映一定规律或者是得到相关的数据,比如:某个时间段的平均温度、平均湿度或最高温度及历史曲线等,数据曲线展示就是将历史数据通过曲线的方式表。

3.6 完成web 文件编码

web 文件编码部分主要是对和的描述。

4 实验结果测试

4.1 实验步骤

首先要安装数据库,如本文选用SQl server 数据库,安装完成后进行网络配置,运行命令框进行网络测试,如本机设定IP 端口号为1433,在命令框输入telnet 127.0.0.1 1433 进行测试;

其次完成tomcat 的安装和配置;

最后运行服务器后,打开应用系统。

4.2 主要测试功能

4.2.1 实现对建筑环境温湿度的感知、采集和获取

对建筑环境温湿度的感知、采集是否成功可以通过对Arduino UNO 开发板相应模块指示灯的观察得知,而实现对建筑环境温湿度数据的获取主要是通过让服务器端持续的监听数据发送端的请求,一旦读取到数据,则根据设定好的数据格式完成数据的提取。若数据提取成功,则存入数据库成功。

4.2.2 实现数据库数据存储功能

当应用程序监听到有数据接收时,通过定义的插入方法执行SQL 存储语句,将DHT11 温湿度传感器采集到的温度数据、湿度数据和采集时间插入到数据库表里,并返回是否存储成功,存储成功后在数据库表里就可以看到最下一行新增加的数据,如图3 所示。

图3 表数据存储

4.2.3 查询建筑环境温湿度的具体参数的测试

用户可以根据需求选择不同的查询条件和查询时间的选择,通过点击查询按钮,查询相关的参数信息。例如查询湿度的最大值和最小值,过程如图4-6 所示。

图4 选择查询条件

图5 选择查询开始日期和结束日期

图6 结果查询显示

4.2.4 实现温湿度数据的实时显示的编码

当启动应用系统通信功能时,可以实时的接收当前Arduino UNO 开发板采集到的温湿度数据,并显示如图7所示。

图7 当前采集到的温湿度数据显示

4.2.5 实现对历史数据进行记录,随时可以对数据进行分析和查询;

实现将历史数据保存在数据库表里,可以随时对数据库表进行相应的查询操作,并且实现对数据进行简单分析功能。可通过拆线的方式来显示历史温湿度数据和当前温湿度数据,横坐标表示时间,纵坐标表示温度和湿度值,当鼠标放至曲线上时,也可读取到相应时间上的温度和湿度数据,如图8 所示。

图8 历史数据查询

5 实验总结

目前随着物联网技术的普及,特别是感知技术和接入技术的普及,为智能建筑中智能应用的设计与实现提供了新的支持。本实验系统通过对温湿度传感器的数据采集控制,用户通过客户端实现实时获取环境温湿度数据并进行相应的数据分析处理操作,为后续相关应用打下基础。该实验可作为物联网工程专业学生的综合性、创新性实验开放。

猜你喜欢

开发板温湿度湿度
路基上CRTSⅡ型板式无砟轨道湿度场分析
湿度变送器测量结果不确定度评定
基于AT89C51的数字型蚕用温湿度计的设计
基于STM32H7的FDCAN通信系统设计与实现∗
基于温湿度控制的天气预测装置
基于DSP和μcos的温湿度检测系统的设计
PLC在计算机空调机房温湿度控制中的应用
浅析单片机开发板的设计与制作
带有双检测结构的电缆接头保护装置
ARM宣布mbed Enabled Freescale FRDM—K64F开发板通过微软认证