=== 实验目的 ===
0 为了学习开发无线传感器网络(Wireless Sensor Network)上的应用。
1 熟悉telosb无线传感器节点的基本功能:LED灯,无线收发,与PC通信
2 了解TinyOS操作系统的架构轮廓
=== 主要前提 ===
有至少两个telosb无线传感器节点,上面可以跑TinyOS操作系统
安装VirtualBox虚拟机:VirtualBox-4.1.12-77218-Win.exe
解压TinyOS环境:UbuntuTOS_Ubuntu-9.10_TinyOS-2.x.zip
主机名:wcu
口令:nosecurity
=== 实验二:Blink——TinyOS编程的“Hello World” ===
将telosb节点通过USB接入PC(需要在右下角USB图标上点右键,勾选)后,
【在terminal下,下文同】
wcu@wcu-desktop:/opt/tinyos-2.1.0/apps/Blink$ motelist
wcu@wcu-desktop:/opt/tinyos-2.1.0/apps/Blink$ make telosb install
观察节点上的现象:LED交替闪烁。
=== 实验五:节点与PC的通信 ===
1 、包源( packet source )与 TestSerial
wcu@wcu-desktop:/opt/tinyos-2.1.0/apps/tests/TestSerial$ motelist
wcu@wcu-desktop:/opt/tinyos-2.1.0/apps/tests/TestSerial$ make telosb install
wcu@wcu-desktop:/opt/tinyos-2.1.0/apps/tests/TestSerial$ java TestSerial -comm serial@/dev/ttyUSB0:telosb
为了不再写-comm serial@/dev/ttyUSB0:telosb这一串麻烦事,用export命令:
wcu@wcu-desktop:/opt/tinyos-2.1.0/apps/tests/TestSerial$ export MOTECOM=serial@/dev/ttyUSB0:telosb
# 注意,每次启动terminal时都得执行这一条命令才能有效。
再跑TestSerial就不用后面的麻烦事了:
wcu@wcu-desktop:/opt/tinyos-2.1.0/apps/tests/TestSerial$ java TestSerial
2 、基站( BaseStation )和 net.tinyos.tools.Listen
我不知道BlinkToRadio目录在哪里,用find命令:
wcu@wcu-desktop:/opt/tinyos-2.1.0/apps/tests/TestSerial$ sudo find /opt/tinyos-2.1.0/apps -name BlinkToRadio
得到结果,切换到对应目录:
wcu@wcu-desktop:/opt/tinyos-2.1.0/apps/tutorials/BlinkToRadio$ make telosb install /* 实验四的两个节点都烧写这个程序,值得一提的是,用make telosb install.1984 可以将nodeID设置为1984*/
取下此结点,换新节点烧写程序:
wcu@wcu-desktop:/opt/tinyos-2.1.0/apps/BaseStation$ make telosb install
wcu@wcu-desktop:/opt/tinyos-2.1.0/apps/BaseStation$ java net.tinyos.tools.Listen
观察terminal上的现象:接到十六进制表示的数据。
3、 printf库的应用
在代码的任何地方可以添加标准C的printf语句,用与节点连接的PC读取打印信息,用来测试程序非常方便。
代码文件最前面必须有语句
#include "printf.h" ,当前目录下必须有
printf.h 头文件。
当前目录下的Makefile文件中必须添加语句
CFLAGS += -I$(TOSDIR)/lib/printf
对应读取数据的java包是:
java net.tinyos.tools.PrintfClient