ZigBee无线温度检测实验报告(模板)

合集下载

ZIGBEE综合实例无线温度检测

ZIGBEE综合实例无线温度检测

#define SAMPLEAPP_DEVICEID
#define SAMPLEAPP_FLAGS
0x0001
0 0
#define SAMPLEAPP_DEVICE_VERSION
#define SAMPLEAPP_MAX_CLUSTERS
4
#define SAMPLEAPP_PERIODIC_CLUSTERID 1
error+=s_measure((unsigned char*) &humi_val.i,&checksum,HUMI); //measure humidity error+=s_measure((unsigned char*) &temp_val.i,&checksum,TEMP); //measure temperature if(error) s_connectionreset(); //in case of an error: connection reset else {
终端和路由的编程
if((R_Buffer.packet_Struct.cmd[1] == 'W') && (R_Buffer.packet_Struct.cmd[2] == 'S')) { P1DIR |= 0x80; P0DIR |= 0x02; s_connectionreset();
error=0;
终端和路由的编程
SanpleApp.h
#ifndef SAMPLEAPP_H
#define SAMPLEAPP_H #include "ZComDef.h“
SanpleAppSlave.c
#define SampleAppTimingRFID #define SampleAppTimingBJ #define SampleAppTimingWait #define TASK_MASK 0x00 #define SET_WS 0x01 #define CLOSE_WS 0x02 0x1 0x2 0x4

基于ZigBee的无线温度检测系统

基于ZigBee的无线温度检测系统
京 航 空 航 天 大 学 出 版 社 ,2007 [2]瞿 雷 ,刘 盛 德 ,等.ZigBee 技 术 及 应 用 [M].北 京 :北 京 航 空 航 天 大 学
出 版 社 ,2007 [3]范 风 强 ,兰 婵 丽 ,等.单 片 机 语 言 C51 应 用 实 战 集 锦 [M].北 京 :电 子
无线测温装置主要可分为协调器和无线节点两大部分。 每 套装置一般只有 1 个协调器,包括微控制器及射频收发单元、无 线节点、电源模块及接口单元,如图 2 所示。
图 2 系统硬件构成图
54
基于 ZigBee 的无线温度检测系统
接口单元是为了方便射频模块和上位机的通信, 通常可采 用 RS-232 接口、USB 接口、以太网接口等,其中,RS-232 接口 是目前 PC 与通信工业中应用最广泛的一种串 行 接 口 。 本 文 使 用 RS-232 接 口 (是 USB 转 串 ),使 用 单 一 电 源 电 压 供 电 ,电 源 电压在 3.0~5.5V 范围内都可以正常工作。
在,并确定连接关系,组成结构化的网络;增加或者删除一个节
点,节点位置发生变动,节点发生故障等,网络都能够自我修复,
并对网络拓扑结构进行相应地调整,无需人工干预,保证整个系
统仍然能正常工作。
参考文献 [1]李 文 仲 ,段 朝 玉 ,等.ZigBee 无 线 网 络 技 术 入 门 与 实 战 [M].北 京 :北
在现代工农业生产中, 进行环境温度检测是必不可少的内 容。 目前, 很多场合的测温系统采用的还是传统的有线测温设 备,传统的多点分布式温度测量系统多采用有线传输方式,需要 在现场进行大量布线,这给系统的布设、维护和更新升级带来诸 多不便。 本文设计了一种基于无线射频技术的温度检测终端,它 以 RF(射 频)芯 片 CC2430 为 核 心 ,在 温 度 传 感 器 DS1820 的 配 合下,能够高效地完成对环境温度的无线检测,可以有效解决解 决复杂布线带来的不便。 1 无线温度检测系统原理

基于ZigBee的无线温度检测系统设计

基于ZigBee的无线温度检测系统设计

摘要传统的多点分布式温度检测系统多采用有线传输方式,然而随着分布式节点的不断增加,布线复杂程度和成本也急剧增加,给系统的设计,维护和升级带来了诸多困难。

ZigBee是一种崭新的近程无线网络通信技术,是为了满足小型廉价设备的无线联网和控制而制定的标准,主要适用于自动控制和远程控制领域,。

本设计基于ZigBee技术,采用CC2430作为温度检测系统芯片,应用2.4GHz ISM波段,满足低成本,低功耗的要求。

本设计首先介绍了课题研究的意义,ZigBee技术的应用范围以及ZigBee技的发展现状。

其次,详细介绍Zigbee技术低功耗、低成本以及网络容量大等特点和符合Zigbee通信协议的硬件开发平台CC2430。

最后,完成温度检测系统的硬件设计以及软件流程图的设计。

温度检测系统的硬件部分是以CC2430为控制核心,加上一些外围电路组成控制系统,包括A/D 转换电路、显示电路、USB接口转换电路等,实现对分散节点的温度采集,采集后的温度实时地显示。

本设计可以有效满足工农业检测过程中对多测点、移动性及便捷性等方面的要求,并且能够有效解决有线网络的布线难题和成本问题,具有十分广阔的应用前景。

软件部分主要是传感器,协调器等系统流程图的设计,详细描述整个系统的工作过程。

关键词:ZigBee;CC2430;无线传感器网络;温度采集AbstractTraditional multi-point distributed temperature detection system using wire transmission, with the distributed nodes increases ceaselessly, the wiring complexity and costs also increased dramatically, to system design, maintenance and upgrade brings a lot of difficulties.ZigBee is a new short-range wireless communication technology, in order to meet the needs of small cheap equipment wireless networking and control standards, mainly applicable to the field of automatic control and remote control,. The design is based on ZigBee technology, using CC2430 as the temperature detection system using 2.4GHz chip, ISM band, meet the low cost, low power requirements.This paper first introduces the significance of the research, the application of ZigBee technology and ZigBee technology and development status.Secondly, introduces Zigbee technology of low power consumption, low cost and network capacity is big wait for a characteristic and the communication protocol with the Zigbee hardware development platform CC2430.Finally, the completion of the temperature detection system hardware design and software flow diagram design. The temperature detection system hardware is part of the CC2430 as the control core, plussome peripheral circuits to form control system, including the A/D conversion circuit, display circuit, USB interface conversion circuit, the temperature detection, so as to realize temperature of various state monitoring and other functions. The software part is the main sensor, coordinator and the flow chart of the system design, detailed description of the working process of the system.Key words:ZigBee; CC2430; wireless sensor network; temperature acquisition目录摘要 (I)Abstract .............................. 错误!未定义书签。

Zigbee实验报告

Zigbee实验报告

一、Zigbee简介1.1 什么是ZigBeeZigBee是基于IEEE802.15.4标准的低功耗局域网协议。

ZigBee技术是一种短距离、低功耗的无线通信技术。

其特点是近距离、低复杂度、自组织、低功耗、低数据速率。

主要适合用于自动控制和远程控制领域,可以嵌入各种设备。

简而言之,ZigBee就是一种便宜的,低功耗的近距离无线组网通讯技术。

ZigBee是一种低速短距离传输的无线网络协议。

1.2 Zigbee协议栈ZigBee协议从下到上分别为物理层(PHY)、媒体访问控制层(MAC)、传输层(TL)、网络层(NWK)、应用层(APL)等。

其中物理层和媒体访问控制层遵循IEEE 802.15.4标准的规定。

1.3 Zigbee技术优势•数据传输速率低:10KB/秒~250KB /秒,专注于低传输应用•功耗低:在低功耗待机模式下,两节普通5号电池可使用6~24个月•成本低:ZigBee数据传输速率低,协议简单,所以大大降低了成本•网络容量大:网络可容纳65,000个设备•时延短:典型搜索设备时延为30ms,休眠激活时延为15ms,活动设备信道接入时延为15ms。

•网络的自组织、自愈能力强,通信可靠•数据安全:ZigBee提供了数据完整性检查和鉴权功能,采用AES-128加密算法(美国新加密算法,是目前最好的文本加密算法之一),各个应用可灵活确定其安全属性•工作频段灵活:使用频段为2.4GHz、868MHz(欧洲)和915MHz(美国),均为免执照(免费)的频段1.4 Zigbee应用条件•低功耗;•低成本;•较低的报文吞吐率;•需要支持大型网络接点的数量级;•对通信服务质量QoS要求不高(甚至无QoS);•需要可选择的安全等级(采用AES-128),•需要多方面的较复杂的网络拓扑结构应用;•要求高的网络自组织、自恢复能力。

二、CC2530实验及实验修改2.1 基础实验(1)实验要求:按键触发中断,DS18B20测外部温度,数据以一定格式传输到串口显示(2)程序代码:#include <stdio.h>#include"iocc2530.h"#include"ds18b20.h"#define uint unsigned int#define uchar unsigned char#define KEY1 P0_1 //定义按键为P01口控制//变量uchar Keyvalue=0; //定义变量记录按键动作uint KeyTouchtimes=0; //定义变量记录按键次数//函数声明void Delay(uint);//延时函数声明void Initial(void);//初始化函数声明void InitKey(void); //初始化按键函数声明uchar KeyScan(void); //按键扫描函数声明//字符串【DS18B20采集到的温度是:XXXXXXX】chardata[23]={0x44,0x53,0x31,0x38,0x42,0x32,0x30,0xB2,0xC9,0xBC,0xAF,0xB5,0xBD,0xB5,0xC4, 0xCE,0xC2,0xB6,0xC8,0xCA,0xC7,0xA3,0xBA};unsigned char temp; //定义温度缓冲//延时void Delay(uint n){uint i;for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);}//时钟初始化void InitialCLK() //系统初始化{CLKCONCMD = 0x80; //系统选择32M振荡器while(CLKCONSTA&0x40); //这里等待晶振稳定}//初始化按键为中断输入方式void InitKeyINT(void){P0INP |= 0x02; //上拉P0IEN |= 0X02; //P01设置为中断方式PICTL |= 0X01; //下降沿触发EA = 1; //使能总中断IEN1 |= 0X20; // P0设置为中断方式;P0IFG |= 0x00; //初始化中断标志位}//串口初始化设置void UartInitial(void){PERCFG = 0x00; //位置1 P0口P0SEL = 0x0c; //P0用作串口P2DIR &= ~0xc0; //P0优先作为UART0U0CSR |= 0x80; //串口设置为UART方式U0GCR |= 11;U0BAUD |= 216; //波特率设为115200U0CSR |= 0x40;UTX0IF = 0;}//串口输出字符void UartPutChar(unsigned char DataChar){U0DBUF = DataChar; //发送字符while(UTX0IF == 0); //等待发送完成UTX0IF = 0;}//串口发送字符串函数void UartPutString(char *Data,int len){int j;for(j=0;j<len;j++){U0DBUF = *Data++;//发送字符串while(UTX0IF == 0);UTX0IF = 0;}}//外部中断程序#pragma vector = P0INT_VECTOR__interrupt void P0_ISR(void){temp=ReadDs18B20(); //温度检测UartPutString(data,23); //串口输出字符串if(temp/10>0) //判断是否数据只有1位UartPutChar(temp/10+48); //十位UartPutChar(temp%10+48); //个位UartPutChar('\n'); //换行P0IFG = 0; //清中断标志P0IF = 0; //清中断标志}//主函数void main(){InitialCLK(); //初始化系统时钟UartInitial(); //串口初始化InitKeyINT(); //按键初始化P0SEL &= 0xbf; //DS18B20的io口初始化while(1){}}(3)实验效果:按键一下,串口传出一次“DS18B20采集到的温度是:xx”显示在串口调试助手软件显示屏上2.2 实验修改(1)实验要求:按键触发中断改成按键检测程序代码:#include <stdio.h>#include"iocc2530.h"#include"ds18b20.h"#define uint unsigned int#define uchar unsigned char#define KEY1 P0_1 //定义按键为P01口控制//变量uchar Keyvalue=0; //定义变量记录按键动作int Keytouchtimes=0;//定义变量记录按键次数//函数声明void Delay(uint);//延时函数声明void Initial(void);//初始化函数声明void InitKey(void); //初始化按键函数声明uchar KeyScan(void); //按键扫描函数声明//字符串【DS18B20采集到的温度是:XXXXXXX】chardata[23]={0x44,0x53,0x31,0x38,0x42,0x32,0x30,0xB2,0xC9,0xBC,0xAF,0xB5,0xBD,0xB5,0xC4,0xCE ,0xC2,0xB6,0xC8,0xCA,0xC7,0xA3,0xBA};unsigned char temp; //定义温度缓冲//延时void Delay(uint n){uint i;for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);}//时钟初始化void InitialCLK() //系统初始化{CLKCONCMD = 0x80; //系统选择32M振荡器while(CLKCONSTA&0x40); //这里等待晶振稳定}//按键初始化函数void InitKey(){P0SEL &= ~0X2; //设置P04为普通IO口P0DIR &= ~0X2; //按键在P04 口,设置为输入模式P0INP &= ~0x2; //打开P04上拉电阻,不影响}//串口初始化设置void UartInitial(void){PERCFG = 0x00; //位置1 P0口P0SEL = 0x0c; //P0用作串口P2DIR &= ~0xc0; //P0优先作为UART0U0CSR |= 0x80; //串口设置为UART方式U0GCR |= 11;U0BAUD |= 216; //波特率设为115200U0CSR |= 0x40;UTX0IF = 0;}//串口输出字符void UartPutChar(unsigned char DataChar){U0DBUF = DataChar; //发送字符while(UTX0IF == 0); //等待发送完成UTX0IF = 0;}//串口发送字符串函数void UartPutString(char *Data,int len){int j;for(j=0;j<len;j++){U0DBUF = *Data++;//发送字符串while(UTX0IF == 0);UTX0IF = 0;}}//按键检测函数uchar KeyScan(void){if(KEY1==0) //判断按键是否按下{Delayms(10); //延时很短一段时间if(KEY1==0) //再次判断按键情况{while(!KEY1); //松手检测return 1; //有按键按下}}return 0; //无按键按下}//主函数void main(){InitialCLK(); //初始化系统时钟UartInitial(); //串口初始化InitKeyINT(); //按键初始化P0SEL &= 0xbf; //DS18B20的io口初始化while(1){Keyvalue = KeyScan(); //读取按键动作if(Keyvalue==1){temp=ReadDs18B20(); //温度检测UartPutString(data,23); //串口输出字符串if(temp/10>0) //判断是否数据只有1位UartPutChar(temp/10+48); //十位UartPutChar(temp%10+48); //个位UartPutChar('\n'); //换行}Delay(100); //延时}}实验效果:按键一下,串口传出一次“DS18B20采集到的温度是:xx”显示在串口调试助手软件显示屏上(2)实验要求:去掉松手检测,观察效果程序代码:#include <stdio.h>#include"iocc2530.h"#include"ds18b20.h"#define uint unsigned int#define uchar unsigned char#define KEY1 P0_1 //定义按键为P01口控制//变量uchar Keyvalue=0; //定义变量记录按键动作int Keytouchtimes=0;//定义变量记录按键次数//函数声明void Delay(uint);//延时函数声明void Initial(void);//初始化函数声明void InitKey(void); //初始化按键函数声明uchar KeyScan(void); //按键扫描函数声明//字符串【DS18B20采集到的温度是:XXXXXXX】chardata[23]={0x44,0x53,0x31,0x38,0x42,0x32,0x30,0xB2,0xC9,0xBC,0xAF,0xB5,0xBD,0xB5,0xC4, 0xCE,0xC2,0xB6,0xC8,0xCA,0xC7,0xA3,0xBA};unsigned char temp; //定义温度缓冲//延时void Delay(uint n){uint i;for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);}//时钟初始化void InitialCLK() //系统初始化{CLKCONCMD = 0x80; //系统选择32M振荡器while(CLKCONSTA&0x40); //这里等待晶振稳定}//按键初始化函数void InitKey(){P0SEL &= ~0X2; //设置P04为普通IO口P0DIR &= ~0X2; //按键在P04 口,设置为输入模式P0INP &= ~0x2; //打开P04上拉电阻,不影响}//串口初始化设置void UartInitial(void){PERCFG = 0x00; //位置1 P0口P0SEL = 0x0c; //P0用作串口P2DIR &= ~0xc0; //P0优先作为UART0U0CSR |= 0x80; //串口设置为UART方式U0GCR |= 11;U0BAUD |= 216; //波特率设为115200U0CSR |= 0x40;UTX0IF = 0;}//串口输出字符void UartPutChar(unsigned char DataChar){U0DBUF = DataChar; //发送字符while(UTX0IF == 0); //等待发送完成UTX0IF = 0;}//串口发送字符串函数void UartPutString(char *Data,int len){int j;for(j=0;j<len;j++){U0DBUF = *Data++;//发送字符串while(UTX0IF == 0);UTX0IF = 0;}}//按键检测函数uchar KeyScan(void){if(KEY1 == 1) //高电平有效{Delay(100); //检测到按键if(KEY1 == 1){return(1);}}return(0);}//主函数void main(){InitialCLK(); //初始化系统时钟UartInitial(); //串口初始化InitKeyINT(); //按键初始化P0SEL &= 0xbf; //DS18B20的io口初始化while(1){Keyvalue = KeyScan(); //读取按键动作if(Keyvalue==1){temp=ReadDs18B20(); //温度检测UartPutString(data,23); //串口输出字符串if(temp/10>0) //判断是否数据只有1位UartPutChar(temp/10+48); //十位UartPutChar(temp%10+48); //个位UartPutChar('\n'); //换行}Delay(100); //延时}}实验效果:按键按下时,不断循环换行显示“DS18B20采集到的温度是:xx”,显示速度很快。

【优质】zigbee实验指导书-实用word文档 (19页)

【优质】zigbee实验指导书-实用word文档 (19页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==zigbee实验指导书篇一:zigbee实验无线传感网络设计-----基于手机(联想a698t)计算机科学与技术1205班0911120513孙斌1.手机中所包括的终端设备及传感器:手机操作系统为Android OS 4.0网络连接 GSM/TD-SCDMA/GPRS/EDGE支持频段:2G:GSM 900/1800/19003G:TD-SCDMA 201X-2025MHz支持WAPI兼容WIFI(802.11n) 电容触摸屏摄像头传感器类型为CMOS支持重力传感器支持光线传感器支持距离传感器电容触摸屏2.家庭环境智能监测系统设计家庭环境智能监测系统是智能家居系统中至关重要的一部分,一般包括温度、湿度、光线、火灾,.有毒气体等的监测。

通过获得的这些对象信息,用户可以多种方式感知家庭内部的环境信息并且对家庭进行相应的处理和控制。

当采集到的光强数据低于设定值时,用户可以通过软件调节灯光的强弱;当感知到的温度高于或低于人的舒适温度时,系统自动打空调;当家庭环境的湿度过低时,管理中心控制加湿器的打开;当家庭煤气发生泄漏或发火灾时候,烟雾传感器将感知数据发送给用户,实施报警。

家庭环境智能监测为用户提供了可靠、完善的居所环境信息,使得人们的生活更加舒适、高效、安全。

本系统设计特点如下:(1)提供全面的家庭环境真实信息,保证了家庭内部的安全。

(2)据弃了有线家庭环境监测系统铺设成本高,扩展性和维护性差的缺点。

(3)不受地理和空间限制,只要在网络覆盖范围内,就可以通过手机随时掌握家庭环境的最新信息。

图1家庭环境智能监测系统结构如图1所示,由家庭内部网络、家庭网关和外部网络三部分组成,各自功能如下:(1)家庭内部网络采用ZigBee无线技术实现内部网络的组建。

网络中主节点举起网络后,传感器节点以关联方式加入ZigBee网络,在每个传感器节点上都搭载了温度、湿度、光强和烟雾传感器以及LED灯。

无线温度检测_实验报告(3篇)

无线温度检测_实验报告(3篇)

第1篇一、实验目的1. 熟悉无线温度检测系统的基本原理和组成;2. 掌握无线温度传感器的使用方法和数据传输流程;3. 了解ZigBee协议栈在无线温度检测中的应用;4. 分析无线温度检测系统的性能指标和影响因素。

二、实验原理无线温度检测系统主要由温度传感器、无线通信模块、数据处理单元和上位机软件组成。

温度传感器用于检测环境温度,无线通信模块负责将温度数据传输到数据处理单元,数据处理单元对温度数据进行处理和分析,上位机软件负责数据显示、存储和报警等功能。

三、实验设备1. 无线温度传感器:型号为DHT11,用于检测环境温度;2. ZigBee模块:型号为XBee,用于无线通信;3. 单片机:型号为Arduino Uno,用于数据处理;4. 上位机软件:采用Python编程语言,利用matplotlib库进行数据显示;5. 连接线、电源等辅助设备。

四、实验步骤1. 连接设备:将温度传感器、ZigBee模块和单片机连接在一起,确保连接正确;2. 编写程序:在单片机上编写程序,实现温度数据的读取、无线传输和数据处理;3. 配置ZigBee模块:设置ZigBee模块的参数,如频道、数据速率等;4. 编写上位机程序:编写Python程序,实现数据显示、存储和报警等功能;5. 进行实验:将实验设备放置在待测环境中,启动实验,观察数据变化。

五、实验数据与分析1. 温度数据采集:在实验过程中,温度传感器实时采集环境温度数据,并通过无线通信模块传输到单片机;2. 数据处理:单片机对温度数据进行处理,包括滤波、转换等操作;3. 上位机显示:上位机软件将处理后的温度数据显示在图形界面上,方便观察和分析;4. 性能分析:通过实验数据,分析无线温度检测系统的性能指标,如响应时间、传输距离、抗干扰能力等。

六、实验结果与讨论1. 实验结果表明,无线温度检测系统能够稳定地采集和传输环境温度数据,满足实际应用需求;2. ZigBee模块在无线通信中表现出良好的性能,具有较远的传输距离和较强的抗干扰能力;3. 实验过程中,发现温度传感器在低功耗模式下响应时间较长,需要优化程序以提高响应速度;4. 在实际应用中,可根据需求选择合适的温度传感器和无线通信模块,以降低系统功耗和提高性能。

基于ZigBee技术的无线温度监测系统设计

基于ZigBee技术的无线温度监测系统设计

基于ZigBee技术的无线温度监测系统设计张盼;霍连松【摘要】为了解决在复杂环境下有线温度监测不灵活、成本高的缺点,设计了一套基于ZigBee的无线温度监测系统.系统选取TI公司的CC2530作为系统无线通信网络的核心芯片,温度采集模块采用传感器DS18B20测量温度数据,通过串口通信把采集的温度数据上传到上位机.通过系统中协调器和终端的软件设计实现网络组网.上位机实时接收温度数据,通过软件程序处理温度数据,将温度实时显示出来,实现温度监测.通过实验表明,该系统具有组网迅速、实时性强和易于开发等优点,为基于无线传感网络的温度监测应用和扩展提供了有价值的参考.【期刊名称】《传感器世界》【年(卷),期】2018(024)008【总页数】7页(P23-29)【关键词】ZigBee技术;CC2530;温度监测;DS18B20;上位机;软件【作者】张盼;霍连松【作者单位】北京信息科技大学自动化学院,北京 100192;北京信息科技大学自动化学院,北京 100192【正文语种】中文【中图分类】TP206.3一、引言温度监测系统在生活中有着广泛地应用,比如:温室大棚的温度监测、工厂车间的温度报警装置等等。

在一些特定环境中,温度监测环境范围大,测点距离远,传统的布线方式很不方便,这时就要采取无线方法对温度数据进行采集。

ZigBee协议作为一种全新的无线传感技术应运而生,它以配置快捷、节点耗电低、双向传送数据和控制命令等特点在其他无线通信协议中脱颖而出,成为了众多厂家的首选协议。

ZigBee可以在一定区域内进行监测,并将所收集的数据发送到中心节点,以便实现区域的监测、跟踪和遥控。

大量廉价的节点进行有机的组合,并按照一定的通信标准就构成了ZigBee无线网络,每个网络节点都具有自己的位置,发挥一定的作用。

ZigBee网络是大规模的、自组织的、多跳的,在整个网络中基本上设备是固定的,它们都彼此在一定的监测区域发挥着自己应有的作用,由于每个设备都处在末端,有时候会在一些恶劣的环境中,所以这些节点的工作时间要长 [1]。

基于ZigBee技术的温度数据采集监测系统的设计

基于ZigBee技术的温度数据采集监测系统的设计

基于ZigBee技术的温度数据采集监测系统的设计一、概述随着物联网技术的飞速发展,无线传感器网络在工业生产、环境监测、智能农业等领域得到了广泛应用。

温度数据采集作为基础且关键的环境参数之一,对于保障生产安全、提高生产效率、实现智能化管理具有重要意义。

ZigBee技术作为一种短距离、低功耗的无线通信技术,凭借其低成本、易部署、高可靠性等特点,已成为无线传感器网络的主流技术之一。

本文旨在设计一种基于ZigBee技术的温度数据采集监测系统。

该系统利用ZigBee无线传感器网络采集环境温度数据,通过数据传输和处理,实现对温度信息的实时监测和分析。

系统设计注重实用性和可靠性,力求在保证数据准确性的同时,降低成本和提高效率。

本论文的主要内容包括:对ZigBee技术和无线传感器网络进行概述,分析其在温度数据采集监测系统中的应用优势详细阐述系统设计的整体架构,包括硬件选型、软件设计、网络通信协议等方面对系统的关键技术和实现方法进行深入探讨,如数据采集、传输、处理及显示等通过实验验证系统的性能和稳定性,并对实验结果进行分析和讨论。

本论文的研究成果将为无线传感器网络在温度数据采集监测领域的应用提供有益参考,对推动相关行业的技术进步和产业发展具有积极意义。

1.1 研究背景随着物联网技术的飞速发展,无线传感器网络(Wireless Sensor Networks, WSN)在环境监测、工业控制、智能农业等领域得到了广泛的应用。

作为WSN的关键技术之一,ZigBee技术因其低功耗、低成本、短距离、低速率、稳定性好等特点,成为实现WSN的重要手段。

温度数据采集监测系统作为WSN的一个重要应用,通过对环境温度的实时监测,为生产生活提供准确的数据支持,对于保障生产安全、提高生活质量具有重要意义。

传统的温度数据采集监测系统多采用有线方式,存在布线复杂、扩展性差、维护困难等问题。

为了解决这些问题,基于ZigBee技术的无线温度数据采集监测系统应运而生。

基于_zigbee_的无线测温实验

基于_zigbee_的无线测温实验

基于ZigBee的无线测温系统摘要:本实验采用TI公司的cc2430作为核心,利用了该芯片上丰富的资源,实现小车的zigbee无线控制和实时测量温度。

Zigbee 是IEEE 802.15.4 协议的代名词,主要适合用于自动控制和远程控制领域,可以嵌入各种设备,是一种便宜的,低功耗的近距离无线组网通讯技术。

本实验中,打开 IAR 开发环境,打开程序工程,接上仿真器,并把仿真电缆连到 CC2430 模块上,把程序下载到两个模块上,两个模块之间通过 PC 机串口发送命令到另一个模块,另一个模块的 zigbee 放在小车上,可以驱动小车按照预定的轨迹前进,并实时测量温度值,显示到电脑界面上。

关键词:无线通信,实时测量显示目录1 引言 (3)2 功能概述及方案设定 (3)2.1 功能概述 (3)2.2 具体方案设定 (4)2.2.1 小车控制模块设计 (5)2.2.2 无线通信模块设计 (7)2.2.3 测温模块设计 (12)3 总结 (14)1 引言当今社会,科学技术日新月异,时代前进的步伐越迈越宽,应用自动化设备,计算机处理,现代化通讯,数字化信息,现代化显示设备等高新技术而建立的现代化智能,监控等系统已经得到充分的发展与应用,智能通信也就应运而生。

同时,在建设以人为本的和谐社会的过程中,智能通信能够完成考古发掘,海底揭密,宇宙探索等危险作业,以保证人身安全。

凭借参加本次课外实验机会,我们能够对嵌入式系统的开发有进一步的学习和理解。

CC2430是一颗真正的系统芯片(SoC)CMOS解决方案。

这种解决方案能够提高性能并满足以ZigBee为基础的2.4GHz ISM波段应用对低成本,低功耗的要求。

它结合一个高性能2.4GHz DSSS(直接序列扩频)射频收发器核心和一颗工业级小巧高效的8051控制器。

CC2430包含一个DMA控制器,集成了4个振荡器用于系统时钟和定时操作,也集成了用于用户自定义应用的外设,CC2430内集成的其他外设有: 实时时钟;上电复位;8通道,8-14位ADC;可编程看门狗;两个可编程USART,用于主/从SPI或UART操作。

基于ZigBee无线的温湿度测量设计与实现

基于ZigBee无线的温湿度测量设计与实现
测温精度:+0.5。C
测湿范围:0-100%RH
测湿精度:+2.5%RH
图2.1 系统组成框图
3.
1)了解温湿度传感器工作原理,根据原理画好PCB原理图。
2)根据PCB原理图自制PCB板电路,将液晶屏,温湿度传感器,ZigBee开发板等相关元件设备进行集成。
3)测试PCB电路,检查相关电路能否正常工作,以及ZigBee核心板的能否正常调试。

