《TinyOS-2.x-入门教程.docx》由会员分享,可在线阅读,更多相关《TinyOS-2.x-入门教程.docx(57页珍藏版)》请在优知文库上搜索。
1、TinyOS2.x编程入门教程Version1.02010/12/17书目前言第1章编程环境的建立1.1 安装JAVAl.6JM21.2 安装CKnN(11MXW(W1.T)21.3 安装-WB21.4 安装TIOToS工具31.5 Ut环缰三*31.6 安装GlAfflnZ41.7 MW软件安装状况41.8 USB串口驱动下安装5第2章TINYOS简介2.1 SC语&简介ffl件(cnponents)7并发模组H2.2 常用Mn吩板介122.3 蜘B1.DKTDffOS*8的-HElXOf0U)Wf12Blink归件13BlinkC模块14事务evenst和吩附ConnHndS16编译BIi
2、nk应用程序17安装BIink程序到TCloSb节点并运行172.4 下出幡故MW除182.5 小结20第3章TE1.OSB硬件平台常用可馆程器件和对应的TINYOS蛆件介绍21Telosb慢件平台上的1.ed零件展示22TinyoS中1.ed编程组件介绍223.2 23TCIoSb硬件平台上的传感器展示23TinyOS中传感寄漏秤姐件介招243.3 串口25Telo曲硬件平台上的串I展示25TinyOS中用Il编程殂件介绍263.4 Radio27Telosb硬件平台上的Radio相关网件展示27TinyOS中Radio编程组件介绍273.5 小结274用方式从获得数据274.1 ”实现28
3、4.2 ADC30第5章TlNYOS任务及JS用举例335.1 任务的创建和度335.2 IMItSa(SBTAa应用Wr335.3 小结34第6章TINYOS串口编程356.1 TtoTSaUA1.Sffi8t356.2 串口助手,PC上显示从串口读取的数据386.3 TttOSB从串口读取406.4 OSCl1.1.oeCOre应用射426.5 BassStatkm应用466.6 小站51附录1TlNYOS命名约定52附录2NESC语言储关健字54前言防行传感器技术、做机电系统、现代网络、无线通信、低功耗等技术的E速发展,推动了无线传感器网络(ISN:wirelesssensornetwo
4、rk)的产生和发展.无线传感渊网络涉及IT领域的多种技术,成为目前IT轴域的探讨热点之一.无线传感器网络就是由部部在监测区域内大以的廉价微型传络器节点组成,通过无畿通信方式形成一个多淡的自组演网络,无线传礴器网络所具有的众多类皇的传感器,可探测包括地震、电描、温度、湿度、噪声、光强度、东力土馔成分、移动物体的大小、速度和方向等各种各样的现象.具有广袤应用前景,潜在的应用领域可归幼为:军事、侦空、反恐、防暴、故灾、环境、医疗、保健、家居、城市管理等诸多领域,传感涔节点是一个做笈的嵌入式系统,具有特别有限的硬件资源,须要操作系统能修高效地运用其仅有的内存、处理渊和通信桢块.且能峡对各种特定应用供应
5、最大的支持.传感器节点有两个突出的特点,一是并发性密集,即可能存在多个须要同时执行的逻辑限制,这须要操作系统能帔有效地满意这种发生频繁、并发程度高、执行过程比较短的限制逻辑流程:另一个特点是传感器节点模块化程度很高,要求操作系统能够很便利让应用程序便利地对硬件进行限制且保证在不影响整体开俏的状况下,应用程序中的各个部分能够比较便利地进行重新组合.美国加州高校伯克利分校针对无线传感器网络的特点研发了TinyOS操作系统,在科研机构的探讨中应用比较广泛,TinyOS是无戏传感涔网络中较为流行的操作系统,所用编程语言为nesC(networkembeddedsystemC),nesC语才由C谙吉扩展
6、而来.意在把组件化、模块化思想和TinyOS基于事务驱动的执行模型结合起来.目前在国内,关于TinyOS的资料并不多,而且很做,给各个方面的人员在运用TinyOS时造成了诸多不便,我们在运用TinyOS时枳累了一线阅历,在此希里能对大家有泞定的帮助”本教程所用硬件平台为Telosb.操作系统版本为TinyOS2.x.nesC谱言版本为1.3.主要内容的几乎序装TeloSb硬件平台的全部常用可编程器件及TinyOS一些理要概念,内容不是很深化,适合没有接触过TinyOS的初学者,但就其对于Telosb现件平台而言,是运用Telosb硬件平台的工作人员或吸好者不行多得的参考文档,并且在熟识了此教程
7、之后,读者挚友们可以很简洁地转到其它硬件平价上去.在爸例的选择方面,本教程尽量选择了TinyOS自带的例产,便利读者测试.只有少数例干在TinyOS中没有,己编写了尽用简短的程序并在教程中展示了这些例子的完整代码,在讲解某些内容方面,特殊是概念性的内容,我们借鉴了TinyOS官方公布的一些讲解方式、引用了部分内容及例子.以使尽可能精确传达TinyOS研发者的初亵.岐终,本教程要求读者均具有C语古编程的基础.因为nesC是C诺古的扩展,在此教程不会讲解任何C编程方面的内容,如有读者未有C语言祭础,请先学习C方面内容,以便可以进一步学习此教程涉及的内容。更加深化的内容及本教程运用到的工具会在“相关
8、资源列I1.以便利大家进一步学习.第1章编程环境的建立目前TinyOS支持两种平台:CyKVin(windows)和1.inUX。下面介绍在这两种操作系统下TinyOS的安装步骤.1.1安装JaVaI.6JDK(1)下载JAVAJDKSE6或n-b32-windows-i586-p-12_sep_2008.exe(2)安装路径c:UCBJavajdk_10c:UCBJavajre63)设置环境变最(a) C1.ASSPATH我的电脑属性-高级环境变量系统变量新建变量名Hlasspath变量值;c:lCBJavajdk_10bin:c:UCBJavajdkl.6.0J0libtools.jar(
9、b) Path我的电脑-属性-将级环境变址系统变fit娟辑变fit名:Path:c:MJCBuaVajdk_10bin;c:UCBJavajdkl.6.0.10jrebin(c) JAVRjoME我的电脑-属性-高级环境变址系统变量新建-fit名:JAVAIoME变量值:c:UCBJavajdk_101.2安装CWgWin(windowonly)easinCygwin只有在运用MSP430或者是iMow2的埋件平台的时候,才须要对环境变量PATll进行设置,仕志向状况下,可以通过符这些环境变量写入Shdl脚本文件中,它会在每次Shell启动的时候自动运行.可以运用吩咐“Tbash_PrOfnC
10、”打开配置文件进行添加.scriptforpoflie.dforboshshells,adjustedforeachusers2 9installationbyaubacutlng/optfortheactualCXnyoStree3 ffinstallationpoint.5 exportTOSROOT-topt/1nyos-2.x*6 exportTOSDIR-w$T0SRTTOSw7 exportC1.S3PATH三,cygpach-wSTOSPOOT/oupporc/adVjvtlnyo8.Jar,eexportC1.AS3PTH*tC1.A33PTH;.*9exportMAK三RU1.ES-,tTOSROOT3upportkeXaXeruleaw1011typejvdevnull2devnullPATH*usrlocalbnlocate-jee-java:5PTHIZtypeJavacdevnull2devn