初识Zigbee协议栈及其安装

初识Zigbee协议栈及其安装1.什么是Zigbee协议栈?什么是ZigBee协议栈呢?它和ZigBee协议有什么关系呢?协议是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据发射和接收。协议栈是协议的具体实现形式,通俗点来理解就是协议栈是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议的,进而实现无线数据收发。ZigBee的协议分为两部分,IEEE802.15.4定义了PHY(物理层)和MAC(介质访问层)技术规范;ZigBee联盟定义了NWK(网络层)、APS(

大家好,又见面了,我是你们的朋友全栈君。

1. 什么是Zigbee协议栈 ?

什么是 ZigBee 协议栈呢?它和 ZigBee 协议有什么关系呢?协议是一系列的通信标准,通信双方 需要共同按照这一标准进行正常的数据发射和接收。协议 栈是协议的具体实现形式,通俗
点来理解就 是协议栈是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议的,进而实现无线 数据收发。

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

2. 如何使用 ZigBee 协议栈?
协议栈是协议的实现,可以理解为代码,函数库,供上层应 用调用,协议较底下的层与应用是相互独 立的。商业化的协议栈就是给你写好了底层的代码,符合协议标准,提供给你一个功能
模块 给你调用。你需要关心的就是你的应用逻辑,数 据从哪里到哪里,怎么存储,处理;还有系 统里的设 备之间的通信顺序什么的,当你的应用 需要数据通信时,调用组网函数给你组建你
想要的网络;当你 想从一个设备发数据到另一个设备时,调用无线数据发送函数;当然,接收端就调用接收函数;当你 的设备没事干的时候 ,你就调用睡眠函数;要干活的时候就调用唤醒函数。

所以当你做具体应用时, 不需要关心 协议栈是怎么写的,里面的每条代码是什么 意思。除非你要做协议研究。每个厂商的协议 栈有区别,也就是函数名称和参数可能有区别,这个要看具体的例子、说明文档。

3.ZigBee 协议栈的安装、编译与下载

首先去TI的官网http://www.ti.com下载我们要用的zstack协议栈的安装文件,就是一个.exe文件。 下载完成之后,解压得到.exe文件,进行安装,路径你可以选择默认,同样你也可以选择你想要安装的位置。

其实所谓的安装协议栈 只是把一些文件解压到你安装的目录下。

Components,顾名思义这个是放我们的库的文件夹,里面放了一些我们用到的 ZDO,driver,hal, zcl 等库的代码
Documents,是放 TI 的开发文档的,里面很多都是讲述协议栈的 API 的
Projects,这个文件夹放的是 TI 协议栈的例子程序,一个个例子程序都是以一个个 project 的 形式给我们的,学好这些例子程序里面的一两个,基本你能做事情了。
Tools,这个文件夹是放 TI 的例子程序的一些上位机之类的程序,作为工具使用。

Components文件夹:

hal是硬件层面上的一些driver等等。

mac,zmac是mac层的协议接口。

 mt中你要用到的API几乎都可以在这里找到例子。

osal这个就是TI的Zstack协议栈的操作系统,是事件驱动的。

stack是一些zdo和zcl的东西。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140084.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 局部性原理的理解

    局部性原理的理解局部性原理的理解杜逸闲本文首先介绍了局部性原理的定义 然后列举了一些局部性原理的应用 接着具体讨论了局部性原理在 pagecoloring 中的应用 最后分析了局部性原理的本质 什么是局部性原理在计算机学科的概念中 局部性原理是一个常用的术语 指处理器在访问某些数据时短时间内存在重复访问 某些数据或者位置访问的概率极大 大多数时间只访问局部的数据 主要可以分为时间局部性和空间局部性两种 时间局部性如果一个数据正在被访问 那么在近期它很可能还会被再次访问 任何编写过程序的人都

    2025年10月17日
    5
  • Ubuntu 下安装 gcc 教程[通俗易懂]

    Ubuntu 下安装 gcc 教程[通俗易懂]如题。一、updatesudoapt-getupdate回车之后可能要输入root的密码。二、安装gccsudoapt-getinstallgcc照道理,这里应该就成功了。但是我遇到了其他问题。回车之后会出现无法获得锁/var/lib/dpkg/lock的情况。三、解决锁问题先重启一下Ubuntu。再试一次以上操作,如果还是出现锁问题。那就删除…

    2022年7月24日
    22
  • go语言的type func()用法

    go语言的type func()用法在 go 语言中 type 可以定义任何自定义的类型比如熟悉的 typedogstruc typemyIntint 等等所以 func 也是可以作为类型自定义的 typemyFuncfu int int 意思是自定义了一个叫 myFunc 的函数类型 这个函数的签名必须符合输入为 int 输出为 int 已知 相同底层类型的变量之间是可以相互转换的 例如从一个取值范围小的 int16 转为取值范围大的 int32 所以 自定义的 myInt 和 int 之间也是可以转换的 typemyIn

    2025年6月8日
    5
  • 彻底明白vue双向绑定底层原理(源码分析)

    彻底明白vue双向绑定底层原理(源码分析)vue是一个mvvm框架,双向绑定是vue的一个核心功能,所谓双向绑定就是当试图发生改变的时候传递给VM(ViewModel),让数据得到更新,当数据发生改变的时候传给VM(ViewModel),使得视图发生变化!概念都知道,但是vue怎么做到的呢?看下面的一张图(图是搬运别人的)可能你现在看不明白,observer是什么东西,watchter,Dep又是什么东西?没有关系,接下来只要你看完我这篇文章,保证给你整的明明白白!看上图,从左边开始newMVVM其实就是我newVue(),我们一

    2025年11月15日
    3
  • android详解_MPAndroidChart

    android详解_MPAndroidChart在开发当中曲线图用的时候太多了,之前都是自己手写,之后发现太累还丑不符合需求MPAndroidChart先介绍LineChart0.效果图首先依赖1. implementation

    2022年8月6日
    7
  • 个人微信api接口调用代码[通俗易懂]

    个人微信api接口调用代码[通俗易懂]个人微信api接口1、微信好友收发消息/***给微信好友发消息*@authorwechatno:tangjinjinwx*@bloghttp://www.wlkankan.cn*/@AsyncpublicvoidhandleMsg(ChannelHandlerContextctx,TransportMessagevo,StringcontentJsonStr){try{…

    2022年10月2日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号