深圳市组创微电子有限公司
咨询电话
0755-8299 4126

蓝牙技术

温湿度采集系统设计


基于蓝牙的无线温湿度采集系统的设计与分析

目前,现有的温湿度数据采集系统中,传感器采集到的温湿度数据经过抗干扰能力强,技术成熟的有线串口(RS-232或RS-485)方式传送到上位机上。如果采集点比较多,传感器与上位机之间需要大量的数据线进行有线连接,有线连接的这种方式会造成很大的不便;如果需要建立的是临时性的温湿度数据采集,用传统的有线连接方式会造成成本的增加;同时有线连接的方式在恶劣环境下会给施工造成很大的不便。因此需要一种成本低,稳定性高的无线数据传输方式取代现有的有线数据传输方式。

无线通讯是在开放的空间通过辐射和接收电磁波进行通信的,一方面受自然界中各种干扰和噪声的影响比有线更为严重;另一方面一定区域范围内的无线通讯信号也会互相干扰。为了克服无线通信信号之间的干扰,必须把可用的无线信道分为若干互不相干的子信道在分别分给各个用户。虽然相比有线通信,无线通信在传输质量、传输速率等方面存在着较大不足,但是无线通信具有不受连线束缚、组网迅速灵活等优点,特别是能提供移动通信,使无线通讯技术成为研究最为活跃的通信技术领域。

蓝牙作为一种低成本、低功耗、近距离的无线通信技术,正广泛应用于固定设备与移动设备间的通信。

蓝牙数据传输速率可高达1Mb/s,采用跳频/时分复用技术,具有进行一对一和一对多的通信方式。因此本文提出了一种基于蓝牙的无线温湿度采集系统设计与分析方案。

一、温湿度采集系统结构设计

数据采集是工业系统中不可缺少的重要组成部分,是进行工业控制的根本依据。随着科技的发展大规模集成电路、单片机、计算机等在工业控制领域中的广泛应用,使数字化的数据采集在工业控制领域中成为必然。本设计由下位机的数据采集、数据传输部分及上位机的数据接收和数据处理部分组成。如图1系统结构图所示。下位机主要由单片机和蓝牙模块组成,数据采集主要是DHT11温湿度传感器;数据传输部分主要通过蓝牙模块进行数据的无线传输,将数据通过蓝牙模块传输到上位机上,在由上位机进行处理。

图 1 温湿度采集系统结构图

 

二、温湿度采集系统硬件设计

本设计采用Arduino单片机作为下位机的主控单片机。系统的硬件设计主要分为3个部分:Arduino单片机控制部分、DHT11温湿度传感器、蓝牙无线通讯模块。Arduino单片机具有丰富的接口,有数字I/O口,模拟I/O口,同时它支持SPI,IIC,UART等通信方式。可以通过外接多种不同类型的传感器,可以控制灯光、马达等多种设备。Arduino单片机与普通的单片机比起来没有复杂的底层代码,具有丰富的库函数,可以通过调用不同的库函数来实现不同的功能,具有编程方便的特点。而且它有专门的集编程下载环境IDE,方便了开发人员对Arduino单片机的二次开发。

2.1DHT11传感器

温湿度采用DHT11温湿度传感器进行测量。测量的温度精度达到±5%RH,温度±2℃,测量的湿度范围为20-90%RH,温度范围为0~+50℃。DHT11温湿度传感器是一款含有数字信号输出的复合传感器。DHT11温湿度传感器内含一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。同时传感器具有单线制串行接口,传感器采集到的温湿度信息可以通过单线串行接口传送到Arduino单片机中。

由于DHT11传感器与Arduino单片机之间的数据传输通过单线串行接口,为了保证数据的完整性,一次通讯时间被设定在4ms左右,数据分为小数部分和整数部分两部分,一次完整的数据传输为40bit,高位先出。

数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据”所得结果的末8位。当Arduino单片机向DHT11传感器发送开始信号后,传感器从低功耗待机模式立即转变为工作模式,DHT11传感器向单片机发送响应信号,发出40bit温湿度数据。

2.2蓝牙通讯模块

