设为首页 - 加入收藏
广告 1000x90
您的当前位置:黄大仙救世网www78345 > 接收端 > 正文

zigbee接收端如何识别地址

来源:未知 编辑:admin 时间:2019-07-03

  接收端只是识别了clusterId,没体现16位地址什么事啊。那么,接收端是怎样识别上面的发动端的特定16位地址的。比如点播只发给0x0000,那么0x0000的接收端如何能知道这个是发给它的,而其他设备能知道这不是发给它的?谢谢

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部你的这个SampleApp_MessageMSGCB( )函数是属于应用层范畴,所以这个函数解析的只是在应用层定义的clusterId。

  至于对目标设备短地址的解析,并不是在应用层做的事情,它是在网络层就已经进行解析了。

  实际上Zigbee协议栈是采用802.15.4的分层结构,你分析程序前必须了解Zigbee的分层结构,每个层都有自己负责的事情,层与层之间是通过消息原语进行传递的。就像你的这个SampleApp_MessageMSGCB( )函数就是应用层接收到AF层发出的AF_INCOMING_MSG_CMD消息原语才执行的。

  接收端接收到一个数据包后,通过PHY层---MAC层----NWK层-----ZDO层---AF层-----APS层,这样一个流程进行解析,如果在底层解析出来的短地址不是设备本身,那么数据包中其他的一些信息就不会传递到应用层进行解析。这样说你应该明白了吧!希望能帮到你。更多追问追答追问明白您的意思。我想去看一下具体函数,那么识别短地址的应该在哪个层的哪个函数?endpoint呢?谢谢追答解析short address和endpoint在NWK层,但是这个函数没有开源。

  数据传递到AF层才看得到源程序,也就是AF.c中的afIncomingData()函数,这个函数里面有个afBuildMSGIncoming()函数,就是发送AF_INCOMING_MSG_CMD消息原语和short address和endpoint给APS层

  谢谢您的解答。资料说,一个节点可以自定义240个endpoint。但是识别endpoint的函数没有开源,那么自定义多个endpoint的话该如何区分?还是说一个zigbee设备支持多个端口,但是每次只能用一个?谢谢

  应用程序定义不同的端点号和简单描述符,并注册就可以区分了。发送时函数选择你需要的端点号就可以了

本文链接:http://heargear.net/jieshouduan/458.html

相关推荐:

网友评论:

栏目分类

现金彩票 联系QQ:24498872301 邮箱:24498872301@qq.com

Copyright © 2002-2011 DEDECMS. 现金彩票 版权所有 Power by DedeCms

Top