基于TinyOS的传感器网络节点物理层的设计与实现

合集下载

基于Tinyos的无线温湿度传感器网络系统设计和实现

基于Tinyos的无线温湿度传感器网络系统设计和实现

势 . 这 些 应 用 中 , 度 和 湿 度 是 最 基 本 的 参 数 在 温
指标 .
1 系统概述
图 l 示 为 一 个 典 型 的 传 感 器 网 络 的 系 统 结 所
构 J 包 括 分 布 式 传 感 器 节 点 ( ) 汇 聚 节 点 和 管 , 群 、 理 节 点 . 量 的 传 感 器 节 点 随 机 布 署 在 监 测 区 域 内 大 部 , 够 通 过 自组 织 方 式 构 成 网 络 . 感 器 节 点 采 集 能 传 的 数 据 沿 着 其 他 传 感 器 逐 跳 进 行 传 输 , 过 多 跳 后 经 路 由 到 汇 聚 节 点 。 后 通 过 互 联 网 或 者 卫 星 网 到 达 最
p r uea dh mdt bsdowrl s esr e o ( N) ic dn ad a os utn tea ht tr o i o n ee p ea r n u i y ae f i e no nt r WS , l ig rw r cnt co , r i c e f n s ddvl - t i ess w k nu h e r i h c eu T y a o
Ab t a t s r c :W i ls e s r ew r n e r td mir . lcr — c a i s n o n i l s o r e s s n o s n t o k it ga e c o ee t me h n s e s r d w r e sc mmu ia in t c n lg S an v l e h e o m a e n c t e h oo y i o e c — o t n l g b u c u r g a d p o e sn f r t n a d h sw d p l a in a e . oi t d c h eal f y tm o n trn e oo a o t q i n n r c s ig i o mai n a i ea p i t r a T n r u et ed ti o s s y a i n o c o o s a e fr mo i i gt m— o

基于TinyOS的无线传感器网络体系结构

基于TinyOS的无线传感器网络体系结构

信 量 , 本 地 完 成 必 要 计 算 进 行 数 据 融 合 , 而 协 作 完 成 在 从 部署 空 问数 据 的采 集 。在 应 用 上 体 现 以 网络 为 中心 , 点 节 的功 能 通 过 网络 来 体 现 。因 而 传 统 的 嵌 入 式 设 计 思 想 在 无 线 传 感 器 网络 中遇 到许 多 挑 战 : 点 中运 行 程 序 存 在 大 节 量 并 行 和节 点 协 同计 算 。
体 实 现 , 而提 高 编程 效 率 。 从
2 3 Tn OS操 作 系统 的 实 现 . i y
Tiy n OS操 作 系 统 最 初 是 用 C 语 言 实 现 的 , 生 的 目 产 标 代 码 比较 长 。后 来 研 究 设 计 出 基 于 组 件 化 和 并 行 模 型 的 ns e C语 言 , 生 的 目标 代码 相 对较 小 。用 n s 产 eC语 言可 开 发 Tiy n OS操 作 系 统 和 其 上 运 行 的应 用 程 序 。
2 1 操 作 系统 需 求 .
从 对 节 点 结 构 分 析 不 难 看 出 , 线 传 感 器 节 点 硬 件 简 无 单 , 以直 接 在 硬 件 上 进 行 编 程 。但 这 在 工 程 实 践 中产 生 可
2 3 道 , 明 接 口具 有 的 功 表
信 , 作 完 成 指 定任 务 ; 协 节点 自身 通 过 AD 通道 来感 知 外 C 界数据 。
嘲 1 无 线 传 慰 器 节 点 构 成 框 图
本 质 上 。 线 传 感 器 节 点 就 是 一 个 网络 化 的 分 布 式 嵌 无 入式 系统 , 过 无 线 信 道 实 现 网络 间 的通 信 。为 了减 少 通 通
通 信 模 块 和 能 量 供 应 模 块 4部 分 组 成 , 个 结 构 如 图 l 整

基于TinyOS-2.x的无线传感器网络数据包传输机制的研究

基于TinyOS-2.x的无线传感器网络数据包传输机制的研究

