Zigbee Z‐STACK协议栈和TinyOS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zigbee Z‐STACK协议栈和TinyOS相关的知识,希望对你有一定的参考价值。

 

 

 

 

 

ZigBee 和 Tinyos

关于ZigBee和TinyOS 

ZigBee的基础是IEEE 802.15.4。但IEEE仅处理低级MAC层和物理层协议,因此Zigbee联盟扩展了IEEE,对其网络层协议和API进行了标准化,这就是Z‐STACK,Z‐STACK协议栈是TI公司研发,通过ZigBee联盟认证的免费协议栈,协议内部包括了WSN(无线传感器网络)的OS的模型,协议栈具有国际化,标准化的特点,协议栈已提供十几种应用场景,可以非常轻松的让用户开发出满足国际标准的产品。 

TinyOS是一个空白的嵌入式操作系统(从TinyOS的安装过程就可以感知),理论上支持任何WSN(无线传感器网络)的OS架构,但到目前为止还没有一个基于TinyOS操作系统的ZigBee协议栈通过ZigBee联盟的认证,因此TinyOS的应用受到很大限制,并且就IC芯片而言,TinyOS被最多应用的是基于TI公司04年出的CC2430芯片上,对于最新的ZigBee芯片CC2530则偶见于某些高校的实验项目中。而ZigBee联盟则完全支持CC2530,即ZStack‐CC2530‐2.3.0‐1.4.0协议栈(免费) 

ZigBee和Z‐STACK环境 

理论知识 

C51编程(C语言或者汇编语言) 

单片机接口 

单片机调试、下载和烧写过程 

所需应用程序 

ZStack‐CC2530‐2.3.0‐1.4.0:协议栈(免费) 

IAR System 8051 8302:IAR EW8051编译器(许可证) 

SmartRF Flash Programmer 1.9.0:FLASH烧写(免费) 

SmartRF04EB仿真器驱动(win_64bit_x64、win_32bit_x86):仿真器驱动程序(安装SmartRF Flash Programmer时需要) 

ZigBee Sensor Monitor 1.2.0:节点监视(可选) 

RemoTI‐CC2530DK‐1.1:TI的开发组件(可选) 

Packet Sniffer 2.13.2:抓包软件(可选) 

Eclipse:编程工具(可选) 

TinyOS环境(Windows OS) 

理论知识 

Linux环境及常用Linux命令 

Linux下CC2430编译和烧写 

C,nesC两种编程语言 

C++,JAVA有一定了解 

1/4页

开发过程 

将Tinyos2.x 移植到CC2430(CC2530) 编译环境的构建流程:在 windows 下建立 cygwin 平台,并构建 TinyOS的编译环境,然后将基于 TinyOS 的应用程序编译成hex文件,通过仿真器下载到CC2430(CC2530)芯片运行。 

所需软件(注意软件版本) 

Java JDK 1.5:JAVA开发平台 

cygwin‐files:windows平台下的Unix环境 

TinyOS‐2.x嵌入式操作系统 

MSP430 Tools:CC2430 IC芯片工具包(不同的芯片需要不同的芯片包) 

TinyOS8051wg‐0.1pre4.tgz:TinyOS支持8051芯片包 

NesC:nesc编程工具包 

graphviz‐1.10:可视化图形软件包 

Giveo:烧写接口程序包 

以下程序表明在Windows环境下调试、下载和烧写 

IAR System 8051 8302:IAR EW8051编译器(许可证) 

SmartRF Flash Programmer 1.9.0:FLASH烧写(免费) 

SmartRF04EB仿真器驱动(win_64bit_x64、win_32bit_x86):仿真器驱动程序(安装SmartRF Flash Programmer时需要)。 

安装过程 

1. 安装Java JDK 

安装JAVA JDK。jdk‐1_5_0‐windows‐i586.exe,安装完成后,添加或修改系统变量。 变量名:JAVA_HOME  

变量值: 

C:\Program Files\Java\jdk1.5.0 (JDK安装的路径) 

变量名:CLASSPATH 

变量值: 

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 

编辑系统变量PATH,添加: 

;%JAVA_HOME%\bin; ;%JAVA_HOME%\jre\bin; 

