TinyOS 学习第一周-Ubuntu-10.10下安装TinyOS-2.1.1

 

1           Ubuntu-10.10下安装TinyOS-2.1.1

1背景:TinyOS主要有三种运行环境:

<1> Windows环境: 虚拟机(Oracle VM Visual Box)—Xubuntu + TinyOS

参见:http://blog.csdn.net/fcwgj/archive/2010/05/13/5584936.aspx

 

<2> Windows环境: Windows + cygwin + TinyOS  或者

                   Windows xp平台+eclipse

参见:http://nmgzhangw.blog.163.com/blog/static/11389613620104115448124/

 

<3> Linux环境:     Ubuntu10.10 + TinyOS

 

相比之下,方法12都显得较为繁琐、欠稳定,特别是2方法中不好挂载多个节点同时烧写,并且Cygwin环境中不能执行单步执行命令。

因此本文,我个人也是用这个,记录叙述的是第3种的过程。正好在Ubuntu下,TinyOS的安装也相当的方便。不过需要注意的是,更方便,未必更省时间。因为默认的APT安装,会一起装进去一堆其他未必有用的东西,例如OpenJDK……

2安装好Ubuntu10.10并更新源

安装好ubuntu(我用的10.10版)之后,

1.      添加后面的repositorysources.list  

#sudo -i
#password
sudo gedit /etc/apt/sources.list 

#打开sources.list
#
在打开的sources.list添加后面的跟新列表,保存,关闭
deb  http://mirror.lupaworld.com/ubuntu intrepid main restricted universe multiverse
deb  http://mirror.lupaworld.com/ubuntu intrepid-security main restricted universe multiverse
deb  http://mirror.lupaworld.com/ubuntu intrepid-updates main restricted universe multiverse
deb  http://mirror.lupaworld.com/ubuntu intrepid-backports main restricted universe multiverse
deb  http://mirror.lupaworld.com/ubuntu intrepid-proposed main restricted universe multiverse
deb-src  http://mirror.lupaworld.com/ubuntu intrepid main restricted universe multiverse
deb-src  http://mirror.lupaworld.com/ubuntu intrepid-security main restricted universe multiverse
deb-src  http://mirror.lupaworld.com/ubuntu intrepid-updates main restricted universe multiverse
deb-src  http://mirror.lupaworld.com/ubuntu intrepid-backports main restricted universe multiverse
deb-src  http://mirror.lupaworld.com/ubuntu intrepid-proposed main restricted universe multiverse
deb  http://tinyos.stanford.edu/tinyos/dists/ubuntu hardy main

 

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

Supported distributions are (edgy, feisty, gutsy, hardy, jaunty, karmic, lucid)

注意:tinyos的源对应的 distributionhardy,而不是intrepid

 

2.      更新源

apt-get update 

3 安装tinyos

 sudo apt-get install tinyos

 

提示可选的 tinyos 的版本,选择最新的版本 2.1.1

 

 sudo apt-get install tinyos-2.1.1

 

4 选择是否安装JDK

在这里,可以选择是否安装JDK。(可以选择不安装)虽然TinyOS安装的时候会自动给你添加OpenJDK,但是既然有最新版的Java干嘛不用呢。

查看JAVA版本:

java  -version

自打Sun被收购以后,JDK就没再出现在Ubuntu的软件仓库里面,所以只能手动安装了。先去下载页面下载最新版的JDK包,然后就可以开始安装了。

 

下载页面:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html

   http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html(具体页面)

 

选择Linux x86 – Self Extracting Installer: jdk-6u25-linux-i586.bin 即可。

 注:JAVA JDK的安装方法见鸟哥一书。

5 安装python开发包:

apt-get install python-dev

这一步是必须的,不然在运行之后的make micaz sim的时候会报错: ubuntu 10.10 TOSSIM仿真无法找到Python.h”。 

产生这一现象的原因是:【参考文献9

 

1、 系统没装python的开发环境支持,只需要 sudo apt-get install python-dev即可。

 