JLabellblNewLabel=newJLabel("\u5C0F\u7EC4\u6210\u5458\uFF1A\u79B9\u542F\u6807 \u4F59\u742A");
lblNewLabel.ห้องสมุดไป่ตู้etForeground(Color.CYAN);
ﻩlblNewLabel.setBounds(192, 168, 262, 31);
4)在完成电路调试后,用下载器下载调试程序成功完成程序对相关元件的驱动
5)实验完成后做好相应的实验总结。
4.
此处用CC2530芯片用作接收信息和控制芯片,实现无线遥控,单跳控制距离可以达到100米以上,L298N驱动模块(驱动电机)
(1)温湿度传感器,
(2)电脑和ZigBee核心板和JLINK下载模块及其相关的驱动
ﻩﻩgetContentPane().add(lblNewLabel);

JLabellblNewLabel_1=newJLabel("\u6C6A\u548C\u5143 \u5F20\u7FFC \u8D39\u51CC\u4E91");
ﻩﻩlabel_1.setBounds(168, 83, 86, 31);
ﻩﻩgetContentPane().add(label_1);

实验6—无线温度检测实验

实验6—无线温度检测实验

实验题目:实验6—无线温度检测实验实验时间:2015.12.14一、实验目的:学习TI ZStack2007协议栈容,掌握CC2530模块数据传输的实现过程。