测试,MS‐DOS下,执行:JAVAC,得到关于JAVA的使用帮助;执行:JAVA –version,

2/4页

 

得到当前JAVA版本。表明JAVA配置基本正常。 

2. 安装Cgywin 

解压cygwin‐files.zip到临时目录,执行目录中的setup,是典型的windows应用程序的安装,安装过程中需要选择安装路径、安装文件路径、安装策略、工具选择和安装内容等。安装完成后,将在桌面创建Cygwin的快捷方式,该快捷方式指向运行安装目录下的cwgwin.bat文件。运行该文件,进入Unix平台。可以尝试一些简单的Linux命令: 

help: 帮助命令。例如 ls ‐‐help 。显示ls命令使用说明。 

pwd:当前路径。 

rpm –qa :查看已经安装的程序,刚安装的Cygwin是没有安装任何系统的。  

rpm –ivh 文件名:rpm文件安装。 

rpm –ignoreos –force或者rpm ‐ivh ‐‐force ‐‐ignoreos:忽略错误,安装rpm文件‐‐ignoreos选项是用于忽略cygwin的版本号。 

cd:切换目录。cd /tmp 进入tmp文件。 

cp:文件复制,cp ‐R Blink BlinkSingle 

ls:显示文件。 

whoami:显示登陆Windows帐号 

uname –a: 显示版本信息 

echo $PATH: 显示执行程式的搜索路径 

ps ax: 显示process list ,显示目前有哪些process 执行 

ctrl‐D或exit 或logout:结束bash 视窗 

motelist 查询当前设备 

3. 运行cygwin,进入Unix环境,安装MSP430开发包 

rpm包如下: base 

python tools 

binutils 

gcc 

libc msp430tools‐base‐0.1‐20050607.cygwin.i386.rpm msp430tools‐python‐tools‐1.0‐1.cygwin.noarch.rpm msp430tools‐binutils‐2.16‐20050607.cygwin.i386.rpm msp430tools‐gcc‐3.2.3‐20050607.cygwin.i386.rpm msp430tools‐libc‐20080808‐1.cygwin.i386.rpm 

将上述包复制到/opt/msp340/下,运行: 

3/4页

 

rpm ‐ivh ‐‐ignoreos *.rpm 

4. 安装C51移植 

解压TinyOS8051wg‐0.1pre4.tgz 

tar –xvzf TinyOS8051wg‐0.1pre4.tgz 

在/opt下生成一个目录:tinyos‐2.x‐contrib。 

5. 安装TinyOS‐2.x 工具 

rpm包如下 Deputy 

tinyos‐tools 

noarch tinyos‐deputy‐1.1‐1.cygwin.i386.rpm  tinyos‐tools‐1.3.0‐1.cygwin.i386.rpm tinyos‐2.1.0‐2.cygwin.noarch.rpm 

将rpm下载到到/opt/tinyos‐2.x/文件夹下,运行: 

rpm ‐ivh ‐‐ignoreos *.rpm 

6. 安装NesC编译工具 

rmp包如下: 

NesC nesc‐1.3.0a‐1.cygwin.i386.rpm 

将rpm下载到到/opt/tinyos‐2.x/文件夹下,运行: 

rpm ‐ivh ‐‐ignoreos *.rpm 

7. 安装graphviz‐1.10可视化图形软件包 

在Windows环境下安装graphviz‐1.10,注意版本和使用默认的安装路径。 

8. 测试 

Cygwin Shell中 

Tos‐check‐env 

如果所有的软件包都安装正确,则显示: 

toscheck completed without error 

当个别软件包安装不正确时,会提示该软件包的相关出错信息,可根据需要纠正错误或忽略错误。 

 

以上是关于Zigbee Z‐STACK协议栈和TinyOS的主要内容,如果未能解决你的问题,请参考以下文章

TI的cc2530 z-stack协议栈简单问题

转TI Z-stack协议栈学习-添加新任务

转: ZigBee/Z-Stack CC2530实现低功耗运行的配置简介

ZigBee无线传感器的网络协议栈

Zigbee协议栈学习之串口透明传输

zigbee 学习笔记