第30卷 第5期2007年10月电子器件Ch inese Jou r nal Of Elect ro n DevicesVol.30 No.5Oct.2007Study on Messa ge Packet Communication Mechanism of Wir elessSensor N et w or k B a sed on TinyOS 22.xSU N Yi ,WA N G L ei ,D U Xi ao 2ton g(S chool of Cont rol Sci ence an d Eng ineeri ng ,S handong Uni versi t y ,J inan 250061,China)Abstract :In order to unpack and analyze t he data received by computer from Wireless Sensor Net w ork (WSN),a WSN t est platform was designed.Based on t he newest embedded operation system TinyOS 22.x ,t he wireless com 2municating mechanism was st udied by recomposi ng sound c ode of wireless data transceiver module.The key tech 2niques of message packet s transmi ssion ,t he framework of Ti nyOS ,the running mechanism and communicating mechanism were i nt roduced.T est result s showed t hat :①t he data sampled by sensor nodes was packed as MAC payloads and t ransmit ted to base station node by RF ;②the MAC packet was t hen repacked as serial message pay 2load and sent to upper computer by UART.I t were helpful for developing applications of wireless sensor network.K ey w or ds :wireless sensor net work ;framework ;running mechani sm ;communicating mechani sm ;TinyOS 22.x EEACC :7230;6150P基于TinyOS 22.x 的无线传感器网络数据包传输机制的研究孙 毅,王 雷,杜晓通(山东大学控制科学与工程学院,济南250061)收稿日期6226作者简介孙 毅(82),女,硕士研究生,主要研究测控网络,y @y 摘 要:为深入解析无线传感器网络中上位机接收到的数据包,在目前最新的无线传感器网络嵌入式操作系统TinyOS 22.x平台基础上设计了一套实验,成功读取了MAC 层的数据包.发现传感器节点采集到的数据首先作为MAC 层的有效荷载封包无线传送到基站节点,由基站节点将其作为串口消息包的有效荷载再次封包异步传送到传感器网络的上位机端.该研究对进一步理解TinyOS 的构架、运行机制和通讯机制,开发相关的应用软件具有一定参考意义.关键词:无线传感器网络;构架;运行机制;通讯机制;TinyOS 22.x 中图分类号:TP212;TP393.17 文献标识码:A 文章编号:100529490(2007)0521954205 无线传感器网络(Wireless Sensor Net work ,WSN )[122]的研究与开发是目前信息领域的热点之一,国际上许多著名的大学和公司纷纷从不同层次、不同角度对传感器网络进行了研究和开发.当前应用最广泛的传感器网络操作系统是由美国加州大学伯克利分校开发的Ti nyOS [324].Ti nyOS 是一个源代码开放、可扩展的、嵌入式操作系统,熟练的C 程序员可以利用TinyOS 发行包中已有系统组件迅速开发用户应用程序.但直接使用Ti nyOS 发行包中的应用模块,上位机接收的无线传感器网络的数据都是层层封装好的有效数据,目前无线数据包传输机制的文献资料相对较少,一定程度限制了Ti ny 2OS 的推广应用.本文以目前最新的无线传感器网络操作系统Ti nyOS 22.x [526]为平台,依托现有Ti nyOS 发行包中提供的组件,重新修改和编写了射频收发模块程序,并开发了一套实验平台,成功的对MAC 层[7]的数据包进行读取,深入解析了其消息包传输以及Tin 2yOS 的构架、运行机制和通讯机制等关键技术.1 WSN 嵌入式操作系统T iny OS 22.x 架构美国加州大学伯克利分校开发的Ti nyOS 是一:200101:191sun imi ss .种微小的、嵌入式的、基于事件驱动的无线传感器网络操作系统,与一般的嵌入式操作系统相比,Ti ny2 OS有其自身的特点:(1)基于可重用组件的体系结构,采用模块化设计思想;(2)使用事件驱动模型,通过事件触发来唤醒CPU工作.为了解决Ti nyOS21.x和其他主要嵌入式传感器操作系统对跨平台开发、应用结构及可靠性等操作方面的局限性,Ti nyO S研究小组人员在TinyOS2 1.x的基础上对其进行再设计和再实现,推出新版本TinyOS22.x(T2).在T2中,将物理层硬件抽象分为三层,称为HAA(Ha rdware Abst ract ion Ar2 chit ect ure)[829].最底层是硬件描述层(Hardware Pre se nta tion Layer,HPL),该层提供硬件层和软件层的直接接口,通过调用函数的方法来屏蔽复杂的硬件层,不仅实现了硬件层和软件层的内部通信,而且为系统其他部分提供了使用的接口.中间层是硬件适用层(Hardwa re Adapta tion Layer,HAL),位于H PL上层,该层对硬件层的定时器、模数转换器、存储器等模块原型进行较高层的抽象,可以更直接更方便地为上层软件层提供可定制的操作接口.最顶层是硬件独立层(Hardware Independent Layer,HIL)位于HAL上层,该层提供抽象的独立硬件层接口,通过隐藏硬件层来简化上层应用软件的编写,其功能类似于Window s操作系统下的AP I.2 TinyOS的运行机制[10]在Ti nyOS的总体框架中,物理层硬件为框架的最底层,在该层中,传感器、射频收发器以及时钟等硬件均能触发事件(event)的发生,交由上层组件处理;软件层中相对下层的组件也能触发事件并交由上层处理,而上层会发出命令(com mand)给下层处理.为了协调各个组件间任务的有序处理,需要操作系统采取一定的调度机制.Ti nyOS内核支持两种执行线程,提供任务(task)和硬件事件处理(hardware event handl ers)的两级调度体系,支持并发处理和执行应用程序通用后台进程.内核使用一个循环队列来维护任务列表默认情况下,任务列表大小为8其伪代码如下y f{ void(3tp)();//定义一个插入队列的任务指针 }TOSH_sche d_e ntr y_T;emun{ TOS H_MAX_TAS K S=8,//任务最多为8个 }void TOSH_wait(void);//任务等待void TOSH_sleep(v oid);//任务休眠void TOSH_sche d_init(void)//任务初始化 …bool TOS_post(void(3tp)());//任务提交 …bool TOS H_run_ne xt_task()//执行下一任务 …void TOSH_run_ta sk()//任务循环 { while(TOSH_r un_next_ta sk()); TOS H_sleep(); TOS H_wait(); }这个任务队列实际上是一个函数指针的数组,提交一个任务即是向队列里插入一个函数指针.任务提交(post)到FIFO队列中等待,当任务队列头索引号等于尾索引号时,表明任务队列为空,系统进入休眠状态并等待,直到新的事件发生,如果新的事件向队列中提交了任务,则处理器返回执行状态,否则继续休眠.3 TinyOS的通讯机制解析3.1 通信组件Ti nyOS采用基于组件式的架构形式,其通信组件[11]如图1所示:图1 多跳无线通信应用程序组件图无线收发模块是将物理硬件映射而成的硬件抽象组件,其发命令给相关I/O引脚处理比特流级的数据收发,并且发信号给事件将数据位的发送和接收通知上层的射频字节组件射频字节组件内部完成字节级数据的编码和解码工作,并以字节为单位与上层组件无线消息包交互,无线消息包组件进行5591第5期孙 毅,王 雷等:基于TinyOS22.x的无线传感器网络数据包传输机制的研究..:t pe de str uct .消息包级的数据处理,并发信号通知高层次的主动消息组件(Act ive Message).最终由主动消息组件来完成控制,路由以及数据传输等任务.3.2 实验平台设计及程序设计由于无线传感器网络中节点数量一般较大,可能达到几百、几千甚至更多,数据从其他节点接收进来,经过处理后转发出去,信息量相当庞大,故在无线传感器网络中的上位机接收的数据均是层层封装好的有效数据.在某些程度上虽减轻了冗余信息量的处理,却在深入分析研究无线传输机制时无从下手.同时,由于无线传感器网络具有广泛的应用领域,其硬件必然具有多样性,因此,直观的读取MAC层的消息包,迅速掌握无线传输过程中物理层和数据链路层的工作机制使得对于特定的硬件方案,有选择地构建具体应用、进行简单快捷的硬件平台移植开发变得相对容易.针对该问题,设计了一套实验平台,并进行了程序设计,成功的获取了整个MAC层数据包的数据,并深入解析了该数据包.在该实验具体设计过程中,布设了两个无线传感器微型节点A,B和一台PC搭建成最简无线传感器网络,如图2所示.节点A以1Hz的速率将数据无线发送出去,节点B作为基站,负责接收节点A的数据并与PC相连,将收到的数据通过串口传到PC上,并通过PC机上的串口程序将收到的数据显示出来.本实验中节点A、B均采用16位微处理器MS P430F1611为核心,结合2.4G无线收发模块CC2420设计而成的无线收发微型节点.图2 网络布设图程序实现过程中,使用Ti nyOS专用编程语言nesC[12213],nesC是一种类C的语言,它不只是一个简单的语言编译器,还包含了一种基于组件和并发的OS模型在里面,直接生成一个含OS的完整系统,将Ti nyO S已经做好的多个通讯模块接口组合起来,在Ti nyO S22.x的平台上,对其发送和接收程序作进一步改进.节点发送程序主要使用Radio Sensor ToLe d2 sAppC.nc和Radio Sensor ToLe dsC.nc两个组件模块,R S T L是个配置文件(f),它的功能是把各个需要的模块和组件按照正确的调用顺序有机联系起来,负责对整个程序的声明.RadioSensor ToL edsC.nc是个功能模块(modul e),负责具体功能的实现.其配置文件连接如图3.图3 发送组件连接图RadioSensor ToLedsC需要用户编写,其余均为Ti nyOS系统自带的模块,MainC是Ti nyOS引导程序的系统接口,将导入实现(i mplement)和系统调度、硬件资源连接.O ski T i merMilliC()负责调整整个无线传感器系统的时钟,AMSenderC,AMRe2 cei verC,负责射频发送和接收.基站接收程序使用了BaseStationC.nc和Bas2 e St ationP.nc两个组件模块,Ba seSt ationC.nc是配置文件,连接所需组件;BaseStat io nP.nc是功能模块,负责接收射频数据并通过串口程序将所收到数据封包传送到PC机上,其配置文件连接如图4.图4 接收组件连接图其中ActiveMessageC,Serial Acti veMessageC 分别负责完成射频收发和串口收发的功能.3.3 接收数据包解析Ti nyOS22.x中串口协议有自己的数据包格式,在Ti nyOS22.x的t os_msg中,定义了一个标准的消息缓存message_t[14],其格式比Ti nyOS21.x更接近于IEEE802.15.4[15]标准.typedef nx_str uct message_t{ nx_uint8_t header[sizeof(TOSRadio Header)]; nx_uint8_t data[TOSH_DATA_L ENGTH]; nx_uint8_t footer[sizeof(TOSRa dioFooter)]; nx_uint8_t meta data[sizeof(TOSRadioMetadata)]; }_;实验中,发送程序发送了十进制数据~共y,下面是通过机上串口程序接收到的一6591电 子 器 件第30卷adio ensor o edsAppC.nc co n i gu rat io nme ssage t1114 114b te PC组用16进制表示的原始数据.7E42000000F422007D5E4188F10022 F F FF0001060102030405060708090A0B 0C0D0E0F101112131415161718191A1B 1C1D1E1F202122232425262728292A2B 2C2D2E2F303132333435363738393A3B 3C3D3E3F404142434445464748494A4B 4C4D4E4F505152535455565758595A5B 5C5D5E5F606162636465666768696A6B 6C6D6E6F7071720000……000044447E 通过研究发现:①该消息缓存有一个固定的偏移量,保证在两个不同的链路层之间可以来传递一个消息缓存.②这个消息缓存中的头、尾和原数据域均不透明,较高层的组件通过接口访问它们的域.③仅有data[TO SH_DA TA_L EN GTH]是可以直接访问的透明数据.表1 解析了上述串口接收数据的意义:表1 数据包各字节释义序号字节意义描述备注07E 串口消息包的同步字节(帧头)串口消息协议1-24200串口消息包的类型(无应答的包)3-40000串口消息包的地址5F4串口消息包的长度6-72200Gro up号87D,5E M AC数据包的长度射频消息协议9-1041,88FCF,MAC帧控制域(MAC层) 11F1DSN,MAC帧序列号12-130022Detpan号,也即G roup号14-15F F FF目的地址16-170001源地址1806Type号19…n-301…72负载数据(114个数据)n-2,n-14444CRC校验n7E 串口消息包的同步字节(帧尾)串口消息协议 经过多次试验,对上位机接收到数据深入分析发现如下规律:①数据从整体上分为两部分,从第八个字节至倒数第二个字节属于MAC层消息包数据协议格式,前七个字节加上最后一个字节属于串口消息包数据协议格式;②MAC层数据包总是位于串口消息包内部相对固定位置;③串口消息包的数据格式基本保持不变,7E是串口包的帧头,4200是串口包的消息包类型,这里表示该包是无应答的消息包,是网络组号(G);④M层消息包中,第一个字节随着发送数据量的变化而变化,当发送数据长度为16进制72时,该字节为7E5D(注: 7D5E是7E与20相与产生的扩展字符,也即7E),当发送数据长度为16进制50时,该字节为5C,由7E-72=5C-50=12推断该字节表示MAC层数据长度.该长度除包含有效数据外,还包括共12个字节的MAC层包头和包尾,4188是MAC层帧控制域(FCF),F1(F2,F3……)是帧序列号,0022是网络域号,也即网络组号,FF F F是目的地址,0001是源地址,06是消息类型号,根据该消息表示类型的不同可自定义.为进一步验证上述结论,下面再了解一下IEEE802.15.4中MAC层的数据帧格式,如图5所示.图5 I EEE802.15.4的帧格式(P H Y和MAC)可以看到整个MAC数据包包括2个字节的帧控制域;1个字节的帧序号;0~20个字节的地址消息;n个字节的MAC层有效数据;2个字节的帧检验序列.TinyOS实现了IEEE802.15.4协议的物理层(P H Y)和MAC层的一部分,对比上面CC2420rxFIFO中IEEE802.15.4的帧格式和在Ti nyOS的Radio TOSMsg.h(射频消息协议)中定义的结构体及射频收发模块CC2420的头文件, typedef union TOSRadio Heade r{ cc2420_hea der_t cc2420; }TOSRadio Header;typedef union TOSRadio Foo te r{ cc2420_foote r_t cc2420; }TOSRadioFooter;typedef nx_str uct cc2420_header_t{ nx_uint8_t length; nx_uint16_t f cf; nx_uint8_t dsn; nx_uint16_t de stpan; nx_uint16_t de st; nx_uint16_t src; nx_uint8_t type; }cc2420_heade r_t;y f x__f_{ }_f_;可以发现表和图是完全对应一致的,其中7591第5期孙 毅,王 雷等:基于TinyOS22.x的无线传感器网络数据包传输机制的研究22ro up A C t pede n str uct cc2420ooter tcc2420ooter t14destpan,dest,src,type是IEEE802.15.4的MAC 帧的地址消息.因为Ti nyO S-2.x中串口协议有自己的数据包格式,射频协议也有自己的数据包格式,这就意味着我们要将节点采集到的数据信息最终传到PC机上,需要先将这些数据作为MAC层的有效荷载(payloa d)封包无线传送到基站节点,基站节点再将收到的MAC数据在按照一定的串口消息格式再次封包,发送到PC机上.4 结束语本文通过对Ti nyOS发行包中的收发模块的源代码进行了深入研究,成功的读取了MAC层数据包的数据,将通常无线传输过程被屏蔽的MAC层数据格式直观的呈现出来.研究发现:①无线传输过程中,数据从整体上分为两部分,MAC层消息包数据协议格式嵌入串口消息包数据协议格式中;②MAC层消息包总是位于串口消息包内部相对固定位置;③传感器节点采集到的数据首先作为MAC 层的有效荷载封包被无线传送到基站节点,由基站节点将MAC层数据包作为串口消息包的有效荷载再次封包异步传送到传感器网络的上位机端.同时搭建了无线网络实验平台,验证了程序设计和数据包解析的正确性,该研究进一步理解了Ti nyOS的构架、运行机制、通讯机制、对于开发相关的应用软件或进行硬件平台的移植有一定参考价值.参考文献:[1] Est ri n D,Cull er D,P i st er K,et al.The Physical W o rl d wi t hPervasive Net wor ks[J].IE EE Pervasive C o m p uti ng,2002,1(1):59269.[2] 任丰原,黄海宁,林闯.无线传感器网络[J].软件学报,2003,14(7),128221920.[3] ht tp://www.ti /tin yo s21.x/doc[EB/OL].2003.[4] Levis P,Madden S,Polast re J,et al.TinyOS:An Operat ingSyst em fo r Wireless Sen s o r Net works[M].In Ambient Int ell i2 gence,New York,N Y:S p ringer2Verlag,2004.[5] L evis P,G ay D,Handzi ski V,et al.T2:A S eco nd G enerat ionOS fo r Embedded Sensor Net wo rks[R].Techni cal Report T KN2052007,telecommu nication Net work Group,Techni sche Univers i tat Berli n.[6] Philip Levi s.Ti nyOS2.0Overview[EB/OL].ht tp://www.tin yo /ti nyos22.x/doc/ht m l/o verview.ht m l,2006.[7] Ye W,Heidemann J,Est ri n D.An Ener gy2Effici ent MACProt ocol for Wi reles s Sensor Net work s[C]//Proceedings of IEEE on INFOCOM2002,3:156721576.[8] Vl ado Handzi ski,J oseph Pol ast re,J an2Hi nrich Hauer,et al.Hardware Abs tract ion Archit ect ure[EB/OL].ht tp://www.tin yo /ti nyos22.x/doc/ht m l/tep2.ht ml.[9] Handzi ski V,Polast re J,Hauer J H,et al.Fl exi bl e HardwareAbst ractio n for W i reles s Sensor Net wor ks[C]//Pro ceedings of t he Second European W o rks hop on W i reles s Sen s o r Net wo rks (EWSN),2005:1452157.[10] 孙利民,李建中,陈渝,等.无线传感器网络[M].北京:清华大学出版社,2005.[11] Philip Buo nadonn,J ason Hill,Davi d Cull er.Act ive MessageC o mmunicati on for Ti ny Net wo rked Senso rs[C]//Pro ceed2i ngs of IEEE o n IN FOC OM2003,1:5552560.[12] Davi d G ay.Phil ip Levi s,Davi d Cull er,et al.Nes C1.1Lan2g uage Reference Manual[EB/OL].ht tp://nescc.source2/p apers/nes C2ref.pdf,2003.[13] Gay D,Levi s P,vo n Behren R,et al.The NesC Language:A Holi st ic Approach to Net wo rked Embedded Syst ems[C]//SI GPLAN C o nference on Prog ram m i ng Language Desi gn andIm pl em ent atio n(P L DI’03),2003,38(5):1211.[14] Ben Greenst ei n,Phil ip Levi s.seri al co mmu nicat ion[EB/OL].htt p://www.ti nyo /t inyo s22.x/doc/ht m l/t ep113.ht m l,2006.[15] IS B N0273812367725SS95127,IEEE802.15.4[S].8591电 子 器 件第30卷。

基于TinyOS2.x的无线传感器网络通信程序开发

基于TinyOS2.x的无线传感器网络通信程序开发
21 0 0年 第 2 9卷 第 7 期
传感器 与微 系统 ( rndcr n c ss m T cnlg s Tasue dMi oyt ehooi ) a r e e
8 7
基 于 Tn OS2 X的 无 线传 感 器 网络 通 信 程 序 开 发 iy .
李 罗,杨 永 明 , 徐 志 ,文 军 , 泽文 胡
s n o t r a e n Ti y S 2. e s r ne wo ks b s d o n O X
L u ,Y IL o ANG Y n — ig,XU Z i o gr n u h ,W E J n,HU Z - n N u ewe
( t t y La o a o y o we a s si n Eq i m e t& S s e S c  ̄t n S a e Ke b r t r fPo r Tr n miso u p n y t m e u y a d
之上给出 了网络通信程序 的开发实现过程 。实验结果证 明 : 序可 以实现传 感器 网络 中 的无 线通信 和 网 程
关节点与上位机 的串口通信 , 于无线传 感器网络应用到各种监测 系统 中有 现实可行 的意义 。 对 关键词 :无线传感器 网络 ;Tn O . ;网络 通信程序 i S2 x y
i a x e i n a e u t. th sr aitc a d p a tc lme n n r ls en o e wo k p le o a v rey o fn le p rm e tlr s ls I a e lsi n r ci a a i g frwiee ss s rn t r s a p id t ai t f o
( 庆 大 学 输 配 电 装 备 及 系统 安 全 与 新 技术 国 家 重 点 实 验 室 , 庆 4 0 4 ) 重 重 00 4

基于TinyOS 2.1无线传感网的能量监测模型设计与实现

基于TinyOS 2.1无线传感网的能量监测模型设计与实现

a n ry mo i r g mo e b s d o o e i r p s d Th x e me t l r s l n iae t a h d l c n n e e g n ti d l a e n n d s p o o e . e e p r n a e u t i d c t h t t e mo e a on i s
系统结构和仿 真原理 。针 对 目前 T SI 还不支持 能量 监测这 一问题 , O SM 以一个监 测移 动物体运 动 的仿 真
程序为例 , 通过在仿真程序 中检查仿 真节 点的剩余能量 比率 的办 法 , 出一种基 于节点 的能量监 测模 型。 提
经 过 仿 真 验 证 , 模 型 能 有 效 监 测 到 全 网各 节 点 能 量 状 况 , 能 估 计 网 络 的 生 命 周 期 。 该 并
21 0 1年 第 3 0卷 第 4期
传 感 器 与 微 系 统 ( rnd cr n coytm T c nl is Ta su e dMi ss eh o g ) a r e oe
9 9
基 于 Tn OS2 1无 线 传 感 网 的 能 量 监 测 模 型 设 计 与 实 现 iy .
徐 智 勇 袁 凌 云 , ,夏 幼明 ,谭 志 刚
( . 南 师 范 大 学 信 息 学 院 ,云 南 昆 明 6 0 3 ; 1云 5 0 1 2 云 南 师 范 大 学 研 究 生 部 , 南 昆 明 60 3 ) . 云 50 1

要 :简要介绍 TnO . iy S2 x和 Tn O . iy S1 x的联系 和主要 区别 ; 分析 了 Tn O . iy S2 1的仿真 环境 T S I O SM
b s d o n OS 2. n wie e s s ns r n t r a e n Ti y 1 i r ls e o e wo ks

基于TinyOS的无线传感器网络应用程序开发技术

基于TinyOS的无线传感器网络应用程序开发技术

的方式进行调度 , 轻量级线程之间不允许抢 占; 而硬件处理
Ke r s mb d e p r t g s se ;p o r m e eo ig;w r ls e s rn t r s y wo d :e e d d o e ai y tm n r g a d v l pn i e e s s n o ewok
0 引 言
语言 的特点人手 , 绍了基 于 TnO ( : 介 i S 注 笔者所用 TnO y i S y 版本为 Tn O . ) iy S1 1 的应 用程序 的开发 过程 , 并给出了开发
实例 。
1 Tn O iy S和 ns eC语言简介
1 1 Tn O . iy S特 点 1 轻量 级线 程技术及 两层调度 方式 :iy S提供任 务 ) TnO
和硬件事件处理两级调度体系。轻量级线 程(ak 即 Tn. t , iy s O S中的任务 ) 比一般的线程 更为简单 , 此种线程按照 FF IO
在无线传感器网络中 , 单个传感器节点 内存 、 能量资源 有 限, 处理器 、 设备速度低 , 通信 又需要进 行较复 杂 的任 务
调度与管理 , 系统需要 一个 微型化 的操 作系 统。为此 , C U B ree ekl y分校的研究 人员设计 了 TnO iy S操作 系统 。TnO i S y 操作系统是 目前无线传感器网络中应 用较 为广 泛的操作 系 统 。TnO 操作 系统 采用 的轻量级 线程技术 、 层调度 方 i S y 两
Te hn l g fa pl a i n d v l p n a e n Ti y S c o o y o p i to e eo i g b s d o n O c
i r ls e s r ne wo k n wi ee s s n o t r

第3章4无线传感器网络操作系统TinyOS

21
TinyOS 2.0的安装与调试
6.安装Graphviz 下载graphviz-1.10.exe文件,双击下载的 文件运行安装程序。 桌面上的cygwin.bat应修改为后来所建目 录里的cygwin.bat。双击即可运行,输入toscheck-env运行,出现如下信息:
$ tos-check-env Path: /opt/msp430/bin 。。。。。。 tos-check-env completed without error. 如上信息表明TinyOS基本安装成功,可以进行下一步的测试。
– 1)能在有限的资源上运行:要求执行模式允许在单一 的协议栈上运行; – 2)允许高度的并发性:要求执行模式能对事件作出快 速的直接响应; – 3)适应硬件升级:要求组件和执行模式能够应对硬件/ 软件的替换; – 4)支持多样化的应用程序:要求能够根据实际需要, 裁减操作系统的服务; – 5)鲁棒性强:要求通过组件间有限的交互渠道,就能 应对各种复杂情况; – 6)支持一系列平台:要求操作系统的服务具有可移植 性。 12
在Windows环境下面直接用winRAR解压即可, 双击解压后产生的文件夹中的setup.exe文件;
19
TinyOS 2.0的安装与调试
平台交叉编译器用于将C代码交叉编译成硬件终端可以运 行的二进制文件。在编译TinyOS应用程序时,会产生针 对特定微控制器芯片的C代码和汇编代码,就需要有相应 平台的编译器支持。 3.安装Atmega 128单片机的AVR工具包和MSP430单 片机工具包 从上下载所需的rpm文件用如下命令 安装即可: cd /tmp rpm –ivh avr-binutils-2.15tinyos-3.cygwin.1386.rpm rpm –qa rpm –ivh avr-gcc-3.4.3-1.cygwin.i386.rpm rpm –ivh avr-libc-1.2.3-1.cygwin.i386.rpm rpm –ivh avaricc-2.4-1.cygwin.i386.rpm

