APP是应用层,一般只是在这里修改就可以,如果程序不是特别复杂的话,是不需要修改协议栈的。
至于协调器如何确认收到的是3个不同终端的数据,传感器向协调器发送数据的时候,是会发送自己的网络地址的,根据网络地址就可以判断是哪个节点发的了。如果是单纯组网的话,你可以看下SensorDemo例程,在TI官网上应该可以下到,在飞比网站上也可以找到。
如果要添加DS18B20采集温度和IH3605采集湿度这些外设,那么需要在传感器的程序里添加你自己的温湿度程序,设置好IO口和时序,明确你温湿度外设的数据发送流程和算法,把接收进来的数据再添加到SensorDemo原本的发送中就可以了。
只要你的协调器可以与电脑串口通讯,你想怎么玩不都可以?
至于“我通过电脑发出的命令,需要怎么处理,才能起到和在协调器上按键产生同样的效果。”的问题,就是定义好收到串口某条指令就执行和协调器上按键执行同样的动作就好了。
所有终端设备在入网后,都会被分配一个网络地址(network address),并且会发送一个device announce的帧。但对于目前广泛应用的ZigBee Pro协议栈,这个地址是随机分配的。每个终端设备唯一具有的是MAC地址,你还可以从应用上区分,比如从应用上把设备和其网络地址关联起来,就像TCPIP里面的IP地址和DNS域名,一个道理。
SAMPLEAPP:这个实验按键控制工作组内模块LED 灯闪烁的实验,只有模块在工作组内,它以下的节点才能控制LED。
实验说明:首先启动一个网络协调器,协调器如果建立网络成功后,会在LCD 上显示
该节点为协调者同时显示网络ID 号。然后打开一个终端节点的电源,此时节点会自动加入
网络。加入网络成功后,节点会显示自己的网络地址和父节点的网络地址。模块加入网络后会自动加入工作组。节点跟主机、路由器加入同一工作组后,节点就可以控制主机和路由器的LED4 闪烁了,只需把节点的摇杆往上拔,就可以控制路由器和主机的LED 闪烁。同样,路由器的摇杆往上拔,也可以控制主机的LED4 闪烁。主机和路由器也可以随时退出工作组或加入工作组,
当主机或路由器在工作组内时,把摇杆往右拔一下,就可以退出工作组,反之则加入工作组。
主机或路由器一旦退出工作组,终端节点就无法控制主机或路由器了。
通往无线的桥梁
无线世界的先锋
32 Zigbee2007 协议栈实验例程表演说明
C:\Texas Instruments\ZStack-200-120\Projects\zstack\Samples\SampleApp\CC2520DB
这个实验按键控制工作组内模块LED 灯闪烁的实验,只有模块在工作组内,它以下的
实验说明:首先启动一个网络协调器,协调器如果建立网络成功后,会在LCD 上显示
该节点为协调者同时显示网络ID 号。然后打开一个终端节点的电源,此时节点会自动加入
网络。加入网络成功后,节点会显示自己的网络地址和父节点的网络地址。模块加入网络后
节点跟主机、路由器加入同一工作组后,节点就可以控制主机和路由器的LED4 闪烁了,
只需把节点的摇杆往上拔,就可以控制路由器和主机的LED 闪烁。同样,路由器的摇杆往
上拔,也可以控制主机的LED4 闪烁。主机和路由器也可以随时退出工作组或加入工作组,
当主机或路由器在工作组内时,把摇杆往右拔一下,就可以退出工作组,反之则加入工作组。
主机或路由器一旦退出工作组,终端节点就无法控制主机或路由器了。
GenericApp
这个实验是两个模块相互绑定后可以对传数据,模块绑定之后,两个模块之间相互传输
字符串"Hello World"。
实验说明:首先启动一个网络协调器,协调器如果建立网络成功后,会在LCD 上显示
该节点为协调者同时显示网络ID 号。然后打开一个终端节点或路由器的电源,此时节点会
自动加入网络。加入网络成功后,节点会显示自己的节点类型、网络地址和父节点的网络地
址。
节点加入网络成功后,首先把主机模块的摇杆往右拔一下,然后把要绑定模块的摇杆也
往右拔一下,如果两边的LED4 都熄灭或是点亮后马上熄灭,表示绑定成功。绑定成功后,
两个节点就开始相互定时发送数据,并在对方的LCD 屏上显示出来,发送的数据为"Hello
World"。此时如果把相互绑定模块中的一个摇杆往左拔一下,可以发送Match Description
Request 命令,对方则显示Match Description Request 信息。
通往无线的桥梁
无线世界的先锋
38400,无奇偶校验,1 位停止位。此时其中一个模块从串口发送数据,就可以从另一个模
实验工程路径为: C:\Texas Instruments\ZStack-200-120\Projects\zstack\Utilities\
这个实验是一个无线传输数据速度测试实验,主要是完成模块间的绑定和测试两个模块
之间相互传输数据的速成度实验。实验首先要完成绑定功能,才能进行数据传输的速度测试。
实验说明:首先启动一个网络协调器,协调器如果建立网络成功后,会在LCD 上显示
该节点为协调者同时显示网络ID 号。然后打开一个终端节点的电源,此时节点会自动加入
网络。加入网络成功后,节点会显示自己的网络地址和父节点的网络地址。加入成功后,就
可以开始绑定了。首先把主机模块的摇杆往右拔一下,然后把绑定模块摇杆也往右拔一下,
如果两边的LED4 都熄灭或是点亮后马上熄灭,表示绑定成功,此时就可以进行无线数据传
绑定成功后,此时把摇杆下拔,可以清除收发数据的计数值,并显示接收和发送时的速
度和完成收发的字节数。LCD 第一排显示此模块接收数据的速度和总字节数,第二排显示
此模块发送数据的速度与总字节数。如果模块想要发送数据,只需把摇杆向上拔一下,模块
就开始发送数据,LCD 上第二排则显示此时的速度与发送数据的总字节数。被绑定的另一
端则显示接收数据的速度与接收到数据的部字节数。如果想要停止发送数据,只需把摇杆向
SimpleApp
1、开关实验
在工程序里选择SimpleController 或SimpleController-Pro 做主机或路由程序,选择
SimpleSwitch 或SimpleSwitch-Pro 做节点程序时,可以做开关控制实验。
首先把SimpleController 或SimpleController-Pro 程序下载到模块里,然后把模块复位,
模块复位后LED2 不停闪烁。此时把摇杆往上拔,则此模块的属性就被定义为网络协调器,
然后系统会自动重新启动,模块会以网络协调器的身份建立一个网络,并会在LCD 上显示
该节点为协调者同时显示网络ID 号。如果把摇杆往右拔,则模块的属性被定义为路由器,
然后模块自动重启,如果此时有网络存在,节点会以路由器的身份加入网络,节点会在LCD
上显示自己为路由器以及它的网络地址和父节点的网络地址。此后,不管是复位还是断电重
启节点的类型都不会再改变了。只有重新烧写一次程序才能改变节点的类型。然后把SimpleSwitch 或SimpleSwitch-Pro 程序下载到模块里。然后把模块复位,模块复
位后LED2 不停闪烁。此时把摇杆往上拔或是向右拔,模块会以终端节点的身份自动重启,
如果此时有网络存在,模块会自动加入网络并显示自己的节点类型、网络地址和父节点的网
络地址。当下一次复位或是断电重启,模块都会直接以终端模块的类型加入网络。
当模块加入网络成功后,此时把协调器模块的摇杆往上拔一下,模块则允许其它模块绑
定。此时再把终端模块的摇杆往上拔一下,协调器模块LCD 上显示”Match Desc Req ”和”Rsp
Sent”,表示终端模块已经跟协调器模块绑定成功,此时把终端模块的摇杆往右拔可以控制
协调器模块的LED1 灯的亮和灭。终端节点绑定成功后,也可以把摇杆往下拔来解除绑定。
2、传感器实验
在工程序里选择SimpleCollector 或SimpleCollector-Pro 做主机或路由程序,选择
SimpleSensor 或SimpleSensor-Pro 做节点程序时,可以做无线传感器实验。
首先把SimpleCollector 或SimpleCollector-Pro 程序下载到模块里,然后把模块复位,模
块复位后LED2 不停闪烁。此时把摇杆往上拔,则此模块的属性就被定义为网络协调器,然
后系统会自动重新启动,模块会以网络协调器的身份建立一个网络,并会在LCD 上显示该
节点为协调者同时显示网络ID 号。如果把摇杆往右拔,则模块的属性被定义为路由器,然
后模块自动重启,如果此时有网络存在,节点会以路由器的身份加入网络,节点会在LCD
上显示自己为路由器以及它的网络地址和父节点的网络地址。此后,不管是复位还是断电重
启节点的类型都不会再改变了。只有重新烧写一次程序才能改变节点的类型。
然后把SimpleSensor 或SimpleSensor-Pro 程序下载到模块里。然后把模块复位,模块复
位后LED2 不停闪烁。此时把摇杆往上拔或是向右拔,模块会以终端节点的身份自动重启,
如果此时有网络存在,模块会自动加入网络并显示自己的节点类型、网络地址和父节点的网
络地址。当下一次复位或是断电重启,模块都会直接以终端模块的类型加入网络。
当模块加入网络成功后,此时把协调器模块的摇杆往上拔一下,模块则允许其它模块绑定,
此时需要等待一段时间,大约5 秒后协调者LCD 上显示”Match Desc Req ”和”Rsp Sent”。此
后终端模块会自动绑定到协调器上,终端模块和协调器模块绑定成功后,终端模块会定时向
网络协调器发送自己的温度值和电池电压值。网络协调器此时需要用串口线把底板接到电脑
上,然后打开串口调试助手,把波特率设到38400,8 位数据位,1 位停止位,无奇偶校验
位。就可以定时在串口调试助手上显示其它终端节点的温度值和电池电压值。
应该就是这样的了,很明白
以上就是关于关于Zigbee无线通信中,多个终端设备向协调器发送数据问题!全部的内容,包括:关于Zigbee无线通信中,多个终端设备向协调器发送数据问题!、ZIGBEE问题、关于zigbee组网的问题(zigbee连接的根节点设备位置发生变化后协调器是如何识别该设备的。)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)