无线传感器网络操作系统TinyOS
无线传感器网络 Wireless Sensor Networks(WSNs)
编辑ppt
(3)人居环境监视[3]
在一个标准的电源插线板上扩充了各种传感 器和无线收发器,一个微处理器控制所有的 部件,成为一个plug节点。
利用plug节点的多模式感知能力,可以较 准确地推断发生的事件。
所有plug节点构成普适计算环境中的骨干 网,可以了解到plug网络所在环境的活动 情况
三角测量法(triangulation):使用三角函数 来计算节点位置。
最大似然估计法(Maximum Likelihood estimation):通过最小化测量距离和估计距 离之间的差异来估计节点位置
编辑ppt
距离(角度)融合的图示
编辑ppt
三角测量转化为多边测量
知道参考节点A、B的位 置及未知节点D到AB的 角度,则D位于以O为圆 心的圆周上,其中∠AOB = 2∠ADB。
编辑ppt
几何约束法(续)
计算包含重叠区域的最小矩形,矩形的中心作为节点 的位置估计值。
编辑ppt
(3)基于DV的定位算法[8]
如何在参考节点稀疏的网络中进行节点定位? 基本思想:
参考节点附近的节点通过直接测量 的方法获得到 参考节点的距离,传播给其邻居节点;
邻居节点据此估计自己到参考节点的距离,再传播 给其邻居;依次类推。
手工为每个节点设定位置不可能, GPS定位系统 无法大规模应用到传感器节点上。
传感器节点依靠相互之间的协作来确定各自物理 位置的过程,称为节点定位。
编辑ppt
节点定位算法的分类
绝对定位和相对定位:
绝对定位:网络中存在已知位置的参考节点 (锚节点),所有节点根据参考节点确定自己 的位置,所有节点使用同一个坐标系。
统
编辑ppt
无线传感器网络操作系统TinyOS综述
Ke r y wo ds: rl s e s rnewo ks T n i w e e ss n o t r ; i yOS;r ve e iw
பைடு நூலகம்
T n OS,s c s c mp n n — a e d l c e u i g me h n s , o iy u h a o o e tb s d mo e ,s h d ln c a im c mmu i ain mo e n n ry ma a e n .T e t re y n c t d l d e e g n g me t h n i b i f o a l
Re i w fTi y o i ee s S n o t r s Ope a i y t m v e o n OS f r W r ls e s r Ne wo k r tng S se
w u a . a Xi o n 。 W ANG n Ma ,
( . c o l f o p t c n ea d T c n l y D n h aU i r t , h n h i 0 0 , hn ; 1 S h o o m ue S i c n e h oo , o g u nv s y S a g a 2 0 5 C i C r e g ei 1 a 2 S a g a Is tt o o p t gT c n lg , h nh i 0 0 0 C ia . h n h i n t u f m u n e h oo S a g a 2 0 4 , h ) i e C i y n
第3章4无线传感器网络操作系统TinyOS
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
Lesson1---TinyOS入门1
11
一、编译和安装
• 作为一开始的学习,先来编译一个非常简 单的程序 Blink。若没有硬件节点,可以用 TinyOS的TOSSIM仿真平台进行编译运行。 • 编译TinyOS程序使用make命令,TinyOS系 统有一个强大的扩展性很强的make 系统, 位于 tinyos-2.x/support/make目录中。 • 先运行如下命令检查环境是否正确配置。 • $ tos-check-env
8
• 总的来说,TinyOS 调度模型有以下特点:
(1)任务单线程运行到结束,仅分配单个任务栈, 这对内存受限系统很有利。 (2)任务调度算法采用非抢占式的FIFO 算法,任 务之间相互平等,没有优先级之分。 (3)TinyOS 的调度策略具有能量意识,当任务队 列为空时,处理器进入休眠模式,直到外部事件 将它唤醒,能有效的降低系统能耗。 (4)这种基于事件的调度策略,允许独立的组件共 享单个执行的上下文, 只需少量运行空间就能获 得高度的并发性。
• 规范
– nesC应用程序由一个或多个组件连接而成。 – 一个组件可以提供或使用接口:
» 组件中command接口由组件本身实现; » 组件中event接口由调用者实现; » 接口是双向的,调用command接口必须实现其event接口。
26
2.1 配件和模块
• 组件有两种:配件和模块。 • 模块(module):提供一个或多个接口的实现。 • 配件(configuration):把其他的组件装配起来, 连接组件使用的接口到其提供者。 • 每个nesC应用程序都必须有且只有一个顶层配件 (top-level configuration)连接内部组件。 • 之所以区别设计模块与配件,是为了让系统设计 者在构建应用程序的时候可以脱离现有的实现。 例如:设计者可以提供配件,只是简单地把一个 或多个模块连接起来,而不涉及其中具体的工作。 同样地,另一个开发者负责提供一组模块库,这 些模块可以普遍使用到众多应用中。
TinyOS课后习题
第一章1、下列关于TinyOS描述错误的是(C)A.TinyOS起源于吉利福尼亚大学伯克利分校的研究项目B.WSN操作系统是无线传感器网络的关键支撑技术之一C.TinyOS是使用C语言编写D.最新的TinyOS版本支持IPv6协议2、下列不属于TinyOS编程特点的是(A)A.结构式编程B.组件式编程C.事件驱动编程D.平台化编程3、使用mytinyOS平台编译并下载程序的命令是(make cc2530 install)4、简述TinyOS的优缺点。
(1)、优点:TinyOS有成千上万的用户,现有的体系结构已有5年以上的历史,代码可靠、有效,错误极少,这对项目工程来说至关重要;支持低功耗和并发执行模式,因此特别适合于无线传感器节点;支持技术上优异的网络协议,如汇聚协议CTP和6LoWPAN协议等。
(2)、缺点:它的组件式编程模型对于新手来说需要一段时间来适应;对于计算机密集型程序需要程序员将程序分成若干小部分,逐个执行,即需要使用TinyOS的“分阶段作业”机制,此类程序比较难写。
第二章1、对于C程序员来说,nesC提出了三个“新概念”: 组件、接口和__并发执行模型____。
2、nesC程序的入口函数是_booted事件函数。
3、关于nesC程序文件组成叙述正确的是____D_____。
A只能是nc文件 B不可以包含C语言头文件C可以不使用Makefile文件 D.程序中的nc文件可分为组件文件和接口文件4、下列关于nesC语言叙述错误的是_C 。
A.接口是一个被声明的有意义函数的集合B.参数化接口实质上是接口数组C.通用接口是指有数据类型的接口,其意义在于可以使接口多次实例化D.通用组件多次声明后,它将在程序内存在多份代码或组件关系组织5、nesC程序文件组成:C语言头文件:TinyOS程序的运行需要少量的C谙言头文件.它们被组件文件包含从而参与程序的编译。
这些头文件主要包括结构体、数据定义以及宏定义等。
无线传感器网络原理及方法复习题
⽆线传感器⽹络原理及⽅法复习题1.简述⽆线⽹络介质访问控制⽅法CSMA/CA的⼯作原理CSMA/CA机制:当某个站点(源站点)有数据帧要发送时,检测信道。
若信道空闲,且在DIFS时间内⼀直空闲,则发送这个数据帧。
发送结束后,源站点等待接收ACK确认帧。
如果⽬的站点接收到正确的数据帧,还需要等待SIFS时间,然后向源站点发送ACK确认帧。
若源站点在规定的时间内接收到ACK确认帧,则说明没有发⽣冲突,这⼀帧发送成功。
否则执⾏退避算法。
2.802.11⽆线LAN提供的服务有哪些?802.11规定每个遵从该标准的⽆线局域⽹必须提供9种服务,这些服务分为两类,5种分布式服务和4种站服务。
分布式服务涉及到对单元(cell)的成员关系的管理,并且会与其它单元中的站点进⾏交互。
由AP提供的5种服务将移动节点与AP关联起来,或者将它们与AP解除关联。
⑴建⽴关联:当移动站点进⼊⼀个新的单元后,⽴即通告它的⾝份与能⼒。
能⼒包括⽀持的数据速率、需要PCF服务和功率管理需求等。
AP可以接受或拒绝移动站点的加⼊。
如果移动站点被接受,它必须证明它⾃⼰的⾝份。
⑵解除关联。
⽆论是AP还是站点都可以主动解除关联,从⽽中⽌它们之间的关系?⑶重建关联。
站点可以使⽤该服务来改变它的⾸选AP 。
⑷分发。
该服务决定如何将发送到AP的帧发送出去。
如果⽬的站在同⼀个AP下,帧可以被直接发送出去,否则必须通过有线⽹络转发。
⑸集成。
如果⼀个帧需要通过⼀个⾮802.11⽹络(具有不同的编址⽅案或帧格式)传输,该服务可将802.11格式转换成⽬的⽹络要求的格式站服务4种站服务⽤于管理单元内的活动。
⑴⾝份认证。
当移动站点与AP建⽴了关联后, AP会向移动站点发送⼀个质询帧,看它是否知道以前分配给它的密钥;移动站点⽤⾃⼰所知道的密钥加密质询帧,然后发回给AP ,就可以证明它是知道密钥的;如果AP检验正确,则该移动站点就会被正式加⼊到单元中。
⑵解除认证。
⼀个以前经过认证的站想要离开⽹络时,需要解除认证。
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
2010-8-4
mice
15
Network Management— Active Message
e) Each Active Message Contains
User-level handler to be invoked on arrival Data payload passed as argument
f) Event-centric nature
Enables network communication to overlap with sensor-interaction
2010-8-4
mice
16
Network Management— Active Message
g) Handler Functions
2010-8-4
mice
10
TinyOS的特点
Split-Phase Operations
在TinyOS中由于tasks 之间不能互相占先执 行,所以TinyOS没有提供任何阻塞操作,为 了让一个耗时较长的操作尽快完成,一般来说 都是将对这个操作的需求和这个操作的完成分 开来实现,以便获得较高的执行效率。
Event-Driven Architecture
TinyOS的应用程序都是基于事件驱动模式的,采用 事件触发去唤醒传感器工作。
2010-8-4
mice
9
TinyOS的特点
Tasks And Events Concurrency Model
tasks一般用在对于时间要求不是很高的应用中,且tasks之间是 平等的,即在执行时是按顺序先后来得,而不能互相占先执行, 一般为了减少tasks的运行时间,要求每一个task都很短小,能 够使系统的负担较轻;events一般用在对于时间的要求很严格的 应用中,而且它可以占先优于tasks和其他events执行,它可以 被一个操作的完成或是来自外部环境的事件触发,在TinyOS中 一般由硬件中断处理来驱动事件。
无线传感网试题汇总-填空题
无线传感器网络试题汇总一、填空题1、狭义的无线传感网络包含()()()。
2、传感器节点由()()()()四部分组成。
3、IEEE802.15.4规范定义了27个物理信道,信道编号从0到26,其中0号信道,1号信道,26号信道的中心频率分别是()()()。
4、IEEE802.15.4的数据传送有三种方式,一是();二是(),三是()。
5、IEEE802.15.4标准中共定义了四种类型的帧:()()()()。
6、定时器1是一个(16)位定时器,可在时钟()或()递增或者递减计数。
7、定时器1有()()()()四种工作模式。
8、定时器通道控制模式包含()和()两种模式。
9、CC2530定时器的精度有()()()。
10、设置定时器1的控制寄存器T1CTL值为0X0E,则时钟进行了()分频,定时器工作于()模式(参看教材246页表6-44)。
11、将定时器通道1设置为下降沿捕获,允许通道1中断,则捕获/比较寄存器T1CCTL1的值为();将定时器通道0设置为输出比较模式,输出置0,通道0的比较模式为:“输出置0”,则捕获/比较寄存器T1CCTL0的值为()(参看教材246页表6-46)。
12、CC2530有()个IO口,其中()()2个8位端口,P2一个()位端13、将P0口设置为输出,则P0DIR=()。
(参看教材174页表6-4)14、将P1口设置为输出,则P1SEL=()。
(参看教材175页表6-5)15、如果已经允许P0中断,只允许P0口的低4位中断,P0IEN=()。
(参看教材184页表6-14)。
16、如果P0IFG=0X05,则哪些端口有中断发生()。
17、TinyOS操作系统是加州大学伯克利分校的David Culler领导的研究小组为无线传感网(Wireless Sensor Net,简称WSN)量身定制的开源的()操作系统。
而nesC语言由C语言扩展而来,用来描述TinyOS 的();nesC语言是TinyOS的(),也是TinyOS应用程序的()。
无线传感器网络操作系统TinyOS的研究与实例开发
十分广 阔的应用前景 。无线传感器 网络节点 的硬件能 力是非 常有 限的 ,节点上的嵌入式操作系统必须满足
在 有 限 的物 理 空 间 内实 现 对 硬 件 的高 效 管 理 。 因此 , 适
用 于无线传感器 网络节点 的微型嵌入式操作系统就成
() 1采用基于组件的程序模 型 ;
收 稿 日期 :0 2 0 — 2 21—20
程序开发过程。 关 键 词 :i O ;eC; 序 开发 Tn S n s 程 y
中 图分 类 号 :P 1 . T 9 9 T 2 29 N 2 . ; 5
文 献标 识 码 : A
文 章 编 号 :0 17 1 (0 2 0 — 2 0 0 10 — 19 2 1 )4 0 0 — 3
s h d l d ,v n — r e at r ,c ie me s g o c e u e mo ee e t d v n p t na t sa e c mmu ia in t c n lg ,o o e tp o r mmi g a d S n I d — i e v n c t e h oo c mp n n r g a o y n n O o . t e v lp s a p ia in a e n n s a g a e T e p p ri t d c sT n OS a d a a y e h r c e i i o e C b s d o e o e p l t sb s d o e C ln u g . h a e r u e iy , n n l s sc a a t r t f s a e n c o n o sc n c mp n n r g a o o e t o r mmi g i e o l t rg a h c x li st e d v lp n t p f h p l ain p n ,gv sa c mp ee p o r msw ih e p an h e eo me tse so e a pi t . t c o Ke r s i y ; e C p o rm e eo me t y wo d :T n OS n s ; r ga d v lp n
无线传感器网络简明教程_第八章
在使用MICA2/MICA2DOT平台时,输入如下完整的命令: PFLAGS=-DCC1K_MANUAL_FREQ=<freq> make <mica2|mica2dot>
8.2 实验内容和步骤
1、安装TinyOS (1) 下载与安装 TinyOS操作系统有两种安装方式,一种是使用安装 向导自动安装,另一种是全手动安装。不管使用哪种 方式,都需要安装相同的RPM。 RPM就是Reliability Performance Measure,是 广泛使用的用于交付开源软件的工具,用户可以轻松 有效地安装或升级RPM打包的产品。
具体的实验目标包括: (1) 掌握安装TinyOS操作系统; (2) 事件驱动的传感器数据获取; (3) 发送与接受消息; (4) PC机显示数据。
4、实验所需软件 操作系统:安装有Cygwin的Windows 2000/XP操作系统,或 者安装有GCC编译器的Linux操作系统。 下载并安装以下软件: ① Cygwin (); ② WinAVR (); ③ nesC (); ④ Java JDK (); ⑤ TinyOS ().
MIB510编程接口板的典型输出如下: $ mib510 make reinstall mica2 installing mica2 binary uisp -dprog=mib510 -dserial=COM1 -dpart=ATmega128 -wr_fuse_e=ff --erase --upload if=build/mica2/main.srec Firmware Version: 2.1 Atmel AVR ATmega128 is found. Uploading: flash Fuse Extended Byte set to 0xff 这时可以知道编程接口板和计算机串口工作正常,然后验证传感器节点
4.TinyOS实验
2013-9-17
11/15
点对点通信实验
ActiveMessageC向上层提供的接口有AMSend、Receive、 AMPacket、Packet、Snoop等。
AMSend接口实现数据的发送 Receive接口实现数据的接收 Snoop是接收发往其它节点的数据 AMPacket接口用于设置和提取数据包的源节点地址、 目的地址等信息 Packet接口主要是得到数据包的有效数据长度 (payload length)、最大数据长度、有效数据的起始 地址等。
配置组件 实现组件
使用组件
接口3
接口1
接口1 接口4
接口2
接口2 接口5
TinyOS操作系 统的组件分为3 种类型 :硬件 抽象组件,合 成硬件组件和 高层软件组件。
图4_3 组件与接口
2013-9-17
6/15
接口(interface)
接口是访问组件的唯一途径。 接口是命令(command)和事件(event)函数的集合。 interface Timer {
2013-9-17 12/15
点对点通信实验
实验步骤
将硬件正确连接 打开Cygwin,切换到/opt/dtos/apps/MP/3_1_p2p/目录 下,分别对两个节点进行烧写,输入编译烧录命令: 节点A: make dw1 install NID=03 GRP=01 节点B: make dw1 install NID=05 GRP=01 不同的组写入的GRP应当不一样,以避免实验冲突
2013-9-17
10/15
点对点通信实验
CSMA/CA机制使节点在发送数据之前,首先去侦听信道 状况,只有在信道空闲的情况下才发送数据,从而避免了 数据碰撞,保证了节点间数据稳定传输;
TinyOS
无线传感器网络是当前国际上备受关注的、多学科高度交叉、知识高度集成的前沿热点研究技术,其核心技术Tinyos被誉为是“无线嵌入式系统”。
Tinyos是一个开源的嵌入式操作系统,他由加州大学的伯利克分校开发出来,越来越多的无线传感器网络通信协议正不断被开发并加入Tinyos系统组件中,并应用于技术研究和系统开发中。
无线传感器网络通常利用无线技术在某个区域内实时部署一个专用的无线局域网络。
传输传感器上采集到的数据是无线传感器网络的主要目标。
在无线传感器网络的部署过程,Web服务器是确立网络部署和监控通信传输的关键。
由于嵌入式操作系统具有高可靠性,在恶劣环境或突然断电的情况下,系统仍然能够正常工作,系统中的软件代码一般都固化在只读存储器中。
因此,要求在恶劣环境中仍然能高稳定工作的无线传感器网络可以采用嵌入式操作系统作为其实现平台,这其中包括:嵌入式Linux,Windows CE,Windows XP Embedded,VxWorks,μCOSⅡ,QNX,FreeRTOS,还有定制版的NetBSD和FreeDOS等多种移植平台。
本文主要采用Windows XPEmbedded设计平台。
Tinyos应用操作系统,将GENE-8310作为无线传感器网络中的远程服务器,实现无线网络与有线网络的跨网段传输和远程网络监控。
GENE-8310是研扬科技研制的第三代无风扇解决方案,与以往的3.5 in单板电脑相比GENE-8310在低功耗和高性能方面都有很大的改进,对于客户在低功耗控制下的优秀处理能力等更高需求方面都是最好的选择。
1 嵌入式Tinyos移植嵌入式Tinyos移植方案方框图如图1所示:首先,在开发机PC上,利用Microsoft Windows Embedded Studio工具套件中的组件设计器开发出网关MIB520的驱动组件,并结合第三方工具Dependencywalker,InCtr15开发出应用程序cygwin.bat的组件,之后把构建完成的驱动组件和应用程序组件通过工具套件中的组件数据库管理器导入到组件数据库中,以便开发操作系统时添加。
tinyos资料
TinyOS是一个开源的嵌入式操作系统,它是由加州大学的伯利克分校开发出来的,主要应用于无线传感器网络方面。
它是基于一种组件(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工作;单一任务栈;内核非常简单,甚至在严格意义上说,称不上内核;没有进程管理和虚拟存储。
物联网工程导论(专升本)专业课程期末复习题(含答案)
仲恺农业工程学院物联网工程导论(专升本)复习题课程名称:物联网工程导论(专升本)1.(单选题)智慧地球(Smarter Planet)是谁提出的( )(本题1.0分)A.无锡研究院B.温总理C.IBMD.奥巴马答案:C.解析:无.2.(单选题)以下关于物联网感知层的描述中,错误的是( )(本题1.0分)A.感知层是物联网的基础,是联系物理直接与虚拟信息世界的纽带B.能够自动感知外部环境信息的设备包括:RFID、传感器、GPS、智能测控设备等C.智能物体可以具备感知能力,而不具备控制能力D.智能传感器节点必须同时具备感知、控制能力、同时具备适应周边环境的运动能力答案:C.解析:无.3.(单选题)以下关于一维条码特点的描述中,错误的是( )(本题1.0分)A.一维条形码在垂直方向表示存储的信息B.一维条形码编码规矩简单,识读器造价低C.数据容量较小,一般只能包含字母和数字D.条形码一旦出现损坏将被据读答案:A.解析:无.4.(单选题)以下关于一维条形码特点的描述中,错误的是( )(本题1.0分)A.二维条形码在水平和垂直方向的二维空间存储信息B.信息译码可靠性强、纠错能力强、制作成本低、保密与防伪性能好C.信息容量与编码规则无关D.条形码某个部分遭到一定程度损坏,可以通过其他位置的纠错码还原出损失的信息答案:C.解析:无.5.(单选题)以下不能够在无线自组网中使用的网络通信技术是( )(本题1.0分)A.无线广域网B.移动通信网C.无线局域网D.无线个人区域网答案:A.解析:无.6.(单选题)利用RFID 、传感器、二维码等随时随地获取物体的信息,指的是( )。
(本题1.0分)A.可靠传递B.全面感知C.智能处理D.互联网答案:B.解析:无.7.(单选题)第三次信息技术革命指的是( )。
(本题1.0分)A.互联网B.物联网C.智慧地球D.感知中国答案:B.解析:无.8.(单选题)三层结构类型的物联网不包括( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
21
内容提要
1. 2. 3. 4. 5. WSN操作系统 TinyOS简介 主要技术 编程规范 体系结构
22
TinyOS的体系结构
• TinyOS操作系统采用了组件的结构。系统本身提供了一 系列的组件供用户调用,其中包括主组件、应用组件、 执行组件、传感组件、通信组件和硬件抽象组件,如下 图所示:
内容提要
1. 2. 3. 4. 5. WSN操作系统 TinyOS简介 主要技术 编程规范 体系结构
11
TinyOS的技术特点-1
组件化编程(Componented-Based)
TinyOS提供一系列可重用的组件,一个应用程序可以通过 连接配置文件(A Wiring Specification)将各种组件连接 起来,以完成它所需要的功能。
6
内容提要
1. 2. 3. 4. 5. WSN操作系统 TinyOS简介 主要技术 编程规范 体系结构
7
TinyOS简介
TinyOS是一个开源的嵌入式操作系统,它是由加州大学的 伯利克分校开发出来的,主要应用于无线传感器网络方面。 它是基于一种组件(Component-Based)的架构方式,使 得能够快速实现各种应用。 因为与同样是他们设计的硬件平台珠联璧合而声名鹊起, 目前已经成为无线传感器网络领域事实上的标准平台。 支持的平台:eyesIFXv2、intelmote2、mica2、 mica2dot、 micaZ、telosb、tinynode。
• 组件由下到上可分为3类:硬件抽象组件、综合硬件组件 和高层软件组件。
– 硬件抽象组件将物理硬件映射到TinyOS的组件模型; – 综合硬件组件模拟高级的硬件行为,如感知组件、通信组件等; – 高层次的软件组件实现控制、路由以及数据传输等应用层的功能。
23
TinyOS的应用程序
• 每个TinyOS程序应当具有至少一个应用组件,即 用户组件。该应用组件通过接口调用下层组件提 供的服务,实现针对特定应用的具体逻辑功能, 如数据采集、数据处理、数据收发等。 • 一个完整的应用系统由一个内核调度器(简称调 度器)和许多功能独立且相互联系的组件构成, 可以把TinyOS系统和在其上运行的应用程序看成 是一个大的“执行程序”。 • 现有的TinyOS系统提供了大多数传感网硬件平台 和应用领域里都可用到的组件,例如定时器组件、 传感器组件、消息收发组件、电源管理组件等, 从而把用户和底层硬件隔离开来。在此基础上, 用户只需开发针对特殊硬件和特殊应用需求的少 量组件,大大提高了应用的开发效率。
– 命令(command):接口的提供者必须实现它们; – 事件(event):接口的使用者必须实现它们 。
19
组件,接口,命令和事件
• 接口的特点:
Provides未必一定有组件使用,但uses一定要有人提供,否则编 译会提示出错。在动态组件配置语言中uses也可以动态配置。 接口可以连接多个同样的接口,叫做多扇入/扇出。 一个module可以同时提供一组相同的接口,又称参数化接口,表 明该Module可提供多份同类资源,能够同时给多个组件分享。 interface Send {
15
TinyOS √
MOS √
SOS √
√ √
√ √ √ √
√ √ √
内容提要
1. 2. 3. 4. 5. WSN操作系统 TinyOS简介 主要技术 编程规范 体系结构
16
TinyOS的编程语言
• TinyOS最初是用汇编和C语言编写的,后来改用 支持组件化编程的nesC语言。该语言把组件化/模 块化思想和基于事件驱动的执行模型结合起来。 • nesC:使用C作为其基础语言,支持所有的C语言 词法和语法,其独有的特色如下: 增加了组件 组件(component)和接口 接口(interface) 组件 接口 的关键字定义; 定义了接口及如何使用接口表达组件之间关系 的方法; 目前只支持组件的静态连接,不能实现动态连 接和配置。
event : 事 件关键字
20
组件模型
component代表 module 或configuration 组件标识符(identifier) Component M1{ provides { interface P1; interface P2; …… } uses { interface U1; interface U2; …… } } implementation { ……//实现部分 } P1:接口标识符(名 字 ) , 模 块 M1 必 须 实现它所提供接口的 命令(command)。
U1:接口标识符,模 块 M1 必 须 实 现 它 所 使用的接口中事件 (event)。
组件(模块或配件) 的规范(specification) 作用域。组件根据功 能需要可以声明所使 用和提供的接口,也 可以不提供(或)使 用任何接口。
组件的实现(implementation)作用域,对于模 块来说该部分是程序功能的代码实现部分,它 实现了所提供的接口中的命令和使用的接口中 的事件;对于配件来说该部分用于将接口的使 用组件和提供组件之间连接起来组成一个程序。
3
无线传感器网络的特点
• 传感器网络具有◇应用多样性、◇硬件功能有限、 ◇资源受限、◇节点微型化、◇分布式任务协作 的特点。 • 单个传感器节点有两个很突出的特点: – 并发性密集,即可能存在多个需要同时执行的 逻辑控制; – 传感器节点模块化程度很高,要求系统能够让 应用程序方便的对硬件进行控制。 • 因此,必须针对这些特点来设计WSN操作系统。
interface:接口关键字 command : 命 令关键字
command error_t send(message_t* msg, uint8_t len); command error_t cancel(message_t* msg); event void sendDone(message_t* msg, error_t error); command uint8_t maxPayloadLength(); command void* getPayload(message_t* msg); }
14与其他WSN操作系统的比较• 下面从设计操作系统必须考虑的几个方面列举了 TinyOS、MOS和SOS这三个系统的区别:
系统特征 事件驱动 线程驱动 处理器能量管理 外设能量管理 优先级调度 实时服务 动态重编程服务 外设管理 模拟服务 内存管理 系统执行模型 √ √ √ 静态 组件 √ √ 静态 线程 √ 动态 模块
《无线传感器网络操作系统TinyOS》讲义
TinyOS操作系统概述
2010年4月10日
浙江工业大学浙江省嵌入式系统联合 重点实验室
1
内容提要
1. 2. 3. 4. 5. WSN操作系统 TinyOS简介 主要技术 编程规范 体系结构
2
无线传感器网络及其操作系统
• 无线传感器网络(Wireless Sensor Network,WSN)是由部署 在监测区域内大量的廉价微型传感器节点组成,通过无线 通信方式形成的一个多跳的自组织网络系统,其目的是协 作地感知、采集和处理网络覆盖区域中感知对象的信息, 并发送给观察者。 • 有人认为没有必要设计一个专门的操作系统,可以直接在 硬件上设计应用程序,但在实际过程中会碰到许多问题: – 面向传感器网络的应用开发难度会加大,应用开发人员 不得不直接面对硬件进行编程,无法得到像操作系统那 样提供的丰富的服务。 – 软件的重用性差,程序员无法继承已有的软件成果,降 低了开发效率。
5
现有的WSN操作系统
• 当前已有多个有代表性的开源的无线 传感器网络操作系统:
Tiny OS 2.1:美国加州大学伯克利分校开发 Mantis OS 0.9.5 (Multimodal Networks of Insitu Sensors) :美国克罗拉多大学开发 SOS 1.7:美国加州大学洛杉矶分校开发
事件驱动模式(Event-Driven)
TinyOS的应用程序都是基于事件驱动模式的,采用事件触 发去唤醒传感器工作。事件相当于不同组件之间传递状态 信息的信号。当事件对应的硬件中断发生时,系统能够快 速地调用相关的事件处理程序。
12
TinyOS的技术特点-2
轻量级线程(lightweight thread)
轻量级线程,即任务。任务之间是平等的,不能相互抢占, 按先入先出队列(First Input First Output,FIFO)进行调度。 轻线程是针对节点并发操作可能比较频繁,且线程比较短 的问题提出的。
两级调度方式(Tasks And Events Concurrency Model)
任务一般用在对于时间要求不是很高的应用中,通常要求 每一个任务都很短小,能够使系统的负担较轻;事件一般 用在对于时间的要求很严格的应用中,且它可以占先优于 任务和其他事件执行,在TinyOS中一般由硬件中断处理来 驱动事件。
4
WSN操作系统的设计目标
• WSN是应用相关的网络 是应用相关的网络,其硬件节点功能、结构、 是应用相关的网络 组织方式会随应用而不同。由此要求WSN操作系 统能够良好的模块化设计,使应用/协议/服务与硬 件资源之间可以随意搭配。 • WSN节点资源非常有限 节点资源非常有限(通信带宽资源/能量资源 节点资源非常有限 /计算资源),操作系统必须能够高效地使用各种 资源。 • WSN是一个网络系统 是一个网络系统,其操作系统也必然是面向 是一个网络系统 网络化开发的。网络化系统要求操作系统必须为 应用提供高效的组网和通信机制。