TinyOS NesC小结

TinyOSTinyOS是一个开源的嵌入式操作系统,它是由加州大学的伯利克分校开发出来的,主要应用于无线传感器网络方面。

它是基于一种组件(Component-Based)的架构方式,使得能够快速实现各种应用。

TinyOS 的程序采用的是模块化设计,所以它的程序核心往往都很小(一般来说核心代码和数据大概在400 Bytes左右),能够突破传感器存储资源少的限制,这能够让TinyOS很有效的运行在无线传感器网络上并去执行相应的管理工作等。

TinyOS本身提供了一系列的组件,可以很简单方便的编制程序,用来获取和处理传感器的数据并通过无线电来传输信息。

TinyOS是一个开源的嵌入式操作系统,它是由加州大学的伯利克分校开发出来的,主要应用于无线传感器网络方面。

它是基于一种组件(Component-Based)的架构方式,使得能够快速实现各种应用。

TinyOS的程序采用的是模块化设计,所以它的程序核心往往都很小(一般来说核心代码和数据大概在400 Bytes左右),能够突破传感器存储资源少的限制,这能够让TinyOS很有效的运行在无线传感器网络上并去执行相应的管理工作等。

TinyOS本身提供了一系列的组件,可以很简单方便的编制程序,用来获取和处理传感器的数据并通过无线电来传输信息。

