TinyOS 2.x 入门教程.doc
《TinyOS 2.x 入门教程.doc》由会员分享,可在线阅读,更多相关《TinyOS 2.x 入门教程.doc(57页珍藏版)》请在三一办公上搜索。
1、TinyOS 2.x 编程入门教程Version 1.02010/12/17目录前言1第1章编程环境的建立21.1安装Java 1.6 JDK21.2安装cwgwin(window only)21.3安装编译器21.4安装TinyOS工具31.5设置环境变量41.6安装 Graphviz41.7检测软件安装情况41.8USB串口驱动下载及安装5第2章TINYOS简介72.1nesC语言简介72.1.1组件(components)72.1.2并发模型112.2常用make命令简介122.3应用举例:Blink -TinyOS编程的“Hello World”程序122.3.1Blink配件132.
2、3.2BlinkC模块142.3.3事件evenst和命令commands162.3.4编译Blink应用程序172.3.5安装Blink程序到Telosb节点并运行172.4下载程序出错故障排除182.5小结20第3章TELOSB硬件平台常用可编程器件和对应的TINYOS组件介绍213.1Led223.1.1Telosb硬件平台上的Led器件展示223.1.2TinyOS中Led编程组件介绍223.2传感器233.2.1Telosb硬件平台上的传感器展示233.2.2TinyOS中传感器编程组件介绍243.3串口253.3.1Telosb硬件平台上的串口展示253.3.2TinyOS中串口编
3、程组件介绍263.4Radio273.4.1Telosb硬件平台上的Radio相关器件展示273.4.2TinyOS中Radio编程组件介绍273.5小结27第4章用事件驱动方式从传感器获取数据284.1模块实现284.2ADC30第5章TINYOS任务及应用举例335.1任务的创建和调度335.2举例:SenseTask应用程序335.3小结34第6章TINYOS串口编程356.1TestSerial应用程序356.2串口助手:PC上显示从串口读取的数据386.3Telosb从串口读取数据406.4Oscilloscope应用程序数据感知426.5BaseStation应用程序466.6小结
4、51附录1 TINYOS命名约定53附录2 NESC语言特有关键字54前言随着传感器技术、微机电系统、现代网络、无线通信、低功耗等技术的飞速发展,推动了无线传感器网络 (WSN:wireless sensor network) 的产生和发展。无线传感器网络涉及IT领域的多种技术,成为目前IT领域的研究热点之一。无线传感器网络就是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成一个多跳的自组织网络。无线传感器网络所具有的众多类型的传感器,可探测包括地震、电磁、温度、湿度、噪声、光强度、压力、土壤成分、移动物体的大小、速度和方向等各种各样的现象。具有广阔应用前景,潜在的应用领域
5、可归纳为:军事、航空、反恐、防暴、救灾、环境、医疗、保健、家居、城市管理等诸多领域。传感器节点是一个微型的嵌入式系统,具有非常有限的硬件资源,需要操作系统能够高效地使用其仅有的内存、处理器和通信模块,且能够对各种特定应用提供最大的支持。传感器节点有两个突出的特点。一是并发性密集,即可能存在多个需要同时执行的逻辑控制,这需要操作系统能够有效地满足这种发生频繁、并发程度高、执行过程比较短的控制逻辑流程;另一个特点是传感器节点模块化程度很高,要求操作系统能够很方便让应用程序方便地对硬件进行控制,且保证在不影响整体开销的情况下,应用程序中的各个部分能够比较方便地进行重新组合。美国加州大学伯克利分校针对
6、无线传感器网络的特点研发了TinyOS操作系统,在科研机构的研究中应用比较广泛。TinyOS是无线传感器网络中较为流行的操作系统,所用编程语言为nesC (network embedded system C),nesC语言由C语言扩展而来,意在把组件化、模块化思想和TinyOS基于事件驱动的执行模型结合起来。目前在国内,关于TinyOS的资料并不多,而且很散,给各个方面的人员在使用TinyOS时造成了诸多不便,我们在使用TinyOS时积累了一些经验,在此希望能对大家有一定的帮助。本教程所用硬件平台为Telosb,操作系统版本为TinyOS 2.x,nesC语言版本为1.3。主要内容的几乎覆盖T
7、elosb硬件平台的所有常用可编程器件及TinyOS一些重要概念,内容不是很深入,适合没有接触过TinyOS的初学者,但就其对于Telosb硬件平台而言,是使用Telosb硬件平台的工作人员或爱好者不可多得的参考文档,并且在熟悉了此教程之后,读者朋友们可以很容易地转到其它硬件平台上去。在范例的选择方面,本教程尽量选择了TinyOS自带的例子,方便读者测试。只有少数例子在TinyOS中没有,已编写了尽量简短的程序并在教程中展示了这些例子的完整代码。在讲解某些内容方面,特别是概念性的内容,我们借鉴了TinyOS官方公布的一些讲解方式、引用了部分内容及例子,以便尽可能准确传达TinyOS研发者的初衷
8、。最后,本教程要求读者均具有C语言编程的基础。因为nesC是C语言的扩展,在此教程不会讲解任何C编程方面的内容,如有读者未有C语言基础,请先学习C方面内容,以便可以进一步学习此教程涉及的内容。更加深入的内容及本教程使用到的工具会在“相关资源”列出,以方便大家进一步学习。 第1章 编程环境的建立目前TinyOS支持两种平台:cygwin(windows)和Linux。下面介绍在这两种操作系统下TinyOS的安装步骤。1.1 安装Java 1.6 JDK(1) 下载JAVA JDK SE 6 或(2) 安装路径c:UCBJavajdk1.6.0_10c:UCBJavajre6(3) 设置环境变量(
9、a)CLASSPATH我的电脑-属性-高级-环境变量-系统变量-新建变量名:CLASSPATH变量值:.;c:UCBJavajdk1.6.0_10bin;c:UCBJavajdk1.6.0_10libtools.jar(b)Path我的电脑-属性-高级-环境变量-系统变量-编辑变量名:Path变量值:c:UCBJavajdk1.6.0_10bin;c:UCBJavajdk1.6.0_10jrebin(c)JAVA_HOME我的电脑-属性-高级-环境变量-系统变量-新建变量名:JAVA_HOME变量值:c:UCBJavajdk1.6.0_101.2 安装cwgwin(window only)(1
10、) 从tinyos上下载Cygwin的兼容包http:/cone.informatik.uni-freiburg.de/people/aslam/cygwin-files.zip(2) 解压到c:cygwin-installationfiles(3) 运行c:cygwin-installationfilessetup.exe下一步-Install from Local Directory-下一步-Root Directory输入c:UCBcygwin-下一步-Local Package Directory输入c:cygwin-installationfiles-下一步-下一步-安装-完成(4)
11、 运行C:cygwincygwin.bat1.3 安装编译器(1) 安装Atmel AVR ToolsToolWindows/CygwinLinuxavr-binutilsavr-binutils-2.17tinyos-3.cygwin.i386.rpmavr-binutils-2.17tinyos-3.i386.rpmavr-gccavr-gcc-4.1.2-1.cygwin.i386.rpmavr-gcc-4.1.2-1.i386.rpmavr-libcavr-libc-1.4.7-1.cygwin.i386.rpmavr-libc-1.4.7-1.i386.rpm avariceavar
12、ice-2.4-1.cygwin.i386.rpmavarice-2.4-1.i386.rpminsightavr-insight-6.3-1.cygwin.i386.rpmavr-insight-6.3-1.i386.rpmavrdudeavrdude-tinyos-5.6cvs-1.cygwin.i386.rpmavrdude-tinyos-5.6cvs1.i386.rpm如果在安装时提示错误:有一个更新版本的rpm包已经安装,尝试使用命令 rpm -Uvh -force如果在安装时提示错误:找不到/bin/sh,尝试使用命令rpm -Uvh -force -nodeps(2) 安装TI
13、MSP430 ToolsToolWindows/CygwinLinuxbasemsp430tools-base-0.1-20050607.cygwin.i386.rpm msp430tools-base-0.1-20050607.i386.rpmpython toolsmsp430tools-python-tools-1.0-1.cygwin.noarch.rpm msp430tools-python-tools-1.0-1.noarch.rpmbinutilsmsp430tools-binutils-2.16-20050607.cygwin.i386.rpmmsp430tools-binut
14、ils-2.16-20050607.i386.rpmgccmsp430tools-gcc-3.2.3-20050607.cygwin.i386.rpmmsp430tools-gcc-3.2.3-20050607.i386.rpmlibcmsp430tools-libc-20080808-1.cygwin.i386.rpmmsp430tools-libc-20080808-1.i386.rpmjtagNot yet availablemsp430tools-jtag-lib-20031101cvs-20050610.i386.rpmgdbNot yet availablemsp430tools-
15、gdb-6.0-20050609.i386.rpm1.4 安装TinyOS工具ToolWindows/CygwinLinuxCommandNescnesc-1.3.1-1.cygwin.i386.rpm(not available yet)nesc-1.3.1-1.fc9.i386.rpmrpm Uvhrpm Uvh ignoreos (if Cygwin complains)ToolWindows/CygwinLinuxCommandDeputytinyos-deputy-1.1-1.cygwin.i386.rpmtinyos-deputy-1.1-1.fc9.i386.rpmrpm irp
16、m i ignoreos (if Cygwin complains)ToolWindows/CygwinLinuxCommandTinyos-toolstinyos-tools-1.4.0-3.cygwin.i386.rpmtinyos-tools-1.4.0-3.ubuntu.i386.rpmrpm ivh -force (2.x tree)rpm Uvh (no 2.x tree)1.5 设置环境变量需要在TinyOS的配置文件中对环境变量进行设置:Environment VariableWindowsLinuxTOSROOT/opt/tinyos-2.xsame as in Cygwin
17、TOSDIR$TOSROOT/tossame as in CygwinCLASSPATHC:cygwinoptTinyos-2.xsupportsdkjavatinyos.jar$TOSROOTMAKERULES$TOSROOT/support/make/Makerulessame as in CygwinPATH/opt/msp430/bin:/opt/jflashmm:$PATHsame as in Cygwin只有在使用MSP430或者是iMote2的硬件平台的时候,才需要对环境变量PATH进行设置。在理想情况下,可以通过将这些环境变量写入shell脚本文件中,它会在每次shell启动的
18、时候自动运行。可以使用命令“/.bash_profile”打开配置文件进行添加。1.6 安装 Graphviz对于Windows操作系统,可以到http:/webs.cs.berkeley.edu/tos/dist-1.1.0/tools/windows/graphviz-1.10.exe下载所需的安装文件,否则到http:/www.graphviz.org/Download.php下载所需的rpm包进行安装。1.7 检测软件安装情况安装完TinyOS等软件包之后,打开Cygwin shell,输入命令:$tos-check-env系统将会检测各个程序是否正常,查看安装时是否有错误发生。一般情
19、况下,不会发生什么严重错误。当全部程序正确安装时,最后一行是:toscheck completed without error.注意:这一行很重要,如果有任何错误,请根据提示信息进行改正。若在检测后出现如下提示:toscheck completed with errors:- WARNING: CLASSPATH may not include . (that is, the symbol for the current working directory). Please add . to your CLASSPATH or you may experience configuration
20、problems.此信息提示:某环境变量配置有点问题,但是这是关于TinyOS自带的java工具的,这是因为在配置文件中格式的问题,进行修改后即可。1.8 USB串口驱动下载及安装Telosb硬件平台使用FTDI公司的“USB转串口芯片”:FT232B,该芯片的驱动程序请在FTDI公司的网站下载,具体链接为: xp,故本人选择windows xp版本的驱动。当您第一次使用Telosb时,需要安装驱动程序。将Telosb节点插入PC的USB接口,如果找不到驱动程序,Windows 会弹出“发现新硬件向导”的对话框,如图1.11所示。选择 “Install from a list or speci
21、fic location (Advanced) ”,然后点击 “Next”, 图1.11 弹出的安装向导接着,选择 “Include this location in the search”,然后点击 “Browse”。 如图1.12所示: 图1.12 选择您的驱动程序然后 ,选择驱动程序所在文件,例如:在笔者的电脑中,文件夹如图1.12所示,点击 “OK”,然后点击 “Next”。紧接着Windows安装该驱动程序,安装完成后就把 Telob 变成一个USB 串口设备。此时您可以检查设备管理器端口,看是否有 USB Serial Port 这个设备,如果没有可以重试几次。第2章 TinyOS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TinyOS 2.x 入门教程
链接地址:https://www.31ppt.com/p-2392531.html