基于物联网的信息采集系统时蔬大棚检测.docx
《基于物联网的信息采集系统时蔬大棚检测.docx》由会员分享,可在线阅读,更多相关《基于物联网的信息采集系统时蔬大棚检测.docx(36页珍藏版)》请在冰豆网上搜索。
基于物联网的信息采集系统时蔬大棚检测
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2014年春季学期
物联网综合应用实践课程设计
题目:
基于物联网的信息采集系统(时蔬大棚检测)
姓名:
学号:
指导教师:
成绩:
摘要
在现在工农业生产过程当中以及近几年来气候的多变性,使人们日常生活和工农业生产都受到很大的影响,因此温湿度采集已经成为了一个很重要的方面,关系到现代工农业生产的顺利进行,关系到人们的日常生活的健康出行。
因此,对温湿度的采集变得越来越重要。
而传统的人工控制不仅需要浪费大量人力,而且存在不精确性,设计了基于物联网的温湿度采集系统之后,会给人们带来很多方便。
本系统通过CC2530芯片上的温湿度传感器进行温湿度的采集,然后将采集到的信息通过串口通信上传到PC机上进行显示,然后可以做一些后期的监控处理。
在大力提倡节能减排以及追求高质量生活的今天,冬季供暖系统存在的不足日益显现出来。
我国北方城市大部分采用集中供暖,在整个供暖期内,无论室内有人与无人,系统全天连续供暖;系统热能的输送是不变的,不能根据室内外温度的变化以及个人对室温的不同要求做出相应的调整。
这就造成了热能的严重浪费以及供暖不人性化等问题通过本系统可以检测到室内温度的变化,从而进行的调节,来提高人们的生活质量。
关键词:
信息采集、Zigbee协议、串口通信
目录
第一章前言1
1.1大棚温湿度采集系统设计的背景1
1.1大棚温湿度采集系统设计的重要性1
第二章大棚温湿度采集系统涉及的理论基础2
1.1ZigBee协议2
1.2Zigbee设备5
1.3Zigbee网络的拓扑结构5
1.4Z-Stack协议栈体系结构6
第三章大棚温湿度采集的基本原理9
3.1温度采集系统的基本原理概述9
3.2温湿度传感器的工作原理10
3.3CC2530串口通信10
第四章大棚温湿度采集的硬件设计11
4.1温湿度传感模块的片上系统CC2530概述11
4.2温湿度传感器SHT1013
4.3RS232模块14
4.4硬件总体框图15
第五章大棚温湿度采集的软件设计15
5.1主程序流程图15
5.2温湿度采集模块的流程图17
5.3LCD模块流程图18
5.4节点数据采集算法流程图19
第六章总结20
参考文献21
致谢22
附录1
第一章前言
1.1大棚温湿度采集系统设计的背景
无线传感器网络可以包含各种各样的传感器节点,这些节点可以实现对温度、湿度、运动、光照、压力、声音等参数进行监测。
因此无线传感器网络有着十分广泛的应用前景,除了能在传统工农业生产等领域发挥其作用,还能利用在未来的新兴领域上。
现在我国正在大力发展物联网,物联网是一个极其庞大的网络,涉及的范围横跨各个领域,其实质就是让所有的尸体资源通过网络连接起来,实现物理和虚拟超级智能化的应用。
这是一个让人充满期待的美好未来,而要实现这个美好的梦,就要脚踏实地地从基础做起。
传感器网络是构建物联网最基础的条件之一,传感器作为感知的最前端,对信号进行探测和搜集,之后通过各种优先和无线的通信方式进行设备之间的通信交互。
所以在物联网正在慢慢兴起的时代,无线传感网的相关技术一定会越来越受到人们的肯定,相信以后无线传感器网络一定会给我们更多的价值。
因此推动了物联网更加快速的发展,因此现在人们也实现了很多基于物联网的各种演示系统,比如基于物联网的温湿度采集系统的设计等。
1.1大棚温湿度采集系统设计的重要性
在科技不断发展的今天,环境条件的温湿度指标是成为许多工作场合的重要参数,尤其是室内环境中的温湿度,温度和湿度的变化直接影响着人们的日程生活。
温湿度的过高或过低都会影响室内事物的变化,所以有必要测量和控制室内的温湿度,不同的室内环境对温湿度的要求各不相同。
本设计是一种基于CC2530和数字温湿度传感器的温湿度采集系统。
即该系统是采用ZigBee无线通信技术结合传感器,并通过运用ZigBee协议构架组建无线传感网络,来实现主从节点的数据采集和传输的,同时,需要在网络层通过AODV路由协议来进行节点间的连接以及数据的收发。
总之,基于无线传感技术的无线网络传感器是一种将传感器、控制器、计算能力、通信能力完美的结合于一身的嵌入式设备。
它们跟外界的物理环境交互,适时地采集信息,并且将采集到的信息通过无线传感网络传送给远程用户。
无线网络传感器一般是由一个低功耗的微控制器(MCU)和若干个存储器,无线电/光通信装置、传感器等组件所集成的,通过传感器及通信装置和它们所处的外界物理环境进行交互。
由此而引入的无线传感网络更是一种开创了新的应用领域的新兴概念和技术,广泛被应用与医疗领域、大规模环境监测、智能建筑、战场监视、智能家居、工业自动化和大区域内的目标追踪等领域。
所以说不管是工业,农业,军事及气象预报领域,还是人类生活的环境都需要对温度和湿度的环境进行测量和控制。
因而,研制可靠且使用的温湿度测量装置显得非常重要。
尤其是要实现大环境中的温湿度测量和自动控制,采用有线网络的方案难以实现,本文提出采用基于ZigBee技术的无线温湿度测量与传输的方案,通过无线通信模块实现温湿度传感器和智能主板之间的交互,实现对网络采集的数据统一管理和分析。
该系统具有快速展开,稳定可靠,可维护性好的特点。
总的来说,我们的工作及生活在无形的改变着,变得更精致更高效更美丽。
而这无形中进行着的神奇改变的关键莫过于高端的技术—嵌入式系统开发技术及无线技术。
第二章大棚温湿度采集系统涉及的理论基础
1.1ZigBee协议
Zigbee协议时由Zigbee联盟在2005年开始公布的802.15.4协议规范。
Zigbee协议体系结构由一组称为“层”的模块构建。
每一层提供相应的服务,这样层和层之间协同合作,就构成了Zigbee协议的整体结构。
ZigBee协议的体系结构如下图所示:
Zigbee协议主要分为4层,分别为物理层、媒体介入控制层、网络层和应用层。
物理层定义了物理无线信道和MAC子层之间的接口,提供物理层数据服务和物理层管理服务。
物理层内容:
1)ZigBee的激活;
2)当前信道的能量检测;
3)接收链路服务质量信息;
4)ZigBee信道接入方式;
5)信道频率选择;
6)数据传输和接收。
介质接入控制子层(MAC)
MAC层负责处理所有的物理无线信道访问,并产生网络信号、同步信号;支持PAN连接和分离,提供两个对等MAC实体之间可靠的链路。
MAC层功能:
1)网络协调器产生信标;
2)与信标同步;
3)支持PAN(个域网)链路的建立和断开;
4)为设备的安全性提供支持;
5)信道接入方式采用免冲突载波检测多址接入(CSMA-CA)机制;
6)处理和维护保护时隙(GTS)机制;
7)在两个对等的MAC实体之间提供一个可靠的通信链路。
网络层(NWK)
ZigBee协议栈的核心部分在网络层。
网络层主要实现节点加入或离开网络、接收
接收或抛弃其他节点、路由查找及传送数据等功能。
网络层功能:
1)网络发现;
2)网络形成;
3)允许设备连接;
4)路由器初始化;
5)设备同网络连接;
6)直接将设备同网络连接;
7)断开网络连接;
8)重新复位设备;
9)接收机同步;
10)信息库维护。
应用层(APL)
ZigBee应用层框架包括应用支持层(APS)、ZigBee设备对象(ZDO)和制造商所定义的应用对象。
应用支持层的功能包括:
维持绑定表、在绑定的设备之间传送消息。
ZigBee设备对象的功能包括:
定义设备在网络中的角色(如ZigBee协调器和终端设备),发起和响应绑定请求,在网络设备之间建立安全机制。
ZigBee设备对象还负责发现网络中的设备,并且决定向他们提供何种应用服务。
ZigBee应用层除了提供一些必要函数以及为网络层提供合适的服务接口外,一个重要的功能是应用者可在这层定义自己的应用对象。
1.2Zigbee设备
Zigbee网络中的设备,从逻辑上分为协调器,路由器和终端设备,每一个Zigbee网络都必须有一个协调器,协调器负责组建Zigbee网络,并且维护Zigbee网络,存储相关的网络信息。
路由器作为网络中继设备,负责从其他设备传递数据。
而终端节点不能作为父节点存在,只能和其父节点进行连接,父节点可能是路由器,也可能是协调器。
1.3Zigbee网络的拓扑结构
ZigBee网络支持星状、树状和网状三种网络拓扑结构,如下图所示,分别依次是星状网络,树(簇)状网络和网状网络。
星型结构网状结构
树形结构
路由节点协调器节点终端节点
星状网络由一个PAN协调器和多个终端设备组成,只存在PAN协调器与终端的通讯,终端设备间的通讯都需通过PAN协调器的转发。
树状网络由一个协调器和一个或多个星状结构连接而成,设备除了能与自己的父节点或子节点进行点对点直接通讯外,其他只能通过树状路由完成消息传输。
网状网络是树状网络基础上实现的,与树状网络不同的是,它允许网络中所有具有路由功能的节点直接互连,由路由器中的路由表实现消息的网状路由。
该拓扑的优点是减少了消息延时,增强了可靠性,缺点是需要更多的存储空间开销。
1.4Z-Stack协议栈体系结构
Z-Stack协议栈是有IT公司开发的协议栈,遵循Zigbee2007/PRO规范,开发者可根据具体项目需要,在应用层做相应修改即可完成相应的功能,Z-Stack相对于其他开源协议栈而言,技术支持更加完善,框架体系更加成熟。
下面就Z-Stack协议栈的主要功能构架进行介绍。
1.4.1Zigbee网络的组建
在Zigbee网络中,只有一个设备能组建网络,他就是协调器。
在建立Zigbee网络过程中,都是通过原语来实现的。
首先,协调器上电启动后就开始进行初始化,然后扫描可用Zigbee网络,如果不存在Zigbee网络,则协调器调用原语请求建立网络,网络层收到这个原语之后,就让MAC层找到可用的信道,如果找到的可用信道,则分配一个网络号并注册到MAC层,然后把网络号发布出去,这就完成了Zigbee网络的组建。
1.4.2Zigbee网络的地址分配
ZigBee设备有两种类型的地址。
一种是64位IEEE地址,即MAC地址,另一种是16位网络地址。
64位地址使全球唯一的地址,设备将在它的生命周期中一直拥有它。
它通常由制造商或者被安装时设臵。
这些地址由IEEE来维护和分配。
16位网络地址是当设备加入网络后分配的。
它在网络中是唯一的,用来在网络中鉴别设备和发送数据。
ZigBee2006和ZigBee2007使用分布式寻址方案来分配网络地址。
这个方案保证在整个网络中所有分配的地址是唯一的。
这一点是必须的,因为这样才能保证一个特定的数据包能够发给它指定的设备,而不出现混乱。
同时,这个寻址算法本身的分布特性保证设备只能与他的父辈设备通讯来接受一个网络地址。
不需要整个网络范围内通讯的地址分配,这有助于网络的可测量性。
1.4.3Z_Stack寻址
为了向一个在ZigBee网络中的设备发送数据,应用程序通常使用AF_DataRequest()函数。
因为在Zigbee中,数据包可以单点传送(unicast),多点传送(multicast)或者广播传送,所以必须有地址模式参数。
一个单点传送数据包只发送给一个设备,多点传送数据包则要传送给一组设备,而广播数据包则要发送给整个网络的所有节点。
这个将在下面详细解释。
单点传送(Unicast)
Uicast是标准寻址模式,它将数据包发送给一个已经知道网络地址的网络设备。
将afAddrMode设臵为Addr16Bit并且在数据包中携带目标设备地址。
间接传送(Indirect)
当应用程序不知道数据包的目标设备在哪里的时候使用的模式。
将模式设臵为AddrNotPresent并且目标地址没有指定。
取代它的是从发送设备的栈的绑定表中查找目标设备。
这种特点称之为源绑定。
当数据向下发送到达栈中,从绑定表中查找并且使用该目标地址。
这样,数据包将被处理成为一个标准的单点传送数据包。
如果在绑定表中找到多个设备,则向每个设备都发送一个数据包的拷贝。
上一个版本的ZigBee(ZigBee2004),有一个选项可以讲绑定表保存在协调器(Coordinator)当中。
发送设备将数据包发送给协调器,协调器查找它栈中的绑定表,然后将数据发送给最终的目标设备。
这个附加的特性叫做协调器绑定(CoordinatorBinding)。
广播传送(broadcast)
当应用程序需要将数据包发送给网络的每一个设备时,使用这种模式。
地址模式设臵为AddrBroadcast。
目标地址可以设臵为下面广播地址的一种:
NWK_BROADCAST_SHORTADDR_DEVALL(0xFFFF)——数据包将被传送到网络上的所有设备,包括睡眠中的设备。
对于睡眠中的设备,数据包将被保留在其父亲节点直到查询到它,或者消息超时(NWK_INDIRECT_MSG_TIMEOUT在f8wConifg.cfg中)。
NWK_BROADCAST_SHORTADDR_DEVRXON(0xFFFD)——数据包将被传送到网络上的所有在空闲时打开接收的设备(RXONWHENIDLE),也就是说,除了睡眠中的所有设备。
NWK_BROADCAST_SHORTADDR_DEVZCZR(0xFFFC)——数据包发送给所有的路由器,包括协调器。
组寻址(GroupAddressing)
当应用程序需要将数据包发送给网络上的一组设备时,使用该模式。
地址模式设臵为afAddrGroup并且addr.shortAddr设臵为组ID。
在使用这个功能呢之前,必须在网络中定义组。
1.4.4任务调度
ZigBee协议栈中的每一层都有很多原语操作要执行,因此对于整个协议栈来说,就会有很多并发操作要执行。
协议栈中的每一层都设计了一个事件处理函数,用来处理与这一层操作相关的各种事件。
将这些事件处理函数看成是与协议栈每一层相对应的任务,由ZigBee协议栈中调度程序OSAL来进行管理。
这样,对于协议栈来说,无论何时发生了何种事件,我们都可以通过调度协议栈相应层的任务,即事件处理函数来进行处理。
这样,整个协议栈便会按照时间顺序有条不紊的运行。
第三章大棚温湿度采集的基本原理
3.1温度采集系统的基本原理概述
本温湿度采集系统使用CC2530读取温湿度传感器SHT10的温度和湿度数据,并通过CC2530内部的ADC得到光照传感器的数据。
最后将采样到的数据转换然后在LCD上显示。
其中对温湿度的读取是利用CC2530的I/O(P1.0和P1.1)模拟一个类IIC的过程。
其中该系统所使用的SHT10是一款高度集成的温湿度传感器芯片,提供全标定的数字输出。
它采用专利的CMOSens技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件,并在同一芯片上,与14位的A/D转换器以及串行接口电路实现无缝连接。
3.2温湿度传感器的工作原理
温湿度传感器中,传感节点将记录的温度值和电压值发送至采集节点,以便进行离线的分析和处理。
在一个网络中,通常只有一个采集节点用于接收传感节点的采集信息,并且将这些信息进行实时显示或继续发送至其他的节点进行处理。
为了增强网络的可靠性和负载平衡,网络中也可以设置多个采集节点,用于接收大量的传感节点的采集信息。
温湿度传感器实现一些基本功能:
1).自动建立一个网络;
2).传感节点能够自动发现采集节点,而且一旦加入网络后,能够自动与采集节点建立绑定。
3).传感节点能够周期性地向采集节点发送数据,并采用端到端确认的发送模式。
4).如果传感节点没有收到采集节点的确认消息,它将解除与该采集节点的绑定,然后,重新发现采集节点并与其建立绑定。
3.3CC2530串口通信
UART接口可以使用2线或者含有引脚RXD、TXD、可选RTS和CTS的4线。
UART操作由USART控制和状态寄存器UxCSR以及UART控制寄存器UxUCR来控制。
这里的x是USART的编号,其数值为0或者1。
当UxCSR.MODE设置为1时,就选择了UART模式。
当USART收/发数据缓冲器、寄存器UxBUF写入数据时,该字节发送到输出引脚TXDx。
UxBUF寄存器是双缓冲的。
当字节传输开始时,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。
第四章大棚温湿度采集的硬件设计
4.1温湿度传感模块的片上系统CC2530概述
ZigBee新一代SOC芯片CC2530是真正的片上系统解决方案,支持IEEE802.15.4标准/ZigBee/ZigBeeRF4CE和能源的应用。
拥有庞大的快闪记忆体多达256个字节,CC2530是理想ZigBee专业应用。
支持新RemoTI的ZigBeeRF4CE,这是业界首款符合ZigBeeRF4CE兼容的协议栈,和更大内存大小将允许芯片无线下载,支持系统编程。
此外,CC2530结合了一个完全集成的,高性能的RF收发器与一个8051微处理器,8kB的RAM,32/64/128/256KB闪存,以及其他强大的支持功能和外设。
CC2530提供了101dB的链路质量,优秀的接收器灵敏度和健壮的抗干扰性,四种供电模式,多种闪存尺寸,以及一套广泛的外设集——包括2个USART、12位ADC和21个通用GPIO,以及更多。
除了通过优秀的RF性能、选择性和业界标准增强8051MCU内核,支持一般的低功耗无线通信,CC2530还可以配备TI的一个标准兼容或专有的网络协议栈(RemoTI,Z-Stack,或SimpliciTI)来简化开发,使你更快的获得市场。
CC2530可以用于的应用包括远程控制、消费型电子、家庭控制、计量和智能能源、楼宇自动化、医疗以及更多领域。
引脚描述
CC2530采用40脚QFN封装,其引脚图如下:
引脚说明如下表所示:
名称
序号
特性
描述
AVDD1
28
Power(A)
连接2~3.6V模拟电压源
AVDD2
27
Power(A)
连接2~3.6V模拟电压源
AVDD3
24
Power(A)
连接2~3.6V模拟电压源
AVDD4
29
Power(A)
连接2~3.6V模拟电压源
AVDD5
21
Power(A)
连接2~3.6V模拟电压源
AVDD6
31
Power(A)
连接2~3.6V模拟电压源
DCOUPL
40
Power(D)
1.8V数字电源去耦,不使用外部电源供电
DVDD1
39
Power(D)
连接连接2~3.6V数字电压源
DVDD2
10
Power(D)
连接连接2~3.6V数字电压源
GND
41
Ground
连接地面
GND
1,2,3,4
Ground
接地
P0_0
19
数字I/O
端口0.0(ADC0)
P0_1
18
数字I/O
端口0.1(ADC1)
P0_2
17
数字I/O
端口0.2(ADC2/SPI0-MI/UART0-RX/SPI1-SS/UART1-CT/T1-0)
P0_3
16
数字I/O
端口0.3(ADC3/SPI0-MO/UART0-TX/SPI1-C/UART1-RT/T1-1)
P0_4
15
数字I/O
端口0.4(ADC4/SPI0-SS/UART0-CT/SPI1-MO/UART1-TX/T1-2)
P0_5
14
数字I/O
端口0.5(ADC5/SPI0-C/UART0-RT/SPI1-MI/UART1-RX)
P0_6
13
数字I/O
端口0.6(ADC6)
P0_7
12
数字I/O
端口0.7(ADC7)
P1_0
11
数字I/O
端口1.0(具有20mA驱动能力/T1-2)
P1_1
9
数字I/O
端口1.1(具有20mA驱动能力/T1-1)
P1_2
8
数字I/O
端口1.2(SPI0-SS/UART0-CT/T1-0)
P1_3
7
数字I/O
端口1.3(SPI0-C/UART0-RT/T3-0)
P1_4
6
数字I/O
端口1.4(SPI0-MI/UART0-RX/SPI1-SS/UART1-CT/T3-1)
P1_5
5
数字I/O
端口1.5(SPI0-MO/UART0-TX/SPI1-C/UART1-RT)
P1_6
38
数字I/O
端口1.6(SPI1-MO/UART1-TX/T3-0)
P1_7
37
数字I/O
端口1.7(SPI1-MI/UART1-RX/T3-1)
P2_0
36
数字I/O
端口2.0(T4-0)
P2_1
35
数字I/O
端口2.1(DD)
P2_2
34
数字I/O
端口2.2(DC)
P2_3
33
数字I/O
端口2.3(32.768kHzXOSC/T4-1)
P2_4
32
数字I/O
端口2.4(32.768kHzXOSC)
RBIAS
30
模拟I/O
参考电流的外部精密偏置电阻
RESET_N
20
数字O
复位,低电平有效
RF_N
26
射频I/O
差分射频端口
RF_P
25
射频I/O
差分射频端口
XOSC_Q1
22
模拟I/O
32MHz晶振引脚1
XOSC_Q2
23
模拟I/O
32MHz晶振引脚2
4.2温湿度传感器SHT10
温湿度传感器SHT10是一款超低功耗的高精度温湿度传感器。
它的温度采集精度可达0.5摄氏度,温度采集精度可达3%RH。
SHT11的工作电压为2.4V到5.5V,当通电之后,11毫秒SHT10传感器就会进入休眠状态,所以要在这个时间就会SHT10发送指令。
SHT10的能耗仅为1W到30W之间,它的能耗几乎可以忽略不计,SHT10通过双向两线串行数据接口和CC2530进行通信,大大节约了系统资源,简化了结构设计.温湿度传感器SHT10电路原理和硬件原理如图所示
电路图
硬件图
4.3RS232模块
该模块只能在电源板上使