基于ZiBee的数据采集与无线传输实验.doc
文本预览下载声明
第 PAGE \* MERGEFORMAT 15页 / 共 NUMPAGES \* MERGEFORMAT 15页
2016-2017学年第二学期
课程实验报告
课程名称:无线传感网络
实验名称: 基于ZigBee的数据采集与无线传输实验
姓名
班级
学号
同组同学
实验课表现
出勤、表现得分25%
25
实验报告
得分50%
实验总分
操作结果得分25%
25
实验目的
了解ZigBee的工作原理和技术特点,利用CC2530芯片开发一个简单的ZigBee组网通信实验。
实验内容
以小组为单位,利用CC2530芯片部署无线传感网络实验,分别设计采集节点、汇聚节点的程序,采集节点采集温度信息,并通过无线信道传输给汇聚节点。汇聚节点再将温度数据通过串口传输给上位机(PC机)。要求自己设计通信协议,实现上位机对监控区域的定时和实时温度数据采集。
实验过程中遇到的问题以及如何解决的?(可以写多条,是否认真填写将影响实验成绩)
在实验过程中我遇到了
能接收后遇到很多的噪声干扰并且不能接收自己发送的信息
接收到自己的信息后仍然有很多的噪声干扰出现了很多的乱码
接收自己的信息也被转换成乱码
遇到了选择性接收上的技术问题
温度的acsii码转换错误
通过的方式,我解决了这个问题。
修改了接收代码并确认发送代码没毛病
尝试修改信道
检查到接收子程序有问题并修改了
老师建议我们使用选择性接收
通过组员合作研究讨论并上网查找解决
没有问题的情况下,是否有创新思路(或多做哪些工作)。
好像并没有
实验代码如下:
发送代码:
/****************************************************************************
* 文 件 名: main.c
* 作 者: Andy
* 修 订: 2013-01-08
* 版 本: 1.0
* 描 述: 设置串口调试助手波特率:115200bps 8N1
* 串口调试助手给CC2530发字符串时,开发板会返回接收到的字符串
****************************************************************************/
#include ioCC2530.h
#include string.h
#include stdio.h
#include stdlib.h
//#define DISABLE_ALL_INTERRUPTS() (IEN0 = IEN1 = IEN2 = 0x00)//三个
char rf_rx_buf[128];
void rf_send( char *pbuf , int len);
void rf_receive_isr();
typedef unsigned char uchar;
typedef unsigned int uint;
#define UART0_RX 1
#define UART0_TX 2
#define SIZE 51
char RxBuf;
char UartState;
uchar count;
char RxData[SIZE]; //存储发送字符串
void InitClock(void)
{
CLKCONCMD = ~0x40; //设置系统时钟源为 32MHZ晶振
while(CLKCONSTA 0x40); //等待晶振稳定
CLKCONCMD = ~0x47; //设置系统主时钟频率为 32MHZ
}
/****************************************************************************
* 名 称: InitSensor()
* 功 能: 温度传感器初始化函数
* 入口参数: 无
* 出口参数: 无
****************************************************************************/
void InitSensor(void)
{
//DISABLE_ALL_INTERRUPTS(); //关闭所有中断
InitClock(); //设置系统主时钟为 32M
TR0=0x01; //设置为1来连接温度传感器到SOC_ADC
ATEST=0x01;
显示全部