本设计应用的是采用英国CSR公司BlueCore4-Ext芯片的HC-05蓝牙模块。该模块支持UART,USB,SPI,PCM,SPDIF等接口,并支持SPP蓝牙串口协议,具有主从一体功能,内置PCB射频天线,而且可以连接7个从设备,同时该模块的工作电压为3。3-6V,所以此模块具有成本低、体积小、功耗低、收发灵敏性高等优点。

由于HC-05蓝牙模块具有具有两种工作模式:命令响应工作模式和自动连接工作模式。在自动连接工作模式下模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输;当模块处于命令响应工作模式时能执行AT操作命令,可以通过电脑向模块发送AT指令,为模块设定控制参数或发布控制命令。通过控制模块外部引脚输入电平的高低可以实现模块工作状态的转换。

三、温湿度采集系统软件设计

Arduino单片机编程为了保证编写程序的可读、简洁性采用C语言进行编程。Arduino单片机采用了定时方式进行数据接收,即每隔1秒向DHT11温湿度传感器发送采样信号,同时DHT11将采集到的数据通过单线串口接口将数据传送到单片机中,然后将数据存储到单片机内部存储器中等待蓝牙模块通过无线方式发送。

连接到Arduino单片机的蓝牙模块通过串口方式将单片机内部存储器中的数据取出,然后按照设定好的通讯方式向上位机发送温湿度数据。

3.1上位机软件设计

上位机系统采用现在图形编程比较广泛的C#语言进行编写,C#是一种安全的、稳定的、简单的编程语言,它是由C和C++衍生出来的一种面向对象编程语言。它继承了C和C++的功能的同时去掉了他们的复杂性。同时C#编程语言结合了VB编程语言的可视化图形界面和C++语言的高效运行效率。首先系统进行初始化,建立蓝牙连接,如果连接不成功则进行重新建立连接。连接成功后开始进行数据接收,如果无法接收数据或数据接收失败,重新开始数据接收,直到数据可以成功接收。

由于经过蓝牙无线模块传输给上位机的信息是同串口进行数据通信的,所以在上位机中要设置接收串口号,波特率,校验位,数据位和停止位。点击开始接收系统会自动每5秒会接收一次信息。如果需要进行手动采集可以直接点击手动采集进行自动与手动之间的切换。采集到的信息会显示在右侧框中,格式分别是时间,温度,湿度。

如果需要对采集到的数据进行保存方便以后的分析整理可以点击保存数据,此时系统会自动将数据保存为TXT格式的文件。

总结

本文主要是设计与实现基于蓝牙的无线温湿度采集系统。通过蓝牙无线通信方式,把采集到的数据发送到上位机采集系统中,采集系统负责对数据的接收处理、信息提取、保存。考虑到实际应用中的通讯特点,文中的通讯方式采用了蓝牙无线通讯与串口通讯相结合的方式。分别对蓝牙通信的建立和实现、串口通信实现方式进行了简单介绍。上位机软件设计采用了C#语言进行编程实现了系统的初始化,建立蓝牙通讯,数据接收等进程管理。实验结果表明,该系统硬件设计可靠性强,实用性强,软件设计简单方便进行二次开发,可以满足不同情况下的数据采集和通讯要求。

以上就是我们深圳市组创微电子有限公司为您介绍的基于蓝牙的无线温湿度采集系统的设计与分析。如果您有蓝牙产品设计开发需求,可以放心交给我们,我们有丰富的智能电子产品定制开发经验,可以尽快评估开发周期与IC价格,也可以核算PCBA报价。我们是多家国内外芯片代理商:松翰、应广、杰理、安凯、全志、realtek,有MCU、语音IC、BLE蓝牙IC、双模蓝牙模块、wifi模块。我们的拥有硬件设计与软件开发能力。涵盖了电路设计、PCB设计、单片机开发、软件定制开发、APP定制开发、微信公众号开发、语音识别技术、蓝牙开发、wifi技术等。还可以承接智能电子产品研发、家用电器方案设计、美容仪器开发、物联网应用开发、智能家居方案设计、TWS耳机开发、蓝牙耳机音箱开发、儿童玩具方案开发、电子教育产品研发。

注:部分图片内容来源于网络,如有侵权,请联系删除。

  • 返回顶部