学习协议栈中关于串口的基本设置和操作。

二、实验原理及程序分析:a)系统流程图协调器分立ZigBee 无线网络,终端节点自动加入该网络中,然后终端节点周期性的采集温度数据并将其发送给协调器,协调器接收到温度数据后,通过串口将其输出到PC机。

如图3.3.1所示。

b)关键代码分析对于协调器而言,只需要将收集到的温度数据通过串口发送到PC 机即可;对于终端节点而言,需要周期性地采集温度数据,采集温度数据可以通过读取温度传感器的数据得到。

温度数据包结构设计该数据包结构体定义如下。

typedef union h{uint8 TEMP[4];struct RFRXBUF{unsigned char Head;unsigned char value[2];unsigned char Tail;}BUF;}TEMPRETURE;使用一个共用体来表示整个数据包,里面有两个成员变量,一个是数组TEMP,该数组有4元素;另一个是结构体,该结构体具体实现了数据包的数据头、温度数据、数据尾。

结构体所占的存储空间也是4个字节。

协调器代码:#include "OSAL.h"#include "AF.h"#include "ZDApp.h"#include "ZDObject.h"#include "ZDProfile.h"#include <string.h>#include "Coordinator.h"#include "DebugTrace.h"#if !defined(WIN32)#include "OnBoard.h"#endif#include "hal_led.h"#include "hal_lcd.h"#include "hal_key.h"#include "hal_uart.h"const cId_t GenericApp_ClusterList[GENERICAPP_MAX_CLUSTERS]={GENERICAPP_CLUSTERID \};const SimpleDescriptionFormat_t GenericApp_SimpleDesc=GENERICAPP_ENDPOINT,GENERICAPP_PROFID,GENERICAPP_DEVICEID,GENERICAPP_DEVICE_VERSION,GENERICAPP_FLAGS,GENERICAPP_MAX_CLUSTERS,(cId_t *)GenericApp_ClusterList,0,(cId_t *)NULL};endPointDesc_t GenericApp_epDesc;byte GenericApp_TaskID;byte GenericApp_TransID;unsigned char uartbuf[128];void GenericApp_MessageMSGCB(afIncomingMSGPacket_t *pckt);void GenericApp_SendTheMessage(void);/*static void rxCB(uint8 port, uint8 event);static void rxCB(uint8 port, uint8 event){HalUARTRead(0, uartbuf, 16);if(osal_memcmp(uartbuf,".wlwmaker.",16)){HalUARTWrite(0, uartbuf,16);}}*/void GenericApp_Init(byte task_id){halUARTCfg_t uartConfig;GenericApp_TaskID =task_id;GenericApp_TransID =0;GenericApp_epDesc.endPoint=GENERICAPP_ENDPOINT;GenericApp_epDesc.task_id=&GenericApp_TaskID;GenericApp_epDesc.simpleDesc=(SimpleDescriptionFormat_t *)&GenericApp_SimpleDesc;GenericApp_tencyReq=noLatencyReqs;afRegister(&GenericApp_epDesc);uartConfig.configured =TRUE;uartConfig.baudRate =HAL_UART_BR_115200;uartConfig.flowControl =FALSE;uartConfig.callBackFunc =NULL;HalUARTOpen(0,&uartConfig);}UINT16 GenericApp_ProcessEvent(byte tadk_id,UINT16 events){afIncomingMSGPacket_t *MSGpkt;if(events&SYS_EVENT_MSG)MSGpkt=(afIncomingMSGPacket_t *)osal_msg_receive(GenericApp_TaskID); while(MSGpkt){switch(MSGpkt->hdr.event){case AF_INCOMING_MSG_CMD:GenericApp_MessageMSGCB(MSGpkt);break;default:break;}osal_msg_deallocate((uint8 *) MSGpkt);MSGpkt=(afIncomingMSGPacket_t *)osal_msg_receive(GenericApp_TaskID); }return (events ^SYS_EVENT_MSG);}return 0;}void GenericApp_MessageMSGCB(afIncomingMSGPacket_t * pkt){unsigned char buffer[2]={0x0A,0x0D};TEMPRETURE tempreture;switch(pkt->clusterId){case GENERICAPP_CLUSTERID:osal_memcpy(&tempreture,pkt->cmd.Data,sizeof(tempreture)); HalUARTWrite(0,(uint8*)&tempreture,sizeof(tempreture)); HalUARTWrite(0,buffer,2);break;}}终端节点编程://读取温度int8 readTemp(void){static uint16 reference_voltage;static uint8 bCalibrate=TRUE;uint16 value;int8 temp;ATEST=0x01;TR0|=0x01;ADCIF=0;ADCCON3=(HAL_ADC_REF_115V|HAL_ADC_DEC_256|HAL_ADC_CHN_TEMP);while(!ADCIF);ADCIF=0;value=ADCL;value|=((uint16)ADCH)<<8;value>>=4;if(bCalibrate){reference_voltage=value;bCalibrate=FALSE;}temp=22+((value-reference_voltage)/4);return 22;}//终端节点事件处理与无线数据发送UINT16 GenericApp_ProcessEvent(byte tadk_id,UINT16 events){afIncomingMSGPacket_t *MSGpkt;if(events&SYS_EVENT_MSG){MSGpkt=(afIncomingMSGPacket_t *)osal_msg_receive(GenericApp_TaskID); while(MSGpkt){switch(MSGpkt->hdr.event){case ZDO_STATE_CHANGE:GenericApp_NwkState=(devStates_t)(MSGpkt->hdr.status);if(GenericApp_NwkState==DEV_END_DEVICE){//GenericApp_SendTheMessage();osal_set_event(GenericApp_TaskID,SEND_DATA_EVENT);}default:break;}osal_msg_deallocate((uint8 *) MSGpkt);MSGpkt=(afIncomingMSGPacket_t *)osal_msg_receive(GenericApp_TaskID); }return (events ^SYS_EVENT_MSG);}if(events&SEND_DATA_EVENT){GenericApp_SendTheMessage();osal_start_timerEx(GenericApp_TaskID,SEND_DATA_EVENT,1000);return (events^SEND_DATA_EVENT);}return 0;}void GenericApp_SendTheMessage(void){//unsigned char theMessageData[10]="EndDevice";int8 tvalue;TEMPRETURE tempreture;tempreture.BUF.Head='&';tvalue=readTemp();tempreture.BUF.value[0]=tvalue/10+'0';tempreture.BUF.value[1]=tvalue%10+'0';tempreture.BUF.Tail='C';afAddrType_t my_DstAddr;my_DstAddr.addrMode=(afAddrMode_t)Addr16Bit;my_DstAddr.endPoint=GENERICAPP_ENDPOINT;my_DstAddr.addr.shortAddr=0x0000;AF_DataRequest(&my_DstAddr, &GenericApp_epDesc, GENERICAPP_CLUSTERID,sizeof(tempreture),(uint8 *)&tempreture&GenericApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS);HalLedBlink(HAL_LED_2,0,50,500);}三、实验步骤及结果:打开ZigBee2530部分\exp\zigbee\无线温度检测实验\Projects\zstack\Samples\无线温度检测实验。

