Micaz节点的Tinyos系统安装

说明:为了留底也锻炼大家的动手能力,我写了这个文档,里面有我做的时候的步骤和需要注意的问题,算是比较详细了,文档中有问题的话可找我一起讨论!

首先,介绍一下Tinyos,TinyOS是UC Berkeley(加州大学伯克利分校)开发的开放源代码操作系统,专为嵌入式无线传感网络设计;但是与一般系统不同的是,Tinyos不能安装在Winsows系统中,它是在LINUX系统下的进行开发的系统,所以它的安装分为两种:(1)在WINDOWS XP 下安装cgwin,再在cgwin中安装Tinyos,所以cgwin的作用只是一个平台(2)安装一个LINUX系统——ubuntu,在ubuntu下安装Tinyos,个人感觉cgwin中安装比较复杂,而且接触一下ubuntu进行LINUX开发也是件好事,所以我选择的后者,下面的介绍也是这种方法。我的系统是WIN7.

言归正传,说一下安装步骤:

第一步:划分出一块新的磁盘空间,20G左右,建立一个新磁盘,也就是看着哪个磁盘可用空间比较大,拿出点来建立一个新的压缩卷。

注意:(1)划分磁盘空间时,先要拿出空间的磁盘是不是NTFS格式,不是的要转到NTFS格式,如果是FAT32格式,划分出新的磁盘空间后,原磁盘会被格式化。,千万注意!!!!实在不放心的话,就备份一下要划分的磁盘。

转换方法见http://jingyan.baidu.com/article/0eb457e57c08df03f1a905f0.html

(2)不要划分系统盘,否则会引起原系统不稳定。

划分磁盘空间方法:http://jingyan.baidu.com/article/91f5db1bd31dec1c7f05e392.html

第二步:假设大家都已经划分好了磁盘空间,下面就是安装LINUX系统-Ubuntu

(1)现在已经出到Ubuntu14.04,但是安装起来不好安装,我用的是Ubuntu12.04,桌面版(desktop), 下载时注意如多你的电脑是64位,则下载http://releases.ubuntu.com/precise/ubuntu-12.04-desktop-amd64.iso, 如果是32位,则下载http://releases.ubuntu.com/precise/ubuntu-12.04-desktop-i386.iso

(2)可以使用镜像工具打开镜像文件,从里面提取出

(3):找到我们刚才提取出来的Wubi,双击运行 Wubi.exe。在此选择你要的将 Ubuntu 安装第一步在磁盘新建的分区上,给Ubuntu 分配空间的大小,设置语言环境以及设定你的用户名和登陆密码,界面如截图,但是里面的内容根据自己的实际情况来设置,然后点安装。Wubi会自动找到你下的镜像文件自动进行安装。用户名,口令要记住,登陆系统时要用。

 

(4)安装完成之后,重启电脑,你会看到如下界面:

 

选择UBUNTU启动。启动后会看到Ubuntu的绚丽画面,个人感觉个Windows相比,是另一番风景。这时已经成功一半了!

(4)这时的Ubuntu不是健全的,需要一些配置,第三步只说安装Tinyos系统需要的配置,其他配置(例如视频配置,3D配置,各种驱动软件的配置大家以后有时间的话可以体验一下,参考)。

第三步:安装配置Tinyos2.1.1(这一步需要每一步都安装好,而且是Tinyos后续运行的关键,即使每一步都做好了,也很有可能一次安装不成功,因为我也保证不了一次安装成功!到时候可能会遇到各种问题,想到想不到的,到时候再查资料解决,要坚信前途是光明的,道路是曲折的……)OK, Tinyos系统版本也很多,我安装的是tinyos-2.1.1, 需要如下配置:

       1)打开终端,输入sudo-i,作用是用root进入,可能会弹出请输入密码,此密码就是你的登录口令,再有就是你输入密码时光标会在原地闪,不会往后走,其实已经输入了,尽管按顺序输入口令就行了,这是系统的保密动作。

用gedit /etc/apt/sources.list命令打开etc/apt/sources.list,并添加如下代码:

deb http://tinyos.stanford.edu/tinyos/dists/ubuntu hardy main

deb http://hinrg.cs.jhu.edu/tinyos oneiric main

(2)更新知识库,打开终端,输入

sudo apt-get update

(3)安装TinyOS  sudo apt-get install tinyos-2.1.1

(4)设置环境变量  用gedit ~/.bashrc命令打开~/.bashrc,在其中加入如下代码:#Sourcing the tinyos environment variable setup script  source /opt/tinyos-2.1.1/tinyos.sh 添加成功后需要重新启动终端  

所有打开文件的命令都是gedit 。。。。。。

(5)网上很多博客都写到要自己重新安装jdk,不过以我上面所述的安装方法jdk的版本如下:  java version "1.6.0_20" ,所以我没有自己重新安装jdk

(6)安装python开发包: apt-get install python-dev  这一步是必须的,不然在运行之后的make micaz sim的时候会报错:仿真无法找到Python.h。装好通过终端打开/opt/tinyos-2.1.1/support/make/sim.extra, 找到PYTHON_VERSION=2.x 一行,将2.x改为现在使用的python版本号即可。  用python -V可查看结果如果是“Python 2.6.6”,则需要改为2.6

