基于物联网的信息采集系统室内温湿度检测优质参考文档格式.docx
《基于物联网的信息采集系统室内温湿度检测优质参考文档格式.docx》由会员分享,可在线阅读,更多相关《基于物联网的信息采集系统室内温湿度检测优质参考文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
温度传感器将被测点的温度采集后输出的模拟信号逐步送往放大电路、低通滤波器以及A/D转换器(即信号调理电路),然后再单片机的控制下将A/D转换器输出的数字信号传送到无线收发芯片中,并通过芯片的调制处理后由芯片内部的天线发送到上位机机监测软件上,在上位机模块上,发来的数据由单片机控制的无线收发芯片接收并解调,最后通过接口芯片发送到PC机中进行显示和处理。
温度传感器被用在终端节点上,当上电后,温度传感器就是能够获取环境中某个地方温度的敏感元器件,它可以将环境中的温度或者是与温度相关的参量信息转换成电信号,我们可以根据这些电信号的强弱来识别被测点在环境中的温度数据。
二、系统方案设计
1、系统分析
湿度传感器和温度传感器采集到数据后,通过给RS232串口增加无线传输功能,替代设备电缆线进行无线传输,无线温度采集系统改变了传统有线的数据采集系统搭建布线困难,监测区域受限等诸多不足。
要求设计的短距离无线通信系统具有功耗少,性价比高,系统维护快捷方便,而且通过在传感器模块上添加FLASH存储设备,使得数据采集工作能够摆脱对监测过程网络辐射范围的限制,可应用到许多的场合更好的改善采集工作的便捷行。
通过与其他通信技术(如GSM/GPRS)的无缝接合,能够实现采集数据的远程传输,满足对数据采集区域的远程监控串口传输设计为双向全双工,无硬件流控制,强制允许OTA(多条)时间和丢包重传。
2、系统方案设计
方案一:
飞思卡尔公司(Freescale)的MC13193芯片搭载了满足IEEE802.15.4标准的射频信号传输与接收的调制解调设备。
这类功能完善的双向2.4GHz频段的收发设备能够融合到ZigBee技术之中。
MC13193包含低噪放大器,10mW的功率增强器,压控振荡器,电源供应调节模块,所有频段编码和解码模块,包括可以转换和控制数据的发送与接收串行外围接口(SPI)中断请求输出。
采用O-QPSK的调制方式,最大传输速率为250kb/s。
搭配高性能的微处理器一起使用,MC13193可以提供低成本且高效率的短距离数据传输解决方案。
MC13193和MCU两者采用串行外围接口(SPI)连接,因此可以保证飞思卡尔庞大产品系列中的任意一款MCU都能与之匹配使用。
方案二:
选择TI公司的2.4GHz片上系统解决方案CC2530,CC2530是用于IEEES02.15.4、Zigbee和RF4CE应用的一个片上系统解决方案,它能以较低的总成本建立强大的网络节点。
CC2530结合了先进的RF收发器性能,业界标准的增强型8051内核,使操作更容易,具备不同的运行模式,尤其适用于低功耗的系统需求。
3、系统方案选择
通过对比以上两种方案开发的难易程度、开发周期和现有的实验环境我们选择方案二。
无线温度采集系统改变了传统有线的数据采集系统搭建布线困难,监测区域受限等诸多不足。
ZigBee这种新兴的短距离无线通信系统具有功耗少,性价比高,系统维护快捷方便,而且通过在传感器模块上添加FLASH存储设备,使得数据采集工作能够摆脱对监测过程网络辐射范围的限制[2],可应用到许多的场合更好的改善采集工作的便捷行。
通过与其他通信技术(如GSM/GPRS)的无缝接合,能够实现采集数据的远程传输,满足对数据采集区域的远程监控。
一般以ZigBee技术为核心的无线温度采集系统的工作过程为:
协调器节点首先应搭建网络,等待各自终端采集节点的入网请求;
终端节点经过验证加入网络后,把温度传感器采集到的数据通过无线网络上传传输给协调器节点;
协调器节点接收到数据包后,进行数据包解析,并通过串口将温度信息以及子节点地址等有效信息存储并显示在监控界面上。
三总体设计
本实验将使用CC2530读取温湿度传感器SHT10的温度和湿度数据,并通过CC2530内部的ADC得到光照传感器的数据。
最后将采样到的数据转换然后在LCD上显示。
其中对温湿度的读取是利用CC2530的I/O(P1.0和P1.1)模拟一个类IIC的过程。
其中该系统所使用的SHT10是一款高度集成的温湿度传感器芯片,提供全标定的数字输出。
它采用专利的CMOSens技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件,并在同一芯片上,与14位的A/D转换器以及串行接口电路实现无缝连接。
3.1
SHT10引脚特性
SHT10是一款高度集成的温湿度传感器芯片,
提供全标定的数字输出。
它采用专利的CMOSens
技术,确保产品具有极高的可靠性与卓越的长期稳定性。
SHT10引脚特性如下:
(1)VDD,GND
SHT10的供电电压为2.4~5.5V。
传感器上电后,要等待11ms以越过“休眠”状态。
在此期间无需发送任何指令。
电源引脚(VDD,GND)之间可增加一个100nF的电容,用以去耦滤波。
(2)SCK
用于微处理器与SHT10之间的通讯同步。
由于接口包含了完全静态逻辑,因而不存在最小SCK频率。
(3)DATA三态门用于数据的读取。
DATA在SCK时钟下降沿之后改变状态,并仅在SCK时钟上升沿有效。
数据传输期间,在SCK时钟高电平时,DATA必须保持稳定。
为避免信号冲突,微处理器应驱动
DATA
在低电平。
需要一个外部的上拉电阻(例如:
10kΩ)将信号提拉至高电平。
上拉电阻通常已包含在微处理器的I/O电路中。
1、向SHT10发送命令:
用一组“启动传输”时序,来表示数据传输的初始化。
它包括:
当SCK时钟高电平时DATA翻转为低电平,紧接着SCK变为低电平,随后是在SCK时钟高电平时DATA翻转为高电平。
后续命令包含三个地址位(目前只支持“000”),和五个命令位。
SHT10会以下述方式表示已正确地接收到指令:
在第8
个
SCK
时钟的下降沿之后,将
拉为电平(ACK
位)。
在第
9
时钟的下降沿之后,释放
DATA(恢复高电平)。
2、测量时序(RH
和
T):
发布一组测量命令(‘00000101’表示相对湿度
RH,‘00000011’表示温度
T)后,控制器要等待测量结束。
这个过程需要大约
11/55/210ms,分别对应8/12/14bit
测量。
确切的时间随内部晶振速度,最多有±
15%变化。
SHTxx
通过下拉
至低电平并进入空闲模式,表示测量的结束。
控制器在再次触发
时钟前,必须等待这个“数据备妥”信号来读出数据。
检测数据可以先被存储,这样控制器可以继续执行其它任务在需要时再读出数据。
接着传输2
个字节的测量数据和1
个字节的CRC
奇偶校验。
uC
需要通过下拉DATA
为低电平,以确认每个字节。
所有的数据从
MSB
开始,右值有效(例如:
对于
12bit
数据,从第
5
个SCK
时钟起算作
MSB;
而对于
8bit
数据,
首字节则无意义)。
用
CRC
数据的确认位,表明通讯结束。
如果不使用
CRC-8
校验,控制器可以在测量值
LSB
后,通过保持确认位
ack
高电平,
来中止通讯。
在测量和通讯结束后,SHTxx
自动转入休眠模式。
3、通讯复位时序:
如果与
通讯中断,下列信号时序可以复位串口:
当
保持高电平时,触发SCK
时钟
次或更多。
在下一次指令前,发送一个“传输启动”时序。
这些时序只复位串口,状态寄存器内容仍然保留.
3.2
温湿度传感器模块
温湿度探头直接使用
IIC
接口进行控制,光敏探头经运放处理后输出电压信号到
AD
输入。
接口将同时连接
EEPROM
以及温湿度传感器两个设备,将采用使用不同的
IIC设备地址的方式进行区分。
其电路原理图如下所示:
图
(1)温湿度传感器模块原理图
使用
10~12bit
的
采集器进行光敏信号采集,使用专用温湿度传感器
(IIC
接口)进行温湿度信号采集。
一次采样使用
2
字节描述,MSB
方式,温湿度及光电传感器模块输出数据结构如下:
仅采集温度信息温度数据高字节,温度数据低字节。
仅采集湿度信息湿度数据高字节,湿度数据低字节。
采集全部信息温度数据高字节,温度数据低字节,湿度数据高字节,湿度数据低字节。
注意:
本指令一次测量,最多只上传
1
次采集数据,不支持连续采集数据上传。
3.3
CC2530串口通信原理
UART接口可以使用2线或者含有引脚RXD、TXD、可选RTS和CTS的4线。
UART操作由USART控制和状态寄存器UxCSR以及UART
控制寄存器UxUCR来控制。
这里的x是USART的编号,其数值为0或者1。
当UxCSR.MODE设置为1时,就选择了UART模式。
USART
收/发数据缓冲器、寄存器
UxBUF
写入数据时,该字节发送到输出引脚
TXDx。
寄存器是双缓冲的。
当字节传输开始时,UxCSR.ACTIVE位变为高电平,而当字节传送结束时为低。
当传送结束时,UxCSR.TX_BYTE位设置为
1.当USART收/发数据缓冲寄存器就绪,准备接收新的发送数据时,就产生了一个中断请求。
该中断在传送开始之后立刻发生,因此,当字节正在发送时,新的字节能够装入数据缓冲器。
当1写入UxCSR.RE位时,在UART上数据接收就开始了。
然后UART会在输入引脚TXDx中寻找有效起始位,并且设置UxCSR.ACTIVE位为
1.当检测出有效起始位时,收到的字节就传入到接收寄存器,UxCSR.RX_BYTE位设置为
1.该操作完成时,产生接收中断。
同时UxCSR.ACTIVE
变为低电平。
通过寄存器UxBUF提供到的数据字节。
当UxBUF读出时,UxCSR.RX_BYTE位由硬件清
0。
3.4
ZigBee无线传感器网络通信标准
ZigBee技术是一种短距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术或无线网络技术,是一组基于IEEE
802.15.4无线标准研制开发的有关组网、安全和应用软件方面的通信技术。
ZigBee协议规范使用了IEEE
802.15.4定义的物理层(PHY)和媒体介质访问层(MAC),并在此基础上定义了网络层(NWK)和应用层(APL)架构。
四、详细设计
本设计是基于CC2530的温湿度数据采集系统设计。
因此,其重点是温湿度数据采集设计的实现,主要可分为二大部分,一是实现无线传感的硬件模块;
二是实现无线传感的软件支持,也就是Zigbee协议框架的编程。
实现湿度数据采集的硬件部分主要包括:
无线传感器通信模块、无线传感基本结构实现原理、本设计所使用的试验箱以及软件支持、常见的无线传感模块以及实现基于CC2530的温湿度采集系统节点模块设计。
实现温湿度数据采集的软件部分主要包括:
Zigbee协议栈整体构架,Zigbee协议栈网络层。
4.1实现温湿度数据采集的硬件部分
物联网温湿度采集系统的硬件部分可以大体有无线传感基本结构、无线传感实现原理、本设计所使用的试验箱以及软件支持、常见的无线传感模块以及实现基于CC2530的温湿度采集系统节点模块设计等组成。
其具体内容如下:
1、无线传感器通信模块
无线节点模块:
主要由射频单片机构成,MCU是TI的CC2530,2.4G载频,棒状天线。
传感及控制模块:
系列传感及控制模块,包括温度传感模块、湿度传感模块、继电器模块和RS232模块等,也可以通过总线扩展用户自己的传感器及控制器部件。
电源板或智能主板:
即实现无线节点模块与传感及控制模块的连接,又实现系统供电,目前主要两节电池供电,保留外接电源接口,可以直接由直流电源供电。
2、无线传感基本结构及实现原理
无线传感器网络在设计目标方面是以数据为中心的,在无线传感器网络中,因为节点通常运行在人无法接近的恶劣甚至危险的远程环境中,所以除了少数节点也要移动外,大部分节点是静止不动的。
在被检测区域内,节点任意散落,节点除了需要完成感测特定的对象外,还需要进行简单的计算,维持互相之间的网络连接等功能。
并且由于能源的无法替代以及低功耗的多跳通信模式,设计无线传感节点时,有效的延长网络的生命周期以及节点的低功耗成为无线传感器网络研究的核心问题。
无线传感网络的建立是基于传感器加无线传输模块的,传感器采集的数据,简单处理后经过无线传输模块传到服务器或应用终端。
目标,观测节点,传感节点和感知视场是无线传感器网络所包括的4个基本实体对象。
大量传感节点随机部署,单个节点进过初始的通信和协议,通过自组织方式自行配置,形成一个传输信息的单跳链接或一系列无线网络节点组成的网络,协同形成对目标的感知视场。
传感节点检测的目标信号经过传感器本地简单处理后通过单播或广播以多跳的方式通过邻近传感节点传输到观测节点。
用户和远程任务管理单元则能够通过卫星通信网络或Inteernet等外部网络,与观测节点进行数据信息的交互。
观测节点向网络发布查询请求和控制指令,接受传感节点返回的目标信息。
3、使用的试验箱以及软件支持
物联网创新试验系统IOV-T-2530采用系列传感器模块和无线节点模块组成无线传感网,扩展嵌入式网关实现广域访问,可实现多种物联网构架,完成物联网相关的各种传感器的信息采集、无线信号收发、Zigbee网络通讯,组件控制全过程。
该工具提供了无线传感网通信模块,基本的传感器及控制器模块、嵌入式网关、计算机服务器参考软件等。
4、实现温湿度采集系统节点模块设计
实验系统包含4个无线传感网通信节点和一个无线网络协调器,其中具体情况如下:
主要有射频单片机构成,MCU是TI的CC2530,2.4G载频,棒状天线传感器及控制模块:
包括温湿度传感器模块,继电器模块和RS232模块等,也可以通过总线扩展用户自己的传感器及控制部件。
即实现无线节点模块与传感器及控制模块的连接,又实现系统供电。
其整体框图模块如下:
图
(2)温湿度采集模块
4.2实现温湿度采集的软件部分
实现温湿度数据的采集的软件部分主要有Zig
Bee
技术概述,协议栈整体架构,Zig
Bee协议栈网络层,AODV路由协议等几部分组成。
而Zig
Bee协议层主要包括:
网络层概述,网络层所实现的功能,网络层中常用的路由协议。
AODV路由协议主要包括:
协议概述,协议的基本原理,AODV路由协议消息控制帧。
以下将是温湿度采集的软件部分各部分的集体介绍:
1、ZigBee技术概述
ZigBee技术的使用与发展很大程度上弥补了无线通信市场上低功耗,低成本,低速率的空缺。
同时随着ZigBee技术的深入发展和应用,越来越多的注意力和研究力量将会转到应用的设计,实现互联互通测试和市场的推广等方面。
ZigBee技术的关键是发展是一种易布建,低成本,低功耗的无线网络。
ZigBee技术的应用前景非常好。
Zig
Bee在未来的几十年里将在工业无线定位,工业控制,消费电子,汽车自动化,家庭网络,医用设备控制等多个控制领域具有广泛的应用,特别是工业控制和家庭自动化,将会成为今后ZigBee芯片的主要领域。
通常符合以下条件之一的应用,都可以采用此技术。
(1)网络多:
需要数据采集或监控的网络多。
(2)低传输量:
要求传输的数据量不大且要求数据成本低。
(3)可靠性高:
要求数据传输可靠性,安全性高。
(4)体积小:
设备体积很小,体积较大的充电电池或者电源模块不方便放置’
(5)电池供电。
(6)覆盖量大:
所需检测点多,地形复杂,需要较大的网络覆盖面积。
(7)现有移动网络的覆盖盲区。
(8)遥测,遥控系统:
使用先从移动网络进行的地数据量传输。
(9)局部区域移动口标的定位系统:
使用GPS效果差,成本高,ZigBee无线传感网是基于IEEE802.15.4技术标准和ZigBee网络协议而设计的无线传输数据网络,该网络主要应用在压力过程控制数据采集,流量过程数据采集,温湿度监控,工业控制,数据中心,社区安防,设备监控,环境数据监控,制冷监控,仓库货物监控等方面。
使用与蔬菜大棚温度,湿度和土壤酸碱度的监控,钢铁冶炼温度控制,煤气抄表等各个领域。
这种网络主要用于无线系统中短距离的链接,提供传感网络接入,能够满足各种传感器的数据输出和输入控制的命令和信息的需求,实现系统网络化,无线化。
ZigBee技术是一种应用与各种电子设备之间的无线通信技术,这种通信网络是基于中短距离范围内,低传输速率下的,根据ZigBee技术的本质,它具有下列特性:
低功耗,高速扩展,可靠性等。
2、ZigBee协议栈网络层
ZigBee协议栈网络层必须提供一定的功能,其主要是提供一些必要的函数,以保证IEEEE802.15.4_2003ZigBee协议栈的MAC层能够正确操作,正常工作,并且为应用层提供一个合适的服务接口。
为了和应用层通信,必须向其提供接口,网络层的概念包括了两个必要的功能服务实体。
她们分别为数据服务和管理服务实体。
网络层数据实体通过网络层相关的数据库服务接网络层入点提供络层网络管理服务,网络层管理实体利用网络层数据实体来获得一些网络管理任务,并完成一些网络的管理工作。
并且网络层的管理实体还维护一个管理对象的数据库,叫做网络信息库,网络层管理实体完成对网络信息库的维护和管理。
4.3总体结构流程
总体结构软件图(3)
代码清单:
函数名称:
initUART
*
功能描述:
CC2530
串口初始化
void
initUART(void)
{
PERCFG
=
0x00;
//位置
P0
口
P0SEL
0x3c;
//P0用作串口
U0CSR|=
0x80;
//UART方式
U0GCR
|=
11;
//baud_e
U0BAUD
216;
//波特率设为
115200
UTX0IF
1;
U0CSR
0X40;
//允许接收
IEN0
0x84;
//uart0接收中断
}
UartTX_Send_String
串口发送数据函数
参
数:
*Data
---
发送数据指针
len
发送的数据长度
返
回
值:
无
UartTX_Send_String(UINT8
*Data,int
len)
int
j;
for(j=0;
j<
len;
j++)
U0DBUF
Data++;
while(UTX0IF
==
0);
0;
}
HAL_ISR_FUNCTION
串口接收数据中断函数
halUart0RxIsr
中断名称
URX0_VECTOR
中断向量
HAL_ISR_FUNCTION(
halUart0RxIsr,
)
UINT8
temp;
URX0IF
temp
U0DBUF;
(str
+
count)
count++;
}
main
串口间歇发送数据,当串口接收到数据后,再通过串口
回发出去。
main()
*uartch
UartTX;
SET_MAIN_CLOCK_SOURCE(CRYSTAL);
//设置主时钟为
32M
晶振
initUART();
//初始化串口
while
(1)
UartTX_Send_String(uartch,17);
//发送数据
halWait(200);
if(count)
//判断串口是否接收到数据
count;