ZIGBEE的小应用

 

        ZIGBEE无线温湿度采集

一 实验简介

学习ZIGBEE已经有快一年了,前面一段时间一直都在学习协议栈,这个学期因为有计算机网络这门课,所以让我对ZIGBEE协议栈的体系结构有了更深一步的了解,对其中的运行机制认识深了一步,再结合王峰老师的教学视频,这才恍然大悟,以前我看那个视频总是懵懵懂懂,看着没有感觉,经过这段时间的努力,总算能跟着他的思维来思考这个流程了,这时我感觉我对协议栈的了解到了一定的程度了,对于开发应用有了七八成的把握,所以这次就做了这个无线温湿度采集的实验.

这次用了两块购买的FEEBITBB,一块EB,传感器使用的是DHT10,例程用的是TI提供的SENSOR DEMO,这个例子采用的是绑定模式进行数据无线传输,说到数据传输的方式,还有就是组播,广播,单播.系统操作流程:协调器首先建立网络,然后设成允许绑定模式,这时传感器启动,加入网络,建立绑定,随后按下传感器的S5,传感器发送数据,协调器接收数据,最后通过串口显示在电脑上.

二 实验过程

这个流程和上次AM2301的差不多,也是先将板子当成单片机来调试代码,在这个调试通过以后,将代码加入协议栈.

一开始是准备器材和传感器的驱动代码,然后就是针对飞比的板子硬件资源进行第一步的修改,在这个实验中,我采用了P02管脚作为时钟信号,P03为数据线.然后用软件IAR进行初步测试,这个时候检测一下管脚电平和时序.然后一步一步检测数据线上的信号,将其与厂商提供的时序信号进行对比,然后调整代码.这是一个漫长的过程,我就不多讲了,反正大概的流程就是这样了,这里值得注意的就是改变管脚的方向,需要多看看CC2530DATASHEET,那个传感器的DATASHEET也需要仔细看,每个细小的细节都会让传感器驱动不起来,这个时期主要是靠耐心和细心.

这个调通以后,就是将这个加入到协议栈了,这是重点,也是很多人关注的,.协议栈是一个让人很头痛的东西,但当你了解它以后,你就会发现它很简单,只是在茫茫代码中找到几个函数,对他们进行修改就可以了,当然这只是简单的应用开发,如果你想真正深入研究协议栈的话,那肯定是很复杂,那个过程应该叫做写应用协议,这应该IEEE协会或ZIGBEE联盟在做的事情,这个就好比已经有了TCP/IP协议,人们在此基础上开发了HTTP,FTP等应用协议一样,这些知识都是网络课给我提供的,在其中真是受益匪浅啊.接下来可能要涉及代码了,有些人可能要头痛了,我来告诉你这些关键代码藏在什么地方吧.其实全在那几个APP文件里.找到这个函数void zb_BindConfirm( uint16 commandId, uint8 status )不要说找不到,实在找不到就用编译器的FIND功能,找到以后看看我的与原来的代码的区别吧...

随后就是开始温湿度的采集,这时将调好的代码贴进去,在下面调用就可以了.

到这里采集模块该修改的地方已经修改好了,然后直接发送这些数据就可以了.

其中我要说明的是:这里就是设备的名称,不同的设备修改一下名字就行了,所有的问题都解决了.最终在电脑上就可以区别是哪个设备发送过来的数据了.   这里还要注意的问题是记得改变你要发送的数据的大小,否则显示会出问题,也就是数据不完整了,这是我在调试时犯的错误.

到了协调器了,这里的修改更为简单,存放接收到的数据结构..

注释掉的是原来的,我改变了他的数据结构.....

然后是发送的数据格式做相应的调整.....

这样协调器的修改就结束了,呵呵,是不是很简单啊,这些东西我想大家都会,只是不知道如何下手而已,你了解了它是怎么运作的,就知道在什么地方插入什么东西...

最后显示在串口助手上.......上图吧..

协调器

采集设备

两个传感器

数据的显示

 

 

 

http://download.csdn.net/detail/xing_jun/3708932附上自己修改的代码...希望能帮到在这一块的朋友..!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值