TinyOS在构建无线传感器网络时,它会有一个基地控制台,主要是用来控制各个传感器子节点,并聚集和处理它们所采集到的信息。

TinyOS只要在控制台发出管理信息,然后由各个节点通过无线网络互相传递,最后达到协同一致的目的,比较方便。

1. tinyos和普通的os的不同点它们的应用场景不一样,tinyos是一个开源的构件化操作系统,它采用构件化描述语言nesC进行开发,主要针对资源非常有限的无线传感器网络节点而设计。

与一般的嵌入式操作系统相比,TinyOS有其自身的特点:采用模块化设计,所以核心尺寸小(一般来说核心代码和数据大概在400Bytes左右),可突破无线传感器网络存储资源少的限制;基于可重用组件的体系结构;使用事件驱动模型,通过事件触发来唤醒CPU工作;单一任务栈;内核非常简单,甚至在严格意义上说,称不上内核;没有进程管理和虚拟存储。

无线传感器网络节点操作系统TinyOS综述


无线传感器网络(Wireless Sensor Networks,WSN)是现代传感技术和无 线通信技术的结合体。在WSN中,大量的低功耗、低成本、紧凑型传感器节点以 自组织和多跳的方式进行通信,收集和处理环境信息,以实现各种应用,如环境 监测、军事侦察、智能家居等。为了有效管理和协调这些节点,需要一个相应的 操作系统。TinyOS就是一种专为WSN设计的开源、分布式、事件驱动的操作系统。
通信机方面,TinyOS支持多种无线通信协议,如ZigBee、IEEE 802.15.4 等。它采用了轻量级的通信协议栈,实现了高效、可靠的无线通信,并降低了功 耗。
TinyOS应用程序开发
使用TinyOS开发应用程序需要对TinyOS的编程模型有一定的了解。TinyOS 应用程序的基本结构包括硬件配置、任务定义、事件处理和通信协议等几个部分。
TinyOS内核分析
TinyOS的内核主要包括任务管理、内存分配和通信机制等几个部分。
任务管理方面,TinyOS采用了基于任务的调度模式,每个任务都有自己的优 先级和调度参数。系统根据任务的优先级和调度参数动态地调度任务执行,同时 通过任务间的同步和通信机制来实现协同工作。
内存分配方面,TinyOS采用了静态内存分配方式,每个任务都有自己的内存 空间,避免了对全局内存的竞争访问,提高了系统的效率和可靠性。
3、AI集成:人工智能技术在无线传感器网络中的应用前景广阔。未来 TinyOS可以集成AI算法和模型,实现对传感器数据的智能分析和处理,提高无线 传感器网络的智能化水平。
4、低功耗优化:低功耗一直是无线传感器网络追求的重要指标之一。未来 TinyOS可以通过进一步优化事件驱动机制、节能策略等方面来降低节点功耗,延 长网络寿命。
TinyOS操作系统的实现机制