6.4 zigbee测量外部环境温度、湿度实验

6.4 zigbee测量外部环境温度、湿度实验

6.3 zigbee测量外部环境温度、湿度实验一般而言,无线传感网络具有采集点众多,分布面积广;网络节点间的位置关系不定,节点动态加入或脱离网络等特性。

Z-Stack2007协议栈具有这些实验功能特性。

5.3.1 实验目的与器材1)实验目的本实验将利用Z-Stack2007协议栈构建一个具有实际意义的无线传感器网络。

该网络中具有采集节点和传感节点。

传感节点连接各种传感器,利用传感器获取环境温度、光照等外界信息。

采集节点负责接收该zigbee网络里传感节点的信息,并通过串口上传至PC端的串口助手进行显示。

采集节点,上电启动后负责建立网络,并开启允许绑定功能;传感节点,上电启动后加入网络,并自动发起绑定请求,待采集节点建立绑定后,将传感器节点的外界温度信息和光照信息发送到采集节点上。

为了实验简单,只有一个采集节点收集这些信息,处理后通过串口上传到计算机,可以在串口调试工具上看到,为了提高网络的负载能力,可以增加中心收集节点。

所以我们可以建立星形拓扑网络,协调器是采集节点,终端节点是传感节点。

为了实现上述实验目的,应该做到:◆自动形成一个网络;◆传感器设备必须能自动加入网络,并自动完成绑定;◆如果传感器设备没有从中心节点收到应答,它将自动移除到该中心节点的绑定。

