初识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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Flex上传文件

    Flex上传文件

    2022年1月24日
    49
  • web基础知识总结_Web站点基础阶段包含哪些阶段

    web基础知识总结_Web站点基础阶段包含哪些阶段传统身份验证的方法:HTTP是一种没有状态的协议,也就是它并不知道是谁是访问应用。这里我们把用户看成是客户端,客户端使用用户名还有密码通过了身份验证,不过下回这个客户端再发送请求时候,还得再验证一下。解决的方法就是,当用户请求登录的时候,如果没有问题,我们在服务端生成一条记录,这个记录里可以说明一下登录的用户是谁,然后把这条记录的ID号发送给客户端,客户端收到以后把这个ID号存储在C…

    2025年7月11日
    3
  • snmptrap报文_snmp指定发送IP

    snmptrap报文_snmp指定发送IP#/bin/shOidWarnHead=1.3.6.1.4.1.53151.2.15.4.1targetIp=172.16.101.34targetPort=162trapOid=1.3.6.1.4.1.53151.3.1warnIdOid=${OidWarnHead}.1.0warnIdVal=1500000200warnSnOid=${OidWarnHead}.2.0…

    2022年8月20日
    6
  • linux上查看mysql的密码_Linux下MySQL忘记密码「建议收藏」

    linux上查看mysql的密码_Linux下MySQL忘记密码「建议收藏」1、前沿今天在服务器安装mysql之后,登录发现密码错误,但是我没有设置密码呀,最后百度之后得知,mysql在5.7版本之后会自动创建一个初始密码。报错如下:[root@mytestlnx02~]#mysql-uroot-pEnterpassword:ERROR1045(28000):Accessdeniedforuser’root’@’localhost'(usingp…

    2022年6月21日
    243
  • Lotus Notes视图索引的机制

    Lotus Notes视图索引的机制
    内容提要:
    本文对视图的索引机制进行说明。包括:术语、索引的机制、视图索引的选项说明。
    说明
    视图索引的机制
    第1章概述
    本文档主要是对视图的索引机制进行说明。包括:术语、索引的机制、视图索引的选项说明。
    文档中用到的术语:
    更新(Refresh):按F9可以刷新视图的索引。Refresh读视图的索引并刷新用户的屏幕。它不会重建视图的索引。
    重建(Rebuild):按Shift+F9可以重建视图的索引。重建视

    2022年7月22日
    19
  • c语言和java哪个好学_学java前要学C语言吗?java和C语言哪个好学?

    c语言和java哪个好学_学java前要学C语言吗?java和C语言哪个好学?在编程世界,只要一提到java,总会有人联想到C语言,仿佛这两者之间有着一种密不可分的联系,那么也会有外行人在选择学习编程时,会有类似于学java前是否需要学习C语言呢?或者说java和C语言哪个会比较好学?等等之类的问题。其实大家会有这样的问题倒也不奇怪,因为学习C语言就是在学习Java,因为C语言中至少80%的语法知识都被Java继承了。Java刚开始的前半部分,如数据类型、变量、流…

    2022年7月7日
    25

发表回复

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

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