下载此文档

zigbee组网实验.doc


文档分类:IT计算机 | 页数:约18页 举报非法文档有奖
1/18
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/18 下载此文档
文档列表 文档介绍
ZigBee组网实验
修订记录
版本
修订说明
修订者
修订日期

初稿
xux
2014-03-26
南京未来星传感技术有限公司
2014年3月
实验二十一 节点无线聊天实验
前言:节点无线聊天即传统的串口透传,这个名词相信大家在看ZigBee相关资料时经常会看到,透传到底是什么呢?电脑A和电脑B通过串口相连,相互发送信息,现在我们将电脑A和B连接Zigbee模块,再用串口收发信息,ZigBee的作用就相当于把有线信号转化成无线信号。这样我们电脑前面操作一样的,但是已经变成无线传输了,这就是串口透传!如图所示:
实验平台:未来星 CC2530模块与功能底板个两块(一个协调器,一个终端)
实验现象:两台不同的PC机通过串口连接到未来星开发板,打开串口调试助手,设置好波特率等参数。相互收发信息。没有2台电脑也可以同一台电脑的不同串口进行试验。
实验讲解:。在前面我们曾做过串口实验和数据无线传输,这次试验是这两个试验的一个结合。不过协议栈的串口接收有特定的格式,我们得了解一下它的传输机制。先理清我们要实现这个功能的流程:由于2台PC机所带的模块地位是相等的,所以两个模块的程序流程也一样:
1、zigBee模块接收到从PC机发送信息,然后无线发送出去
2、ZigBee模块接收到其它ZigBee模块发来的信息,然后发送给PC机
我们打开Z-stack目录Projects\zstack\Samples\SampleApp\CC2530DB 。这次试验我们基于协议栈的SampleApp来进行。
打开工程后,我们只要关注App,这也是我们用户添加自己代码的地方,
ZigBee模块接收到从PC机发送信息,然后无线发送出去 以前我们做的都是CC2530给PC机串口发送信息,还没接触过PC机发送给CC2530,现在我们就来完成这个任务。。我们之前协议栈串口实验对串口初始化时候已经有所了解了。
我们在这个文件里找到串口初始化函数 void MT_UartInit(),找到下面代码:
#if defined (ZTOOL_P1) || defined (ZTOOL_P2)
= MT_UartProcessZToolData;
#elif defined (ZAPP_P1) || defined (ZAPP_P2)
= MT_UartProcessZAppData;
#else
= NULL;
#endif
我们定义了ZTOOL_P1,古协议栈数据处理函数MT_UartProcessZToolData,进入这个函数定义。下边是对函数关键地方的解释。
/* 这个函数很长,具体说来就是把串口发来的数据包进行打包,校验,生
成一个消息,发给处理数据包的任务。如果你看过 MT 的文档,应该知道如
果用 ZTOOL 通过串口来沟通协议栈,那么发过来的串口数据具有以下格式:
0xFE, DataLength, CM0, CM1, Data payload, FCS
翻译: 0xFE:数据帧头
DataLength:Datapayload 的数据长度,以字节计,低字节在前;
CM0:命令低字节;
CM1:命令高字节;(ZTOOL 软件就是通过发送一系列命令给 MT 实现和
协议栈交互)
Data payload:数据帧具体的数据,这个长度是可变的,但是要和
DataLength 一致;
FCS :校验和,从 DataLength 字节开始到 Data payload 最后一个字节
所有字节的异或按字节操作;
也就是说,如果PC机想通过串口发送信息给CC2530,由于是使用默认的串口函数,所以您必须按上面的格式发送,否则CC2530是收不到任何东西的,
这也是我们大家在调试串口接收时一直打圈的地方。尽管这个机制是非常完善 的,也能校验串口数据,但是很明显,我们需要的是 CC2530 能直接接收到串口
信息,然后一成不变的发成出去,相信你在聊 QQ 的时候也不希望在每句话前面 加 FE .. ..的特定字符吧,而且还要自己计算校验码。
于是我们就来个偷龙转凤,把改函数换成我们自己的串口处理

zigbee组网实验 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数18
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2623466021
  • 文件大小949 KB
  • 时间2021-06-03
最近更新