然后它将自动的去发现新的中心节点绑定。

本实验中传感节点具有获取节点内部温度信息、外界温度信息、外界光照信息等功能。

2)实验器材◆4个CC2530开发模块(1个采集器节点,1个路由器,2个传感器节点);◆2个DS18B20温度传感器;◆2个光敏电阻;5.3.2 实验原理与步骤1)硬件介绍1 温度传感器DS18b20DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种数字化单总线器件。

属于新一代适配微处理器的改进型智能温度传感器。

它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

可以分别在93.75ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写。

实验6—无线温度检测实验

实验6—无线温度检测实验

实验题目:实验6—无线温度检测实验实验时间:2015.12.14一、实验目的:学习TI ZStack2007协议栈内容,掌握CC2530模块数据传输的实现过程。

学习协议栈中关于串口的基本设置和操作。

二、实验原理及程序分析:a)系统流程图协调器分立ZigBee 无线网络,终端节点自动加入该网络中,然后终端节点周期性的采集温度数据并将其发送给协调器,协调器接收到温度数据后,通过串口将其输出到PC机。

如图3.3.1所示。

b) 关键代码分析对于协调器而言,只需要将收集到的温度数据通过串口发送到PC 机即可;对于终端节点而言,需要周期性地采集温度数据,采集温度数据可以通过读取温度传感器的数据得到。

