当前位置:文档之家› zigbee协议,源代码

zigbee协议,源代码

竭诚为您提供优质文档/双击可除

zigbee协议,源代码

篇一:揭开zigbee20xx协议栈z-stack的”开源“面纱

揭开zigbee20xx协议栈z-stack的”开源“面纱

(20xx-11-2216:06)分类:zigbee技术学习

我们都在说zigbee20xx协议栈z-stack是开源的,但是这个协议栈到底是全部开源的,还是只是开源一部分,让我们来揭开它的“开源”面纱?z-stack是在20xx年4月,德州仪器推出业界领先的zigbee协议栈,

z-stack符合zigbee20xx规范,支持多种平台,z-stack 包含了网状网络拓扑的几近于全功能的协议栈,在竞争激烈的zigbee领域占有很重要地位。配合osal完成整个协议栈的运行。

z-stack只是zigbee协议的一种具体的实现,我们要澄清的是zigbee不仅仅有z-stack这一种,也不能把z-stack 等同于zigbee20xx协议,现在也有好几个真正开源的zigbee

协议栈,例如:msstatepan协议栈,freakz协议栈,这些

都是zigbee协议的具体实现,而且是全部真正的开源的,

它们的所有源代码我们都可以看到,而z-stack中的很多关键的代码是以库文件的形式给出来,也就是我们只能用它们,而看不到它们的具体的实现。那下面我们就以

z-stack1.4.3-1.2.0看看它的组织架构,那些功能是开源的,那些是以库文件的形式提供给我们的。我们利用z-stack开发应用,只能知道怎么做和做什么也就是“how”和“what”,而不能准确的知道“为什么”,“why”.我们也可以通过真正这些开源的zigbee协议栈了解为什么。

我们可以从ti的官方网站下载最新的协议栈,/zigbee 我这里的是zigbee20xx版本为版本的。下载完以后我们可

以点击exe文件进行安装,默认会在c盘的根目录下建立texasinstruments目录,该目录下面的子目录就是安装

z-stack的文件。下面的这个图就是z-stack协议栈的目录

结构,

根目录下有一个gettingstartedguidecc2430.pdf文件,是安装卸载协议栈的说明文件,另外三个文件夹分别是documentscomponents和project。

1.documents

documents文件夹包含了对整个协议栈进行说明的所有

文档信息,下面有很多的pdF格式的文档,内容比较多,不

过也无需全部的细读,我们可以把它们当做参考手册,根据需要来阅读。

ponents

components文件夹是z-stack协议栈的各个功能部件的实现,本文件夹下包含的子目录如下:

1)hal文件夹为硬件平台的抽象层

2)mac文件夹包含了802.15.4物理协议的实现说需要代码文件的头文件,由于ti公司处于某种考虑,这部分并没有给出具体的源代码,而是以库文件的形式存

在.\projects\zstack\libraries文件夹给出

3)mt文件夹包含了为系统添加在电脑上有z-tools调试的功能所需要的源文件

4)osal包含了操作系统抽象层所需要的文件

5)service文件夹保护了z-stack提供的两种服务:寻址服务和数据服务所需要的文件

6)stack文件夹是components文件夹最核心的部分,是zigbee协议栈具体实现部分,在在其下有分为了af(应用框架),nwk(网络层),sapi(简单应用接口)、sec(安全)、sys(系统头文件),zcl(zigbee簇库),zdo(zigbee设备对象)等7个文件夹。

7)zmac文件夹包含了z-stackmac导出层文件。

还有一个project目录,该目录下包含了用于z-stack

功能演示的各个项目的例子。可供开发者们参考。

从上面我们可以看到其中核心部分的代码都是编译好的,以库文件的形式给出的,比如安全模块,路由模块,和mesh自组网模块。如果要获得这部分的源代码可以向ti购买,可能花费不菲,可要大几万人民币。ti所谓的“开源”只是提供给我们一个平台,开发者可以在上面做应用而已,而绝不是我们通常理解的开源。也就我们在下载后源代码后,有些函数我们根本无法查看到它们的源代码的原因。现在ti 公司提供的cc2480芯片,已经把这个协议栈固化到了硬件中,我们只需要掌握几个简单的api就可以完成基本的应用开发。现在也有公司开发出了基于at指令集的zigbee协议栈,更方便开发了。

在前面也提到过一些真正开源的zigbee协议栈,不过

这些协议栈没有大的商业公司的支持,开发升级方面,性能方面和ti公司的还是有很大的差距,这里就简单的介绍几个:

(1)msstatepan协议栈

msstatepan协议栈是由密西西比大学的R.Reese教授

为广大无线技术爱好者开发的精简版zigbee协议栈,基于

标准c语言编写,基本具备了zigbee协议标准所规定的功能,最新版本为V0.2.6,该版本支持多种开发平台,包括picdemz、cc2430评估板、msp430+cc2420(tmote)以

及win32虚拟平台。源代码是开放的,整个协议栈是基于状态机(Fsm)实现的。如果你的程序构架不是基于操作系统的,有限状态机应该是一个很好的选择。而且os (operatingsystem)中进程的状态也是个各个状态间的切换。该协议栈的网站地址如下/

(3)tinyos:

tinyos是ucberkeley(加州大学伯克利分校)开发的

开放源代码操作系统,专为嵌入式无线传感网络设计,操作系统基于构件(component-based)的架构使得快速的更新

成为可能,而这又减小了受传感网络存储器限制的代码长度。tinyos的构件包括网络协议、分布式服务器、传感器驱动及数据识别工具。它只是一个操作系统,不过现在已经成立了tinyoszigbeeworkinggroup已经开始设计开源的zigbee。

非常值得我们的期待。

下载地址如下:http:///

篇二:zigbee数据的发送和接收

数据的发送和接收

一、数据的发送

在zstack20xx的协议栈中,我们只需调用函数

aF_dat }addr;

afaddrmode_taddrmode;//传送模式

byteendpoint;//端点号

相关主题