7)环境变量配置  编辑/opt/tinyos-2.1.1/tinyos.sh文件,修改 CLASSPATH环境变量,将第13行修改成:  CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java/tinyos.jar:. 打开tinyos.sh文件方法同上gedit /opt/tinyos-2.1.1/tinyos.sh

(8)设置在启动shell时,自动设置TinyOS环境变量。  在$HOME下的.bashrc文件中添加下面语句:

source /opt/tinyos-2.1.1/tinyos.sh  export CLASSPATH=$TOSROOT/support/sdk/java/tinyos.jar:.最后的.不要丢!

打开~/.bashrc文件方法同上 gedit  ~/.bashrc

(9)安装TinyOS日后要用到的JNI和编译环境g++

输入命令:tos-install-jni   

sudo apt-get install g++

(10)运行tos-check-env检查你一下你有没有正确安装

不过,记得关闭所有的终端,重启shell,这样新的环境变量才会生效。关于graphvis的WARNING可以忽略。

至此理论上配置完了,如果不出问题,我们就算成功90%了,但是有没有问题还要看下一步的结果。重启电脑进行第四步。

第4步:节点的测试程序Blink烧录,

(1)将节点插在烧录板上,设置USB转串口,参考http://www.docin.com/p-95252341.html

(2)其次,进入终端,输入一下命令:

$make iris sim

$make iris

(3)$make micaz install.0 mib510,/dev/ttyS0

其中,ttyS4端口号-1所得,端口号通过,电脑不同,分配的端口号就不同,需要试几次,默认为0.

如果出现

 

并且节点上面的三个小灯以二进制闪烁,就算成功了!

以上是我之前做的东西,只是一个基本的入门,当时搞的时间也不长,大家要真正利用起节点进行收发数据还要再下功夫研究!对于之后的研究,我可能帮不上忙了,就要靠大家去查资料,学习,因为我当时我也是各处找资料,甚至通过同学找的东北大学的博士生帮忙,不过这样也能锻炼大家解决问题的能力!比如Blink程序的内容分析可以参考,他的博客里面还有关于两个节点通信的实验步骤,这就是进一步的研究了,还有很多很多,就需要在LINUX系统下编程开发了,现在就招聘来看LINUX开发很火热,以后打算从事这方面的可以好好学学,对找工作也是很有帮助的!

 

 

 

 

含测试

目前用过的最简单的安装步骤,速度也挺快。亲测好用。

郑重提示:安装ubuntu12.04系统,不要更新东西,14.04用过但是可耻的失败了。所以推荐12.04.安装过程可以参考我的上一篇文章http://blog.csdn.NET/u012322855/article/details/50813071。

 

tinyos环境搭建:

1)配置source源,修改 /etc/apt/sources.list

命令

添加 deb http://hinrg.cs.jhu.edu/tinyos karmic main 在最后面。

2)更新○目录包的列表。在控制台输入 sudo apt-get update 

3)安装tinyos最新版及其相关工具。

命令行输入:

4)可能会提示版本选择,所以我们选择一个版本,推荐2.1.1

命令行输入:sudo apt-get install tinyos-2.1.1

几个小时笔者用来1个多小时。

5)进入 /opt/tinyos2.1.1目录下,修改tinyos.sh文件,将CLASSPATH一行修改为:

CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/Java:.:$TOSROOT/support/sdk/java/tinyos.jar

其实前半部分是已经有的从《:。:》开始添加就可以了。(《》中内容换成英文输入法下的)

6)进入/homeyourname下。 其实打开控制台默认就是这个路径。输入:sudo gedit .bashrc 。打开了.bashrc文件。(实际路径是看不到这个文件的,是隐藏的)

在文件下面添加:

#Source the tinyos environment variable setup script

source /opt/tinyos-2.1.1/tinyos.sh

这两行

7)运行 bashrc文件,在控制台输入:

source .bashrc

然后会打印出Seting up for TinyOS 2.1.1

8) 运行tos-install-jni命令:

sudo tos-install-jni

如果提示类似【:31:=:unexpected operator错误,编辑 /usr/bin/tos-install-jni,将地第一行由”#!/bin/sh“改为”#!bin/bash“

9)检查环境

tos-check-env

下面报了WARNING,不用管,没ERROR就可以。

10测试

进入到tinyos目录下的apps下的Blink目录

cd /.../tinyos2.1.1/apps/Blink/ 别忘了最后的斜杠

命令行输入:

make telosb

然后会有大量的输出,没错误就成功了。

 

测试LED灯

通过一个具体的实验开始

准备:带有usb输入的telosb节点

1)连接。

把节点连在usb口,然后控制台输入 : motelist

会看到Reference Device Description 三列。Device下的/dev/ttyUSB0是端口号。说明烧制成功。

2)进入到Blink目录 ,记得路径最后要加/ ,输入 sudo make telosb install。这个命令不行的话,就先输入su 得到特权指令权限。然后输入:make telosb install 灯亮就成功了。