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