1:Zstack3.0协议栈介绍

1:1.ZigBee 协议栈简介


  1. 协议:是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据发射和接收。
  2. 协议栈:是协议的具体实现形式。
  3. <协议栈> 是 <协议> 和用户之间的一个接口,开发人员通过使用 <协议栈> 来使用这个 <协议> 的,进而实现无线 数据收发。

2:该图展示了 ZigBee 无线网络协议层的架构图。

ZigBee 的协议分为两部分:

  • IEEE 802.15.4 定义了 PHY(物理层)和 MAC(介质访问层)技术规范;
  • ZigBee 联盟定义了 NW K(网络层)、APS(应 用程序支持子层)、APL(应 用层)技术规范。
  • ZigBee 协议栈就是将各个层定义的协议都集合在一直, 以函数的形式实现,并给用户提供 API(应用层),用户可以直接调用。
    在这里插入图片描述

3:如何使用 ZigBee 协议栈

  • 协议栈是协议的实现,
  • 可以理解为代码,函数库,供上层应 用调用,协议较底下的层与应用是相互独立的。
  • 商业化的协议栈就是给你写好了底层的代码,符合协议标准,提供给你一个功能模块给你调用。你需要关心的就是你的应用逻辑,
  • 数据从哪里到哪里,怎么存储,处理;还有系统里的设备之间的通信顺序什么的,当你的应用需要数据通信时,调用组网函数给你组建你 想要的网络;
  • 当你 想从一个设备发数据到另一个设备时,调用无线数据发送函数;当然,接收端就调用接收函数;
  • 当你的设备没事干的时候 ,你就调用睡眠函数;要干活的时候就调用唤醒函数。所以当你做具体应用时, 不需要关心协议栈是怎么写的,里面的每条代码是什么 意思。除非你要做协议研究。
  • 每个厂商的协议 栈有区别,也就是函数名称和参数可能有区别,这个要看具体的例子、说明文档。

4:怎么使用 ZigBee 协议栈

用户实现一个简单的无线数据通信时的一般步骤:

  1. 组网:调用协议栈的组网函数、加入网络函数,实现网络的建立与节点的加入。
  2. 发送:发送节点调用协议栈的无线数据发送函数,实现无线数据发送。
  3. 接收:接收节点调用协议栈的无线数据接收函数,实现无线数据接收。

5:下面我们大概看看无线发送函数

afStat us_t AF_DataRequest( 
    afAddrType_t *dstAddr, 
    endPointDesc _t *srcEP, 
    uint16 cID, 
    uint16 len, 	/* 发送数据的长度 */
    uint8 *buf, 	/* 指向存放发送数据的缓冲区的指针 */
    uint8 *transID, 
    uint8 options, 
    uint8 radius 
)

至于调用该函数后,如何初始化硬件进行数据发送等工作,用户不需要关心,ZigBee 协议栈己经 将所需要的工作做好了,我们只需要调用相应的 API 函数即可,而不必关心具体实现细节。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值