温度数据包结构设计该数据包结构体定义如下。

typedef union h{uint8 TEMP[4];struct RFRXBUF{unsigned char Head;unsigned char value[2];unsigned char Tail;}BUF;}TEMPRETURE;使用一个共用体来表示整个数据包,里面有两个成员变量,一个是数组TEMP,该数组有4元素;另一个是结构体,该结构体具体实现了数据包的数据头、温度数据、数据尾。

结构体所占的存储空间也是4个字节。

协调器代码:#include "OSAL.h"#include "AF.h"#include "ZDApp.h"#include "ZDObject.h"#include "ZDProfile.h"#include <string.h>#include "Coordinator.h"#include "DebugTrace.h"#if !defined(WIN32)#include "OnBoard.h"#endif#include "hal_led.h"#include "hal_lcd.h"#include "hal_key.h"#include "hal_uart.h"const cId_t GenericApp_ClusterList[GENERICAPP_MAX_CLUSTERS]={GENERICAPP_CLUSTERID \};const SimpleDescriptionFormat_t GenericApp_SimpleDesc=GENERICAPP_ENDPOINT,GENERICAPP_PROFID,GENERICAPP_DEVICEID,GENERICAPP_DEVICE_VERSION,GENERICAPP_FLAGS,GENERICAPP_MAX_CLUSTERS,(cId_t *)GenericApp_ClusterList,0,(cId_t *)NULL};endPointDesc_t GenericApp_epDesc;byte GenericApp_TaskID;byte GenericApp_TransID;unsigned char uartbuf[128];void GenericApp_MessageMSGCB(afIncomingMSGPacket_t *pckt);void GenericApp_SendTheMessage(void);/*static void rxCB(uint8 port, uint8 event);static void rxCB(uint8 port, uint8 event){HalUARTRead(0, uartbuf, 16);if(osal_memcmp(uartbuf,"",16)){HalUARTWrite(0, uartbuf,16);}}*/void GenericApp_Init(byte task_id){halUARTCfg_t uartConfig;GenericApp_TaskID =task_id;GenericApp_TransID =0;GenericApp_epDesc.endPoint=GENERICAPP_ENDPOINT;GenericApp_epDesc.task_id=&GenericApp_TaskID;GenericApp_epDesc.simpleDesc=(SimpleDescriptionFormat_t *)&GenericApp_SimpleDesc;GenericApp_tencyReq=noLatencyReqs;afRegister(&GenericApp_epDesc);uartConfig.configured =TRUE;uartConfig.baudRate =HAL_UART_BR_115200;uartConfig.flowControl =FALSE;uartConfig.callBackFunc =NULL;HalUARTOpen(0,&uartConfig);}UINT16 GenericApp_ProcessEvent(byte tadk_id,UINT16 events){afIncomingMSGPacket_t *MSGpkt;if(events&SYS_EVENT_MSG)MSGpkt=(afIncomingMSGPacket_t *)osal_msg_receive(GenericApp_TaskID); while(MSGpkt){switch(MSGpkt->hdr.event){case AF_INCOMING_MSG_CMD:GenericApp_MessageMSGCB(MSGpkt);break;default:break;}osal_msg_deallocate((uint8 *) MSGpkt);MSGpkt=(afIncomingMSGPacket_t *)osal_msg_receive(GenericApp_TaskID); }return (events ^SYS_EVENT_MSG);}return 0;}void GenericApp_MessageMSGCB(afIncomingMSGPacket_t * pkt){unsigned char buffer[2]={0x0A,0x0D};TEMPRETURE tempreture;switch(pkt->clusterId){case GENERICAPP_CLUSTERID:osal_memcpy(&tempreture,pkt->cmd.Data,sizeof(tempreture)); HalUARTWrite(0,(uint8*)&tempreture,sizeof(tempreture)); HalUARTWrite(0,buffer,2);break;}}终端节点编程://读取温度int8 readTemp(void){static uint16 reference_voltage;static uint8 bCalibrate=TRUE;uint16 value;int8 temp;ATEST=0x01;TR0|=0x01;ADCIF=0;ADCCON3=(HAL_ADC_REF_115V|HAL_ADC_DEC_256|HAL_ADC_CHN_TEMP);while(!ADCIF);ADCIF=0;value=ADCL;value|=((uint16)ADCH)<<8;value>>=4;if(bCalibrate){reference_voltage=value;bCalibrate=FALSE;}temp=22+((value-reference_voltage)/4);return 22;}//终端节点事件处理与无线数据发送UINT16 GenericApp_ProcessEvent(byte tadk_id,UINT16 events){afIncomingMSGPacket_t *MSGpkt;if(events&SYS_EVENT_MSG){MSGpkt=(afIncomingMSGPacket_t *)osal_msg_receive(GenericApp_TaskID); while(MSGpkt){switch(MSGpkt->hdr.event){case ZDO_STATE_CHANGE:GenericApp_NwkState=(devStates_t)(MSGpkt->hdr.status);if(GenericApp_NwkState==DEV_END_DEVICE){//GenericApp_SendTheMessage();osal_set_event(GenericApp_TaskID,SEND_DATA_EVENT);}default:break;}osal_msg_deallocate((uint8 *) MSGpkt);MSGpkt=(afIncomingMSGPacket_t *)osal_msg_receive(GenericApp_TaskID); }return (events ^SYS_EVENT_MSG);}if(events&SEND_DATA_EVENT){GenericApp_SendTheMessage();osal_start_timerEx(GenericApp_TaskID,SEND_DATA_EVENT,1000);return (events^SEND_DATA_EVENT);}return 0;}void GenericApp_SendTheMessage(void){//unsigned char theMessageData[10]="EndDevice";int8 tvalue;TEMPRETURE tempreture;tempreture.BUF.Head='&';tvalue=readTemp();tempreture.BUF.value[0]=tvalue/10+'0';tempreture.BUF.value[1]=tvalue%10+'0';tempreture.BUF.Tail='C';afAddrType_t my_DstAddr;my_DstAddr.addrMode=(afAddrMode_t)Addr16Bit;my_DstAddr.endPoint=GENERICAPP_ENDPOINT;my_DstAddr.addr.shortAddr=0x0000;AF_DataRequest(&my_DstAddr, &GenericApp_epDesc, GENERICAPP_CLUSTERID,sizeof(tempreture),(uint8 *)&tempreture&GenericApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS);HalLedBlink(HAL_LED_2,0,50,500);}三、实验步骤及结果:打开ZigBee2530部分\exp\zigbee\无线温度检测实验\Projects\zstack\Samples\无线温度检测实验。

