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)可以使用镜像工具打开镜像文件,从里面提取出 Wubi.exe 安装程序。下载完后将 Wubi 和 Ubuntu 12.04的镜像文件放在同一个分区的根目录下(一定要在同一目录下!),这样我们就要开始安装了。
(3):找到我们刚才提取出来的Wubi,双击运行 Wubi.exe。在此选择你要的将 Ubuntu 安装第一步在磁盘新建的分区上,给Ubuntu 分配空间的大小,设置语言环境以及设定你的用户名和登陆密码,界面如截图,但是里面的内容根据自己的实际情况来设置,然后点安装。Wubi会自动找到你下的镜像文件自动进行安装。用户名,口令要记住,登陆系统时要用。
(4)安装完成之后,重启电脑,你会看到如下界面:
选择UBUNTU启动。启动后会看到Ubuntu的绚丽画面,个人感觉个Windows相比,是另一番风景。这时已经成功一半了!
(4)这时的Ubuntu不是健全的,需要一些配置,第三步只说安装Tinyos系统需要的配置,其他配置(例如视频配置,3D配置,各种驱动软件的配置大家以后有时间的话可以体验一下,参考http://blog.csdn.net/zouxy09/article/details/7893175)。
第三步:安装配置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烧录, Blink程序是Tinyos自带的节点测试程序,为了验证节点是否正常以及系统是否安装正确。下面就是见证奇迹的时刻,不成功,便要继续捣鼓第三部=,=!!
(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程序的内容分析可以参考http://blog.csdn.net/jacoxu/article/details/7745296,他的博客里面还有关于两个节点通信的实验步骤,这就是进一步的研究了,还有很多很多,就需要在LINUX系统下编程开发了,现在就招聘来看LINUX开发很火热,以后打算从事这方面的可以好好学学,对找工作也是很有帮助的!
含测试
目前用过的最简单的安装步骤,速度也挺快。亲测好用。
郑重提示:安装ubuntu12.04系统,不要更新东西,14.04用过但是可耻的失败了。所以推荐12.04.安装过程可以参考我的上一篇文章http://blog.csdn.NET/u012322855/article/details/50813071。
tinyos环境搭建:
1)配置source源,修改 /etc/apt/sources.list
命令 sudo gedit /etc/apt/sources.list
添加 deb http://hinrg.cs.jhu.edu/tinyos karmic main 在最后面。
2)更新○目录包的列表。在控制台输入 sudo apt-get update
3)安装tinyos最新版及其相关工具。
命令行输入: sudo apt-get install 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 灯亮就成功了。