基于TinyOS的传感器网络节点应用程序设计


集 、 据处理 、 数 数据 收发 等 。 户组 件 的开发为 用
TnO iy S程 序 设 计 的重 点 。iy S提 供 一 些 常 用 组 TnO
有一个顶层配置 , 在顶层配置中 , 明该应用所要 说
使用的组件及组件间的接 口关系。 一般而言 , 与应 用 的顶层配置相对应 的存在一个模块 , 以顶层配 置 名+ n 命 名 , M. c 此模 块 就 是该 应 用 的核心 处 理模
i 匝

TnO iy S具 有微 型化 、 支持 轻 量级 并发 操作 、 灵 活 、 功耗 等优 点 , 低 已经 被 成千 上 万 的研 发 人 员 采
用, 应用于范围广 阔的无线传感器网络 中。i O Tn S y 的 设 计 特 点 主 要 体 现 在 以 下 三 个 方 面 : 1 基 于 ()
组 件 的 编 程 模 型 ;2 基 于 事 件 触 发 的 并 发 执 行 ()

I 匝 囹
图 1 应 用 程 序 总 体框 架
个 完整 的 TnO iy S程序 就是 一个 由若 干 组件
模 型 ;3 采用基 于主 动 消息 的通信模 型 。 () 最初
TnO iy S是 由 c语 言 实现 的 , 后来 采 用 ns 言 实 eC语 现 。eC对 C语 言进 行 了扩展 , 组 件化 思想 与 事 ns 将 件 驱 动 的并 发 执行 模 型结 合 起 来 , 高 了应 用 开 提 发 的方 便性 和执 行 的有效 性 。
块 。 果 一 个应 用 程 序 只 需 顶 层 配 置 将 几 个 系统 如 组 件装 配起来 就 可 实 现所 需 的 功能 , 么 , 那 就不 必
件, 如执行组件 、 传感器组件 、 通信组件 。 执行组件
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
维普资讯
7 0
传感器与微 系统 (r s cr dMc ss mT ho g s Ta d e a ioye e nl i ) nu n r t oe
20 年 第 2 卷 第 5 07 6 期
基 于 Tn OS的传 感 器 网络 节 点 物 理 层 的 设 计 与 实现 iy
近年来 , 网络 传输技 术与传感 器技 术等相 关学 科 随着
的发展 。 无线 传 感器 网络 ( rl ssno e o s WS s i se we e sr t r , N ) n wk
1 1 物理 层 的 功 能 需求描 述 . 当上层有 分组 要发送时 , 首先 , 需要侦 听无线信道 的忙 闲状况 , 以避免分组在无 线信 道发送 过程 中的 冲突 , 而, 因 物理层需要为 上层 提供载波侦听 的功能 。 当检 测到信道 为 闲时 。 上层 调用物理 层发送命 令并将
idc t。hsmeh rsns D dp roma c d me t erq i me t frW S . n iae ti to pe e t 0 efr n ea e s t e ur ns o Ns d n h e
Ke o d :wrl s no e o s WS s ; iy Soeai gss m;pyi lae yw rs i e ¥r t r ( N ) Tn O prt n yt ess e n wk o e hs a l r c y 0 引 育 1 物理层基本功能
庞 琳 , 晓梅 , 王 于宏毅
( 解放军信息工程大学 . 河南 郑州 4 0 0 ) 50 2
摘 要: 无线传感 器网络是一种全新的信息获取和处理技术 。基于低功耗 、 短距离 、 F R 收发 芯片 T 30 R 00 设计 的无线通信硬件平 台上 , 设计并实现 了基 于 TnO i S的 WS s y N 节点 物理层 , 提供 了无 线分组 收发 、 载波 侦听 以及休眠 与唤醒 的功能。测试结 果表明 : 该方案具有 较低的传输误码率 完全满足 了设计需求 。
P ANG i L n,W ANG a — i Xi o me ,YU Ho g y n ・i
( h L Ifr t nE gn eigU iesy, h n zo 0 0 , hn ) T eP A oma o n ier nvri Z e g h u4 0 2 C ia n i n t 5 Abt c:T ewrl ssno ntok WS s sanw tcnlg r ba igadpoes gi om t n sr t h i e esr e rs( N )i e hooyf t nn rcsi fr ai . a es w e oo i n n n o
B sd o iy a e n T n OS, h h sc a e o S o e s d sg e n mp e ne y u ig t e lw p w r t e p y ia l y r fr W Ns n d s i e i n d a d i l me td b sn h o o e l c n u t n a d s o t r n e BF c i B 0 0 T i d s meh r vd h u ci n o r n mi ig a d o s mp i n h r a g hp T 3 0 . o h s ei n g to p o i e te f n t f t s t n n d s o a t e ev n a k t , a r e s n h le i g a d w k n f t e W N o s s t e e p rme t r u t r c ii g p c e s c ri r s n e a d t e se p n n a ig o h S s n e .A h x e i n s l e d e s
关键词 :无线传感器 网络 ;TnO i S操作 系统 ;物理层 y
中圈分类号 :. 9 r 2 N
文献标识码 :A
Байду номын сангаас
文章编 号 :10 - 77 20 )5 o7 — 4 00 98 (07 0 一 oO o
De i n a d i p e e t t n o h sc lly r o S sg n m lm n a i fp y ia a e fW Ns o b sd o n OS a e n Tiy
处理后 , 照“ 按 移位 ” 的方 式 由无 线 通信 模 块发 送 到 无线
信道上。分组的接收是发送的逆过程 。当无线通信模块
检测 到有 分组要 接 收时 , 首先 , 信道 中 的 比特 流序列 还 将
原成字节 , 由接收 过程组装 成数据分组 提交给上 层 。可 并
分组递 交至物理 层 。物 理层 将 分组 以字节 为 单元 进行 预
已发展成为信息采集 、 信息 处理和信 息传输 于一 体的综合 智能信 息系统 , 为信息 获取 的重要途径 , 并成 在环境 监测 、
医疗护理 和军事等领域具有 重要 的应用 前景 J 吸引着 国 , 内外大量相 关研 发机构和研究人员的兴趣 。 从无线传感 器的应用环境出发 , 于节点 能耗 、 基 节点造 价、 易于实现 、 于移 植等方 面的考 虑 , 便 在硬件平 台 的设计 上采用 了 R M公 司的低 功耗 、 距离 、 F 短 单频点 B F收 发芯 片 T 30 L , R 00 2 并集成 了光和 温度 、 J 湿度 等传感 器 。软 件平
相关文档
最新文档