10Zigbee实验报告《采集温度信息》

10Zigbee实验报告《采集温度信息》
//定义控制灯的端口
#define LED0 P1_0//定义LED_1为P10口控制
#define LED1 P1_1//定义LED_2为P11口控制
//按键控制口
#define KEY1 P0_0 //定义按键为P00口控制
#define KEY2 P0_1 //定义按键为P01口控制
#define KEY_1 1
UartTX_Send_String(TempValue,4);
UartTX_Send_String("\r\n",4);
Delay(50000);
}
}
//延时函数
void Delay(uint n)
{
uint i;
for(i=0;i<n;i++);
for(i=0;i<n;i++);
for(i=0;i<n;i++);
}
else
{
key_ct2 = 0;
keyval &= ~0x02;
}
return(keyval);
}
第二页
实验内容与步骤
//温度传感器初始化函数
void initTempSensor(void)
{
DISABLE_ALL_INTERRUPTS(); //关闭所有中断
InitClock(); //设置系统主时钟为32M
{
P0SEL &= ~0X03;
P0DIR &= ~0X03; //按键在P00、P01口,设置为输入模式
P0INP |= 0x03; //上拉
}
// BIT1表示按键KEY2 BIT 0表示按键KEY1

基于Zigbee 的无线温度监测系统的设计与实现

基于Zigbee 的无线温度监测系统的设计与实现

基于Zigbee 的无线温度监测系统的设计与实现摘要:随着传感器技术和无线通信技术的发展,zigbee技术得到广泛应用,在数据实时监测与采集等方面,其应用优势更为显著。

该文设计并实现的基于zigbee的无线温度监测系统使用多个cc2430模块,一个作为zigbee协调器,其余作为温度数据采集端。

温度数据采集端采集温度数据并通过zigbee协议上传至zigbee协调器,zigbee协调器通过串口将数据汇集到上位机中,从而实现数据的实时监测。

本系统的完成有助于改变传统人工的收集数据方式,实现数据的实时收集,适用环境监测,智能家居,工业监测等领域。

关键词:zigbee;cc2430; ds18b20;无线传感网络;温度监测中图分类号:tp368.2 文献标识码:a 文章编号:1009-3044(2013)15-3545-051 概述近年来,得益于无线通信技术、计算机技术和传感器技术的不断进步,无线传感器网络已从理论研究逐渐步入生产应用。

环境数据的实时采集是无线传感器网络在环境监测领域应用中实现的一个重要功能。

由于,环境温度数据指标对于能源消耗、设备安全、生物生命体征、生活舒适度等方面均是较重要的参考指标,因此设计一种低成本、可靠高效的温度采集系统对于工农业生产效率的提高与社会生活环境的改善具有一定的辅助作用。

在传统的温度采集系统中,节点一般采用有线连接方式,布线繁琐,扩展性和可移植性不高[6]。

文献[5]中使用的是基于wifi的温度监测的方法,但wifi技术功耗较高,影响了温度检测网络的使用寿命。

zigbee[1]作为一种新兴的短距离无线通信网络技术,凭借其低成本、低功耗的优势,成为无线传感器网络中主要的通信协议之一。

该文设计并实现了一个基于cc2430的zigbee无线温度监测网络。

该网络通过zigbee协议栈将多个节点设备组建成星型网络,将各个节点的采集的温度数据实时发送到协调器并又协调器在汇聚到上位机中,从而实现温度数据的实时采集。

基于ZigBee的温度检测系统设计

基于ZigBee的温度检测系统设计

目录1.概述 (1)1.1课题背景 (1)1.2 课题研究的目的和意义 (2)1.3 国内外研究概况 (3)1.4 论文的主要研究内容及论文安排 (4)2.ZigBee协议及所采用的芯片介绍 (5)2.1 ZigBee概述 (5)2.2 ZigBee网络基础 (7)2.2.1 网络节点类型 (7)2.2.2 网络拓扑形式 (7)2.2.3 工作模式 (9)2.3 CC2430芯片 (9)2.3.1 CC2430概述 (9)2.3.2 CC2430 芯片的主要特点 (11)3.基于ZigBee的温度采集系统 (12)3.1 开发环境简介 (12)3.1.1 C51RF-3-PK ZigBee无线网络技术专业开发平台 (12)3.1.2 IAR Embedded Workbench简介 (12)3.2 系统详细设计 (13)3.2.1系统整体结构 (13)3.2.2 节点的硬件设计 (14)3.2.3 系统的程序设计 (16)3.2.4 基于ZigBee的温度采集系统程序流程图 (20)3.3 上位机 (21)3.3.1 上位机的功能简介 (21)3.3.2 上位机软件的程序的流程图 (22)3.3.3 上位机运行效果 (24)4.系统测试 (25)4.1系统测试步骤 (25)4.2 系统测试结果 (25)4.2.1 系统的硬件测试 (25)4.2.2 协议栈的测试 (25)4.2.3 上位机的测试 (25)4.3系统测试结果分析 (25)5.总结与展望 (26)6.致谢 (27)7.参考文献 (28)1.概述1.1课题背景信息技术发展日新月异,传统的有线通信方式因为其成本高、布线复杂,已经不能完全满足人们的应用需求了。

由此,无线通信技术应运而生。

无线网络技术按照传输范围来划分,可分为无线广域网、无线城域网、无线局域网和无线个人域网。

无线个人域网即短距离无线网络,典型的短距离无线传输技术有:蓝牙(Bluetooth)、ZigBee、WiFi等。

基于ZigBee无线传感器网络的温度测量

基于ZigBee无线传感器网络的温度测量

基于ZigBee无线传感器网络的温度测量作者:胡怡来源:《科技风》2019年第07期摘要:在环境中温度是一项重要的指标,与人们的日常生活、生产以及工作有着密切的关系,在各种类型的环境中,方便、快捷以及精准的对温度变化进行检测,并且快速的做出反应是非常重要的。

同时近些年来,ZigBee无线传感器网络的应用具备复杂度低、功能消耗低以及数据速率低等特点,主要适用于自动化控制和远程控制,能够嵌入各种设备,还具有地理定位功能。

关键词:ZigBee;无线传感器网络;温度测量一、ZigBee原理根据IEEE 802.15.4的相关标准的ZigBee无线网络技术,可以将工作分成3个频段,包括:68 MHz,915 MHz及2.4 GHz,数据速率最高可以达到250 Kb/s。

同时网络拓扑可以分成星形拓扑、簇状拓扑和网状拓扑,其中簇状和网状拓扑都可以由一个主控节点和很多个路由、终端节点组成,确保多跳数据通信得到实现,因为覆盖的范围不断增加,路由也可以根据具体情况进行动态调整,因此在温度测量系统中应用ZigBee传感器网络可以很大程度的提高系统的灵活性和适用范围,对有效温度测量系统存在的不足之处进行弥补。

二、ZigBee无线传感器网络温度测量系统组成与工作原理图中单片机MSP430F149是从温度传感器中得到的温度数据,并且通过RS 232串口将数据传送给ZigBee RFD模块,并且将模块转化成ZigBee通信协议包,再传输给ZigBee FFD模块。

与此同时这一模块采用多跳的通信方式将数据包传输给协调器,在协调器接收到数据包之后先可以按照原路返回进行数据信息的确认和接收,最后促使其来到数据ZigBee RFD模块,对握手通信进行实现,也能更加完整的完成ZigBee通信。

温度采集传输系统的组成结构图(一)控制模块关于控制模块,其的重点就是以MSP430单片机为主,是一种能源消耗比较低的控制器,是16为RISC CPU的内核,也是16为总线结构,每一个外部周围的仪器构件都可以对事件驱动型的操作进行支持。

ZigBee无线温度检测实验报告(模板)

ZigBee无线温度检测实验报告(模板)

ZigBee无线温度检测实验——实验报告(项目编号:07012026 学时:2)一【实验目的】1、熟悉Zigbee协议栈Z-Stack2、掌握串口通信原理与方法3、掌握编写协调器节点与上位机串口通信编程、串口设置方法4、掌握用户事件添加方法5、掌握定时触发事件方法6、掌握CC2530模块自带温度传感器采集温度方法二【实验内容】1、协调器建立ZigBee无线网络,终端节点自动加入网络,然后终端节点周期性地采集温度并将数据发送到协调器.协调器接受数据并通过串口把接受到的数据传给PC端的串口调试助手。

2、工具/原料•IAR Embedded Workbench for MCS-51•CC2530 Zigbee开发套件•CCDebuger调试器•串口调试助手3、方法/步骤3.1新建工程新建工程,不知道如何配置的可以查看《IAR如何建立工程》学习如何建立、配置、编译、调试嵌入式系统。

3.2 相关知识串口发送接受数据的基本步骤:初始化串口(设置波特率、中断等)、向缓冲区发送数据或者从接受缓冲区读取数据。

然而,上面的步骤都是以前不带操作系统单片机的步骤,而在OSAL中已经实现了串口的读取函数和写入函数。

可以作为API一样使用。

与串口相关的三个API函数:uint8 HalUARTOpen(uint8 port,halUARTCfg_t * config);uint16 HalUARTRead(uint8 port,uint8 *buf,uint16 len);uint16 HalUARTWrite(uint8 port,uint8* buf,uint16 len);事件添加方法:定时器方法:温度采集方法:3.3完整代码#include <ioCC2530.h>3.4下载调试注意:项目配置运行程序,完成实验要求。

总结:通过以上实验,了解并熟悉CC2530开发板中温度的采集方法;掌握,能。

思考:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档