初识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的东西。

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • visual studio code好用的插件(ae的插件)

    最后一款插件真的很实用》》》

  • vue跨域解决方案反向代理_怎么解决跨域问题

    vue跨域解决方案反向代理_怎么解决跨域问题文章目录前言一、跨域是什么?二、解决跨域的办法前言跨域错误信息AccesstoXMLHttpRequestat‘http://192.168.2.92:3000/api/b/home’fromorigin‘http://localhost:8080’hasbeenblockedbyCORSpolicy:Responsetopreflightrequestdoesn’tpassaccesscontrolcheck:ItdoesnothaveHTTP

  • Android学习路径(两)项目文件本身使用场景和文件演示

    Android学习路径(两)项目文件本身使用场景和文件演示

  • python做微信回复机器人_python聊天机器人代码

    python做微信回复机器人_python聊天机器人代码下面这个小文章适合初学Python的童鞋哦~~~一个很好用的微信库:itchat拿使用图灵机器人设置自动回复,让机器人跟微信好友傻傻的聊天,机器人比小编还会聊天,无论是对美眉还是汉纸,上来就是爱!爱!爱!简直太辣眼睛!!!用它进行来调戏微信好友,简直6的一笔!(记住一条!千万不能对女票使用,遭遇一万点伤害)好啦,下面就来一起看一下如何使用吧!使用工具:itchat,req…

  • pytest的assert_assert断言语句

    pytest的assert_assert断言语句前言断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢?简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试failed

  • C语言-判断回文字符串(二)

    C语言-判断回文字符串(二)7-2 判断回文字符串 (15分)输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。输入格式:输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。输出格式:输出在第1行中输出字符串。如果它是回文字符串,在第2行中输出Yes,否则输出No。输入样例1:level输出样例1:levelYe…

发表回复

您的电子邮箱地址不会被公开。

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