2、 python的版本和tinyos中默认的不同,在ubuntu10.10中即使做了第一种情况,编译的时候仍然提示找不到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

6  环境变量配置

编辑/opt/tinyos-2.1.1/tinyos.sh文件,修改 CLASSPATH环境变量如下:

 

 

TinyOS自带的配置文件似乎有问题,不知道他们现在改正了没有,将第13行修改成:

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

就可以了。

7 在启动shell时,自动设置TinyOS环境变量。

sudo gedit  ~/.bashrc

$HOME下的.bashrc文件中添加下面语句:

source /opt/tinyos-2.1.1/tinyos.sh

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

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

tos-install-jni

 

sudo apt-get install g++  

 

sudo chmod 777 /opt/tinyos-2.1.0/apps/Blink)有的有这一步,我没有用,但是在运行第9tos-check-env时,总是显示错误,解决办法为跳出user目录,sudo –i , root进入,检查成功,显示:Setting up for TinyOS 2.1.1

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

记得关闭所有的终端,重启shell,这样新的环境变量才会生效。一般会出现两个警告Warning。一个是说你的Java版本不对,不是1.4或者1.5的,直接无视。另一个是说你的graphviz版本有问题。也无视。不记得在安装TinyOS的时候是否会自动安装graphviz,如果没安装就用APT自己装一下。到这里为止TinyOS安装基本结束了,很简单的几个步骤。打开你的终端,注意用户权限,应当会出现Setting up for TinyOS 2.1.1的字样。

10 重启机器或者注销用户重登录,运行样例程序Blink,成功。

方法1直接运行:

cd  /opt/tinyos-2.1.1/apps/Blink/

make iris

 

方法2新建Blink运行:【参考文献8

# 回到自己的目录,然后把TinyOS自带的Blink例子复制过来。

cd ~

cp -r /opt/tinyos-2.1.1/app/Blink   .

cd Blink

# IRIS传感器连接到一个USB口,查看一下当前连接的传感器。

# 这里假设系统查看到IRIS连接到/dev/ttyUSB0

Motelist(查看USB端口)(我的motelist一直没有成功)

 

As you see, motelist didn’t find my Iris mote. I don’t how to fix. Currently I’m still finding to fix this. Please let me know if you have solution.

Although I didn’t find my Iris mote but my Linux can detect USB of Iris mote. You can check using command as below

 

ls /dev/ttyUSB*

 

So I think it’s no problem to deploy our app to Iris mote.

 

For a sample, my Iris runs on /dev/ttyUSB0. For illustration, I used a TinyOS sample app i.e Blink for testing. Now change your current folder on /opt/tinyos-2.1.1/apps/Blink. Try to make Blink app

 

make iris

 

 

 

Now deploy Blink app to our Iris

 

make iris install mib520,/dev/ttyUSB0

 

If success, you’ll get this result as picture below

 

 

Now your Iris runs Blink app. For a sample, look at this video (I captured for you)

 

Clear Program From Iris

To clear your program from Iris, you can try to use avrdude

 

avrdude -cmib520 -P/dev/ttyUSB0 -pm1281 -e

 

 

参考文献

1  http://blog.sina.com.cn/s/blog_482e5e520100o3ma.html

2  http://www.cnblogs.com/tang-wei/archive/2011/03/21/1990862.html

3  http://www.cnblogs.com/qiweiwang/archive/2010/08/11/1797372.html

4  http://www.tinyosstudy.com/viewthread.php?tid=4286

5  http://blog.csdn.net/guoxuequan/archive/2010/11/26/6037531.aspx

6 http://docs.tinyos.net/index.php/Installing_TinyOS_2.1.1#Two-step_install_on_your_host_OS_with_Debian_packages

7  http://www.allopopo.cn/?p=38

8 http://blog.aguskurniawan.net/post/Getting-Started-Iris-Based-WSN-Mote-With-TinyOS-211-and-Ubuntu-1010.aspx

9  http://squallyjy.blog.sohu.com/169293919.html

 

你可能感兴趣的:(TinyOS学习)