版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章网络体系架构
WSN节点概述和分类WSN节点结构WSN节点体系结构WSN网络结构无线传感器网络分类和特点WSN操作系统传感器概述:功用:一感二传,即感受被测信息,并传送出去。传感器定义
我国国标(GB7665-2005)对传感器的定义是:“能感受被测量并按照一定的规律转换成可用输出信号的器件或装置”。传感器的作用主要是感受和响应规定的被测量,并按一定规律将其转换成有用输出,特别是完成非电量到电量的转换。2/28
传感器的组成
传感器的组成,并无严格的规定。一般说来,可以把传感器看作由敏感元件(有时又称为预变换器)和变换元件(有时又称为变换器)两部分组成。qzm_mail@3/28传感器的分类根据被测量与输出电量的转换原理分类能量转换型、能量控制型根据传感器感知的对象分类温度传感器、力传感器、等根据输出信号的性质不同分类二值型、数字型、模拟型根据传感器测量原理分类物理和化学….4常用物理传感器
与化学传感器5分类-物理传感器1.物理传感器物理传感器的原理是利用力、热、声、光、电、磁、射线等物理效应,将被测信号量的微小变化转换成电信号物理传感器可以进一步分为:力传感器、热传感器、声传感器、光传感器、电传感器、磁传感器与射线传感器等7类6(1)力传感器力传感器是能感受外力并将其转换成可用输出信号的传感器。力传感器的种类繁多,常用的力与压力传感器有电阻应变式、半导体应变式、压阻式、电感式、电容式、谐振式压力传感器,以及光纤压力传感器等用金属应变丝作为敏感元件的压力传感器原理示意图7不同用途的
力传感器8(2)温度传感器(3)声传感器9(4)光传感器图像传感器光纤传感器10分布式光纤传感系统分布式光纤传感系统利用光纤作为传感敏感元件和传输信号介质,探测出沿着光纤不同位置的温度和应变的变化,实现分布、自动、实时、连续、精确的测量。分布式光纤传感系统应用领域包括:
—智能电网的电力电缆表面温度检测、事故点定位
—发电厂和变电站的温度监测、故障点检测和报警
—水库大坝、河堤安全与渗漏监测
—桥梁与高层建筑结构安全性监测
—公路、地铁、隧道地质状况的监测分布光纤温度传感系统可以在易燃、易爆的环境下同时测量上万个点,可以对每个温度测量点进行实时测量与定位11(5)电传感器电传感器可以分为:电阻式、电容式、电感式传感器电阻式传感器利用变阻器将非电量转换成电阻信号的原理制成的。电阻式传感器主要用于位移、压力、应变、力矩、气流流速、液面与液体流量等参数的测量电容式是利用改变电容器的几何尺寸或介质参数,来使电容量变化的原理制成的。电容式传感器主要用于压力、位移、液面、厚度、水分含量等参数的测量电感式是利用改变电感磁路的几何尺寸或磁体位置,来使电感或互感量变化的原理制成的,主要用于压力、位移、力、振动、加速度等参数的测量。12(6)磁传感器磁传感器是最古老的传感器,指南针是磁传感器的最早的一种应用磁传感器将磁信号转化成为电信号输出磁电式传感器目前已经被高性能磁敏感材料的新型磁传感器所替代13(7)射线传感器
射线传感器是将射线强度转换出可输出的电信号的传感器射线传感器可以分为:X射线传感器、γ射线传感器、β射线传感器、辐射剂量传感器射线传感器已经在环境保护、医疗卫生、科学研究与安全保护领域广泛使用14分类-化学传感器化学传感器可以将化学吸附、电化学反应过程中被测信号的微小变化转换成电信号的一类传感器
按传感方式的不同,可分为:
—接触式化学传感器
—非接触式化学传感器按结构形式的不同,可以分为:
—分离型化学传感器
—组装一体化化学传感器按检测对象的不同,可以分为:
—气体传感器
—离子传感器
—湿度传感器
15分类-生物传感器生物传感器是由生物敏感元件和信号传导器组成生物敏感元件可以是生物体、组织、细胞、酶、核酸或有机物分子不同的生物元件对于光强度、热量、声强度、压力有不同的感应特性16生物传感器的分类常用传感器qzm_mail@17/28
智能传感器qzm_mail@18/28
定义:传统传感器加上处理器具有智能功能的传感器。所谓智能式传感器,就是一种带有微处理机的,兼有信息检测、信号处理、信息记忆、逻辑分析与判断功能的传感器。组成:传感器+微处理器+信号处理电路。微处理器为核心。智能传感器的特点具有自动调零和自动校准功能具有判断和信息处理功能、对测量值进行修正和误差补偿实现多惨了综合测量(复合感知能力)自动诊断故障灵活的通信能力智能传感器的发展为传感器技术的研究提出了很多富有挑战性的课题qzm_mail@19/28微机电系统对智能传感器发展的影响微机电系统(MEMS)是指集微型机构、微型传感器、微型执行器以及信号处理和控制电路,直至接口、通信和电源等于一体的微型器件或系统qzm_mail@20/28性能指标静态指标线性范围:输出量与输入量呈线性关系的测量范围线性度:传感器实际输入输出量曲线与拟合曲线的重叠程度灵敏度:输出变化量与输入变化量的比值稳定性:表示传感器经过长期使用后,输出特性不发生变化的性能分辨率:能检测到的被测量的最小变化量21/28(具体定义公式见教材)性能指标
迟滞:传感器在输入量从小到大正向变化与反向变化,其输入输出特性曲线不重合的程度重复性:传感器在输入量按同一方向做全量程连续多次变化时所得特性曲线一致的程度漂移:输入量不变的情况下,输出量随时间变化的现象测量范围:最小/最大输入量的范围精度:测量结果的可靠程度,以给定的准确度来表示重复某个读数的能力动态指标输出信号对应随时间变化的输入量的响应特性,反映测量精度、重复性和可靠性第二章网络体系架构
WSN节点概述和分类WSN节点结构WSN节点体系结构WSN网络结构无线传感器网络分类和特点WSN操作系统24无线传感器节点结构(1)无线传感器节点通常由4个功能模块组成:感知模块、处理模块、通信模块和电源模块25无线传感器节点结构(2)感知模块:由一个或多个传感器以及模数转换器组成。传感器负责感知监测目标的物理特征和现象,并产生相应的模拟信号。感知声、光、电、震动、磁、气体等信号模数转换器负责将模拟信号转换为数字信号,并将数字信号送往处理模块进行处理。处理模块:由一个微处理器及相应的内存组成,负责对数据进行处理、滤波、决策、执行、资源分配等判断,并对传感器节点进行控制通信模块:由数模转换器和无线收发送器(Zigbee,WiFi,GPRS,短波等)组成,负责发送和接收数据和控制信息26无线传感器节点结构(3)电源模块:负责节点的供电(电池供电或从自然界采集能量)其他模块位置模块:节点可以配置全球定位系统(GlobalPositioningSystem,GPS)或北斗定位系统接收器移动模块:在某些需要移动传感器节点的应用中,可以配置马达来驱动传感器节点/wiki/List_of_wireless_sensor_nodes一个简单的应用开发需要:一个简单的应用开发需要:Serialgateway
(MIB510)MICA2(MPR400)(处理模块和通信模块)MTS310(感知模块)QTY:1
COST:$95.00
Serial"gateway"usedtoprogramandcommunicatewiththemotes.
NOTE:Ifyourcomputerdoesnothaveaserialport,youwillalsoneedtobuyaserialtoUSBadapter.QTY:2
COST:$150.00each
The900MHzmotesoffergreaterbandwidth,whichmeansmoreavailablechannels.Ifyouwanttohaveseveralmotenetworksoperatingatonce,thisisthewaytogo.The433MHzmotesgetbetterrange.Bestforoutdoorapplications.QTY:1
COST:$120.00
Basicsensorboardthatplugsintothemote.Containslightsensor,temperaturesensor,microphoneandsounder.Moreadvancedsensorboardshaveaccelerometers,magnetometersandGPS.ProgrammingBoard(MIB510)29Mica2MotesMICA2MOTE/isf/facilities/isa/internal/CrossBow/DataSheets/mica2.pdf30
SensorBoard-MTS31032第二章网络体系架构
WSN节点概述和分类WSN节点结构WSN节点体系结构WSN网络结构无线传感器网络分类和特点WSN操作系统
跨层设计联合优化无线传感器网络协议栈WSN的体系架构35WSN的通信协议
物理层(主要是电磁波)负责频率选择、频率产生、信号检测、调制解调和数据加密36WSN的通信协议(续)链路层负责介质访问和差错控制确保通信中点-点/点-多点的连接介质访问控制:创建网络架构在节点间公平有效的共享通信资源差错控制前向纠错FEC自动重发检错ARQ37WSN的通信协议(续网络层(路由层)节能总是最重要的考虑传感网络多以数据为中心数据聚合不能影响传感节点的协同理想的传感器网络基于属性寻址并能感知位置38WSN的通信协议(续传输层负责数据流的传输控制可靠性和拥塞控制当传感系统需要被Internet或者其它外部网络访问时传输层设计与实现至关重要研究不成熟39WSN的通信协议(续)跨层设计联合优化应用层负责任务调度和数据分发等具体业务,使得底层硬件和软件对传感应用是透明的
Sensormanagementprotocol(SMP)Taskassignmentanddataadvertisementprotocol(TADAP)Sensorqueryanddatadisseminationprotocol(SQDDP)网络管理平台主要是对传感器节点自身的管理和用户对wsn的管理,包括:拓扑控制服务质量管理能力管理安全管理移动管理网络管理应用支撑平台包括一系列基于监测任务的应用层软件,通过应用服务借口和网络管理接口为用户提供各种应用的支持。时间同步定位应用服务接口网络管理接口第二章网络体系架构
WSN节点概述和分类WSN节点结构WSN节点体系结构WSN网络结构无线传感器网络分类和特点WSN操作系统43无线传感网的布设形式随机布设网战场:炮射、空投应急:火灾、毒气固定布设网工控:自动控制监测:远程监测44无线传感器网络的网络结构(1)传感器网络基本组成:传感器节点(sensornode)
汇聚节点(sink)管理节点(Management
node)汇聚节点→传感器节点:查询消息或指令汇聚节点还作为连接外部传输网络(如互联网、卫星网等)的网关,对收集到的数据进行简单的处理,然后将数据通过互联网或其它传输网络,传送给监控中心和需要使用这些数据的终端用户传感器节点→汇聚节点:监测数据sinkInternet/SatelliteSensornode45无线传感器网络的网络结构(2)单跳结构各传感器节点可以采用单跳的方式将各自的数据直接发送给汇聚节点基于蜂窝的窄带物联网(NarrowBandInternetofThings,NB-IoT)Sensornode
Ref:NB-IoT:AsustainabletechnologyforconnectingbillonsofdevicesEricssionTechnologyReviewApril22,2016
NB-IoT的应用无线传感器网络的网络结构(3)多跳结构传感器节点通过一个或多个网络中间节点将所采集到的数据传送给汇聚节点,从而有效地降低通信所需的能耗平面结构多跳分簇结构
多层分簇结构第二章网络体系架构
WSN节点概述和分类WSN节点结构WSN节点体系结构WSN网络结构无线传感器网络分类和特点WSN操作系统50无线传感器网络的分类(1)单跳网络与多跳网络single-hop/multi-hop静止网络与移动网络static/mobile静止传感网中,所有传感器节点都是静止不动的。静止传感网实现简单,但静止WSN存在瓶颈;移动传感网中,某些节点可以移动。移动可以平衡网络流量和能耗分布,但动态性使得协议实现复杂。静止汇聚节点网络与移动汇聚节点网络静止汇聚节点网络中,汇聚节点的位置静止固定在监测区域附近或内部;移动汇聚节点网络中,汇聚节点在监测区域移动,收集传感器节点的监测数据,可以平衡各网络负载,减小热点效应。51无线传感器网络的分类(2)确定性网络与非确定性网络根据传感器节点部署的情况不同确定性传感器网络中,传感器节点的位置是预先规划的,且一旦部署不再变化;非确定性传感器网络中,节点随机布设,甚至可以移动,适合自然条件恶劣或敌对的应用场合,难以预先规划。单汇聚节点网络与多汇聚节点网络根据汇聚节点的数量单汇聚节点网络中,只有一个汇聚节点位于监测区域的附近或内部;多汇聚节点网络中,多个汇聚节点布设于不同位置,各传感器节点可以将其监测数据发送给离自己最近的汇聚节点。52无线传感器网络的分类(3)同构网络与异构网络根据传感器节点是否具有相同的能力(通信能力、感知能力、计算能力等的不同)同构传感器网络中,所有传感器节点能力完全相同;异构传感器网络中,传感器节点(或部分)能力不同,可以配备较强的通信、处理模块或传感器。先应式网络和反应式网络先应式网络采用连续操作模式,节点定期打开传感器和发送器、感知环境并进行数据汇包适用于定期监控的应用反应式网络采用查询-响应的操作模式,节点按需的进行感知和数据汇报WSN的特征四大受限:能量受限
通信能力受限计算能力受限存储能力受限组网特征:自组织性以数据为中心应用相关性事件驱动拓扑动态性大规模需要考虑可靠性和鲁棒性54无线传感器网络的设计目标节点体积小型化节点成本低廉节点功耗超低节点可自组成网可扩展性强自适应性强可靠性高满足一定的安全性和服务质量要求55传感网络面临的问题和挑战56影响传感器网络的因素(1)57影响传感器网络的因素(2)58影响传感器网络的因素(3)制造成本单个节点的成本是衡量整个网络成本的关键如何以低于一美元的成本制造一定功能的传感节点是很大的挑战传输介质(选择的传输介质必须是全球可用的)无线电红外其他光波59影响传感器网络的因素(4)传感器的环境敌方战场居家/大型建筑物大型仓库动物身上快速移动的车辆有水流动的排水管/河流第二章网络体系架构
WSN节点概述和分类WSN节点结构WSN节点体系结构WSN网络结构WSN分类WSN操作系统MajorConcernsinWSNOSDesign能在有限的资源上运行:WSN节点资源非常有限(通信带宽资源/能量资源/计算资源),操作系统必须能够高效地使用各种资源;允许高度的并发性:要求执行模式能对事件作出快速的直接响应;适应硬件升级支持一系列平台:要求组件和执行模式能够应对硬件/软件的替换,具有可移植性;支持多样化的应用程序:良好的模块化设计,使应用/协议/服务与硬件资源之间可以随意搭配,要求能够根据实际需要,裁减操作系统的服务;鲁棒性强:要求通过组件间有限的交互渠道,就能应对各种复杂情况;提供高效的组网机制:WSN是一个网络系统,其操作系统也必然是面向网络化开发的。网络化系统要求操作系统必须为应用提供高效的组网和通信机制WSNOSOutlineFunctionalAspectsDataTypesSchedulingStacksSystemCallsHandlingInterruptsMultithreadingThread-basedvs.Event-basedProgrammingMemoryAllocationNon-FunctionalAspectsSeparationofConcernSystemOverheadPortabilityDynamicReprogrammingPrototypesTinyOSContikiEvaluationOperatingSystemsAnoperatingSystemisathinsoftwarelayerresidesbetweenthehardwareandtheapplicationlayerprovidesbasicprogrammingabstractionstoapplicationdevelopersItsmaintask
istoenableapplicationstointeractwithhardwareresourcesOperatingSystemsOperatingsystemsareclassifiedas:
single-task/multitaskingand
single-user/multiuseroperatingsystemsmulti-taskingOS-theoverheadofconcurrentprocessingbecauseofthelimitedresourcessingletaskOS-tasksshouldhaveashortdurationThechoiceofaparticularOSdependsonseveralfactors;typicallyfunctional
and
non-functional
aspectsOutlineFunctionalAspectsDataTypesSchedulingStacksSystemCallsHandlingInterruptsMultithreadingThread-basedvs.Event-basedProgrammingMemoryAllocationNon-FunctionalAspectsSeparationofConcernSystemOverheadPortabilityDynamicReprogrammingPrototypesTinyOSContikiEvaluation
DataTypesInteractionsbetweenthedifferentsubsystemstakeplacethrough:well-formulatedprotocolsdatatypesComplexdatatypeshavestrongexpressionpowerbutconsumeresources-structandenumSimpledatatypesareresourceefficientbuthavelimitedexpressioncapability-CprogramminglanguageSchedulingTwoschedulingmechanisms:queuing-basedscheduling
FIFO-thesimplestandhasminimumsystemoverhead,buttreatstasksunfairlysortedqueue-e.g.,shortestjobfirst(SJF)-incurssystemoverhead(toestimateexecutionduration)round-robinschedulingatimesharingschedulingtechniqueseveraltaskscanbeprocessedconcurrentlySchedulingRegardlessofhowtasksareexecuted,aschedulercanbeeitheranon-preemptivescheduler-ataskisexecutedtotheend,maynotbeinterruptedbyanothertaskorpreemptivescheduler-ataskofhigherprioritymayinterruptataskoflowpriorityStacks&SystemCallsStacksadatastructurethattemporarilystoresdataobjectsinmemorybypilingoneuponanotherobjectsareaccessedusinglast-in-first-out(LIFO)SystemCalls:istheprogrammaticwayinwhichacomputer
program
requests
a
service
from
the
kernel
of
the
operating
system
it
is
executed
ondecoupletheconcernofaccessinghardwareresourcesfromimplementationdetailswheneveruserswishtoaccessahardwareresource,theyinvoketheseoperationswithouttheneedtoconcernthemselveshowthehardwareisaccessedHandlingInterruptsAninterruptisanasynchronoussignalgeneratedby
ahardwaredeviceseveralsystemeventsOSitselfAninterruptcauses:theprocessortointerruptexecutingthepresentinstructiontocallforanappropriateinterrupthandlerInterruptsignalscanhavedifferentprioritylevels,ahighpriorityinterruptcaninterruptalowlevelinterruptInterruptmask:letprogramschoosewhetherornottheywishtobeinterruptedMulti-threadingA
thread
isthepathtakenbyaprocessororaprogramduringitsexecutionMulti-threading
-ataskisdividedintoseverallogicalpiecesscheduledindependentfromeachotherexecutedconcurrentlyTwoadvantagesofamulti-threadedOS:tasksdonotblockothertasksshort-durationtaskscanbeexecutedalongwithlong-durationtasksMulti-threadingThreadscannotbecreatedendlesslythecreationofthreadsslowsdown
theprocessornosufficientresourcestodivideTheOScankeepthenumberofthreadstoamanageable
size
usingathreadpoolThread-basedvs.Event-basedProgrammingDecisionwhethertousethreadsoreventsprogramming:needforseparatestacksneedtoestimatemaximumsizeforsavingcontextinformationThread-basedprograms
usemultiplethreadsofcontrolwithin:asingleprogramasingleaddressspaceThread-basedvs.Event-basedProgrammingAdvantage:athreadblockedcanbesuspendedwhileothertasksareexecutedindifferentthreadsDisadvantages:mustcarefullyprotectshareddatastructureswithlocksuseconditionvariablestocoordinatetheexecutionofthreadsThread-basedvs.Event-basedProgrammingInevent-basedprogramming:useeventsandeventhandlersevent-handlersregisterwiththeOSschedulertobenotifiedwhenanamedeventoccursaloopfunction:
pollsforeventscallstheappropriateevent-handlerswheneventsoccurAneventisprocessedtocompletionunlessitshandlerreachesatablockingoperation(callbackandreturnscontroltothescheduler)MemoryAllocationThememoryunitisapreciousresourceReadingandwritingtomemoryiscostlyHowandforhowlongamemoryisallocatedforapieceofprogramdeterminesthespeedoftaskexecutionMemoryAllocationMemorycanbeallocatedtoaprogram:statically
-afrugalapproach,buttherequirementofmemorymustbeknowninadvancememoryisusedefficientlyruntimeadaptationisnotalloweddynamically
-therequirementofmemoryisnotknowninadvance(onatransientbasis)enablesflexibilityinprogrammingbutproducesaconsiderablemanagementoverheadOutlineFunctionalAspectsDataTypesSchedulingStacksSystemCallsHandlingInterruptsMultithreadingThread-basedvs.Event-basedProgrammingMemoryAllocationNon-FunctionalAspectsSeparationofConcernSystemOverheadPortabilityDynamicReprogrammingPrototypesTinyOSContikiEvaluationSeparationofConcernSoC
isadesignprincipleforseparatinga
computer
program
into
distinct
sections,
such
that
each
section
addresses
a
separate
concernIngeneral,separationbetweentheoperatingsystemandtheapplicationslayerTheoperationsystemscanprovide:anumberoflightweightmodules-“wired”together,oranindivisiblesystemkernel+asetoflibrarycomponentsforbuildinganapplication,orakernel+asetofreconfigurablelow-levelservicesSeparationofconcernenables:flexibleandefficientreprogrammingandreconfigurationPortabilityIdeally,operatingsystemsshouldbeabletoco-existandcollaboratewitheachotherHowever,existingoperatingsystemsdonot
providethistypeofsupportInordertoaccommodateunforeseenrequirements,operatingsystemsshouldbeportableandextensibleSystemOverheadAnoperatingsystemexecutesprogramcode-requiresitsownshareofresourcesTheresourcesconsumedbytheOSarethesystem’soverhead,itdependsonthesizeoftheoperatingsystemthetypeofservicesthattheOSprovidestothehigher-levelservicesandapplicationsSystemOverheadTheresourcesofwirelesssensornodeshavetobesharedbyprogramsthatcarryout:sensingdataaggregationself-organizationnetworkmanagementnetworkcommunication
DynamicReprogrammingOnceawirelesssensornetworkisdeployed,itmaybenecessarytoreprogramsomepartoftheapplicationortheoperatingsystemforthefollowingreasons:thenetworkmaynotperformoptimallyboththeapplicationrequirementsandthenetwork’soperatingenvironmentcanchangeovertimemaybenecessarytodetectandfixbugsDynamicReprogrammingManualreplacementmaynotbefeasible-developanoperatingsystemtoprovidedynamicreprogrammingsupport,whichdependsonclearseparationbetweentheapplicationandtheOStheOScanreceivesoftwareupdatesandassembleandstoreitinmemoryOSshouldmakesurethatthisisindeedanupdatedversionOScanremovethepieceofsoftwarethatshouldbeupdatedandinstallandconfigurethenewversionalltheseconsumeresourcesandmaycausetheirownbugsDynamicReprogrammingSoftwarereprogramming(update)requiresrobustcodedisseminationprotocols:splittingandcompressingthecodeensuringcodeconsistencyandversioncontrollingprovidingarobustdisseminationstrategytodeliverthecodeoverawirelesslinkOutlineFunctionalAspectsDataTypesSchedulingStacksSystemCallsHandlingInterruptsMultithreadingThread-basedvs.Event-basedProgrammingMemoryAllocationNon-FunctionalAspectsSeparationofConcernSystemOverheadPortabilityDynamicReprogrammingPrototypesTinyOSContikiEvaluationTinyOS(Gayetal.2007)TinyOSisthemostwidelyused,richlydocumented,andtool-assisted
runtimeenvironmentinWSN
http://staticmemoryallocationevent-basedsystemTinyOS’sarchitectureconsistsofaschedulerasetofcomponents,whichareclassifiedintoconfigurationcomponents-"wiring"(howmodelsareconnectedwitheachother)modules-thebasicbuildingblocksofaTinyOSprogramTinyOS(Gayetal.2007)Acomponentismadeupofaframecommandhandlerseventhandlersasetofnon-preemptivetasksAcomponentissimilartoanobjectinobject-basedprogramminglanguages:itencapsulatesstateandinteractsthroughwell-definedinterfacesaninterfacethatcandefinecommands,eventhandlers,andtasksTinyOS(Gayetal.2007)ThelogicalstructureofcomponentsandcomponentconfigurationsFigure4.2ATinyOScomponentprovidinganinterfaceInFigure4.2,ComponentAdeclaresitsservicebyprovidinginterfaceC,whichinturnprovidescommandD1andsignalseventD2.Figure4.3ATinyOScomponentsthatusesaninterfaceFigure4.4ATinyOSconfigurationthatwiresaninterfaceproviderandaninterfaceuserInFigure4.3,ComponentBexpressesinterestininterfaceCbydeclaringacalltocommandD1andbyprovidinganeventhandlertoprocesseventD2.InFigure4.4,abindingbetweenComponentAandComponentBisestablishedthroughtheConfigurationE.TinyOS(Gayetal.2007)Figure4.1Logicaldistinctionbetweenlow-levelandhigh-levelcomponents(Hilletal.2000)TinyOS(Gayetal.2007)Componentsarestructuredhierarchicallyandcommunicatewitheachotherthroughcommandsandevents:higher-levelcomponentsissuecommandstolower-levelcomponentslower-levelcomponentssignaleventstohigher-levelcomponentsInFigure4.1,twocomponentsatthehighestlevelcommunicateasynchronouslythroughactivemessagesroutingcomponent-establishingandmaintainingthenetworksensorapplication-responsibleforsensingandprocessingTasks,CommandsandEventsThefundamentalbuildingblocksofaTinyOSruntimeenvironment:tasks,commands,andeventsenablingeffectivecommunicationbetweenthecomponentsofasingleframeTasks:monolithicprocesses
-shouldexecutetocompletion-theycannotbepreemptedbyothertasks,thoughtheycanbeinterruptedbyeventspossibletoallocateasinglestacktostorecontextinformationcalllowerlevelcommands;signalhigherlevelevents;andpost(schedule)othertasksscheduledbasedonFIFOprinciple(inTinyOS)Tasks,CommandsandEventsCommands:non-blockingrequestsmadebyhigher-levelcomponentstolower-levelcomponentssplit-phaseoperation:
afunctioncallreturnsimmediatelythecalledfunctionnotifiesthecallerwhenthetaskiscompletedEvents:
eventsareprocessedbytheeventhandlereventhandlersarecalledwhenhardwareeventsoccuraneventhandlermayreacttotheoccurrenceofaneventindifferentwaysdepositinformationintoitsframe,posttasks,signalhigherlevelevents,orcalllowerlevelcommandsOutlineFunctionalAspectsDataTypesSchedulingStacksSystemCallsHandlingInterruptsMultithreadingThread-basedvs.Event-basedProgrammingMemoryAllocationNon-FunctionalAspectsSeparationofConcernSystemOverheadPortabilityDynamicReprogrammingPrototypesTinyOSContikiEvaluationLiteOS(Caoetal.2008)LiteOSisathread-basedoperatingsystemandsupportsmultipleapplicationsbasedontheprincipleofcleanseparationbetweentheOSandtheapplicationsdoesnotprovidecomponentsormodulesthatshouldbe“wired”togetherprovidesseveralsystemcallsprovidesashell-isolatesthesystemcallsfromauserprovidesahierarchicalfilemanagementsystemprovidesadynamic
reprogrammingtechniqueLiteOS(Caoetal.2008)LiteOSismodeledasadistributedfilesystemFigure4.8TheLiteOSoperatingsystemarchitecture(Caoetal.2008)ShellandSystemCallsTheshellprovides:
amountingmechanismtoawirelessnodewhichisone-hopawayfromitadistributedandhierarchicalfilesystemausercanaccesstheresourcesofanamednodealargenumberofLinuxcommandsfilecommands-move,copyand,deletefilesanddirectoriesprocesscommands-managethreadsdebuggingcommands-setupadebuggingenvironmentanddebugcodeenvironmentcommandsuser-managingtheenvironmentofOSmanual-displayinginteractionhistoryandprovidingcommandreferencedevicecommands-providedirectaccesstohardwaredevicesLiteFSFigure4.9ThefilesystemstructureofLiteFS(Caoetal.2008)DynamicReprogrammingTheLiteFSisadistributedfilesystemAusercanaccesstheentiresensornetworkprogramandmanageindividualnodesLiteOSsupportsthedynamicreplacementandreprogramming
ofuserapplicationsiftheoriginalsourcecodeisavailabletotheOSrecompiledwithanewmemorysettingtheoldversionwillberedirectedDynamicReprogrammingIftheoriginalsourcecodeisnotavailabletotheOSuseadifferentialpatching
mechanismtoreplaceanolderversionbinarythestartaddress(S)ofthebinaryexecutableintheflashmemorythestartaddressofallocatedmemoryinRAM(M)thestacktop(T)T-M=thememoryspaceallocatedfortheprogramcodebuttheparametersareobtainedempiricallyandrequireknowledgeofthenodearchitecture-limitstheusefulnessofthepatchingschemeTinyOS简介TinyOS是一个开源的嵌入式操作系统,它是由加州大学的伯利克分校开发出来的,主要应用于无线传感器网络方面。它是基于一种组件(Component-Based)的架构方式,使得能够快速实现各种应用。支持的平台:eyesIFXv2、intelmote2、mica2、mica2dot、micaZ、telosb、tinynode。TinyOS的编程语言
TinyOS最初是用汇编和C语言编写的,后来改用支持组件化编程的nesC语言。该语言把组件化模块化思想和基于事件驱动的执行模型结合起来。nesC:使用C作为其基础语言,支持所有的C语言词法和语法,其独有的特色如下:增加了组件(component)和接口(interface)的关键字定义;定义了接口及如何使用接口表达组件之间关系的方法;目前只支持组件的静态连接,不能实现动态连接和配置。TinyOS提供一系列可重用的组件component,包括networkprotocols,distributedservices,sensordrivers,anddataacquisitiontools
一个组件由两部分组成Specification规范说明,包含要用接口的名字implementation接口的具体实现。组件分两种:Module组件(模块):实现某种逻辑功能;Configuration组件(配件):将各个组件连接起来成为一个整体。一个应用程序可以通过连接配置文件(AWiringSpecification)将各种组件连接(wire)起来,以完成它所需要的功能组件特征:组件内变量、函数可以自由访问,但组件之间不能访问和调用。Component
basedOS
组件component一个应用程序都由一个或多个组件链接起来一个组件由接口(interface)组成,它是双向的并且是组件间的唯一访问点
可以提供(provides)接口,描述了该组件提供给调用者的功能
可以使用(uses)接口,则表示该组件本身工作时需要用到的功能
一个接口由命令(command)和事件(event)组成Acommandisarequesttoperformsomeservice,接口的提供者必须实现它们Aneventsignalsthecompletionoftheservice,接口的使用者必须实现它们
Theinterface’susermakesrequests(callscommands)ontheinterface’sprovider,theprovidermakescallbacks(signalsevents)totheinterface’suser.组件模型WiringcomponentsAconfigurationcanbindaninterfaceusertoaproviderusing->
or<-Uerface->
PerfacePerface<-
UerfaceBounceresponsibilitiesusing=Uerface=
UerfacePerface=
PerfaceTheinterfacemaybeimplicitifthereisnoambiguitye.g.,Uerface->
Provider Uerface->PerfaceTinyOS(Gayetal.2007)ThelogicalstructureofcomponentsandcomponentconfigurationsFigure4.2ATinyOScomponentprovidinganinterfaceInFigure4.2,ComponentAdeclaresitsservicebyprovidinginterfaceC,whichinturnprovidescommandD1andsignalseventD2.Figure4.3ATinyOScomponentsthatusesaninterfaceFigure4.4ATinyOSconfigurationthatwiresaninterfaceproviderandaninterfaceuserInFigure4.3,ComponentBexpressesinterestininterfaceCbydeclaringacalltocommandD1andbyprovidinganeventhandlertoprocesseventD2.InFigure4.4,abindingbetweenComponentAandComponentBisestablishedthroughtheConfigurationE.BlinkM.nc/*ImplementationforBlinkapplication.ToggletheredLEDwhenaTimerfires.*/moduleBlinkM{provides{//必须实现这个接口interfaceStdControl;}uses{//它可能调用这些接口中声明的任何命令以及必须实现这些接口中声明的任何事件。interfaceTimer;interfaceLeds;}}implementation{//Imandresult_tStdControl.init(){callLeds.init();returnSUCCESS;}/*Startthingsup.Thisjustsetstheratefortheclockcomponent.*/commandresult_tStdControl.start(){ returncallTimer.start(TIMER_REPEAT,1000);//Startarepeatingtimerthatfiresevery1000ms}/*Haltexecutionoftheapplication.Thisjustdisablestheclockcomponent.*/commandresult_tStdControl.stop(){ returncallTimer.stop();}/*ToggletheredLEDinresponsetothe<code>Timer.fired</code>event.*/eventresult_tTimer.fired(){callLeds.redToggle();returnSUCCESS;}}Example-modulefileExample-configuration
fileBlink.ncconfigurationBlink{}implementat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度模板木方订购合同
- 皮肤测试仪市场需求与消费特点分析
- 2024年度房屋买卖合同:某市中心住宅小区房屋买卖
- 2024年度企业品牌形象策划合同
- 2024年度新能源设备研发与生产合同
- 2024年度场部信息保密制度及场地使用权合同
- 2024年度光伏电站建设与运营承包合同
- 04版泵车采购与安装服务合同
- 2024年度淮南市某年产00万吨煤矿矿区建筑工程施工合同
- 2024年度临时司机人力资源租赁合同
- 工余安健环知识培训
- (人教版2024)七年级英语上册Unit 5 综合复习课件
- 2024年中级司泵工职业鉴定考试题库(精练500题)
- GB/T 19963.2-2024风电场接入电力系统技术规定第2部分:海上风电
- 期中 (试题) -2024-2025学年外研版(三起)英语六年级上册
- 蒂升技能等级考试复习试题及答案
- 2024新信息科技四年级《第二单元 用编码描绘世界》大单元整体教学设计
- 小学生防性侵安全教育主题班会课件
- DBT29-305-2024 天津市装配式建筑评价标准
- 《“119”的警示》教学设计
- 人教版小学数学四年级下册课件:《平均数》课件
评论
0/150
提交评论