第3章_传感器技术v1.1 物联网 教学课件.ppt

第3章_传感器技术v1.1 物联网 教学课件.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章_传感器技术v1.1 物联网 教学课件

第2章介绍了常见的自动识别方法和技术,重点介绍了RFID技术 IC卡系统构成,一维和二维条形码 RFID的概念和系统组成,标签的存储方式、分类以及常用频率 RFID标签防冲突方法(基于ALOHA协议/基于二进制树协议) 本章重点介绍传感器技术,涉及传感器的基本概念和典型应用,以及常用的硬件平台和操作系统等内容。 传统传感器的局限性 网络化、智能化的程度十分有限,缺少有效的数据处理与信息共享能力 现代传感器 特点:微型化、智能化和网络化 典型代表:无线传感节点 可再生能量,如太阳能、风能等。可再生能源存储能量有两种方式:充电电池,自放电较少,电能利用会比较高,但充电的效率较低,且充电次数有限; 超电容,充电效率高,充电次数可达100万次,且不易受温度,振动等因素的影响。但电容的自放电很大,尤其在接近满电容的时候。 NesC程序的基本组成是组件,每个组件是一个*.nc文件。 NesC程序中采用了一种配置的机制来指明组件与组件之间的关系。 一个组件调用其他的组件的方式是使用 “接口”,用关键字“uses”表示。 一个组件如果使用了某个接口,就必须实现这个接口当中的event. 一个组件如果提供某个接口,就必须实现这个接口当中所有的command。 main是程序开始的组件,是每个的TinyOS 程序都必须的组件。或者可以说是NesC程序的入口,类似于C语言的main(),“Main”调用其他的 组件以实现程序的功能。 nesC中的组件分为:“configuration(配置)”和“module(模块)”两类。 configuration用来完成组件之间的连接。当选定了组件之后,就需要顶层配置文件来联系组件们,让他们协同工作,以完成需要的程序功能。事实上,一个程序中可以有多个配置文件,但一定要有一个顶级配置文件,通常会以application的名字来命名。 3.1 传感器概述 3.2 传感器技术发展史 3.3 典型应用 3.4 设计需求 3.5 硬件平台 3.6 操作系统 操作系统是传感器节点软件系统的核心 本章内容 节点操作系统VS其他操作系统 节点操作系统区别于传统操作系统的主要特点是:其硬件平台资源极其有限 由图可得,节点操作系统是极其微型化的。 Mach是一项Unix技术,在20世纪80年代末和90年代由卡内基-梅隆大学开发。它是一个健壮的,开源的操作系统. uCLinux即 “微控制器领域中的Linux系统”,是Lineo公司的主打产品,同时也是开放源码的嵌入式Linux的典范之作。uCLinux主要是针对目标处理器没有存储管理单元MMU的嵌入式系统而设计的。 Palm OS是由U.S. Robotics研制的专门用于其掌上电脑产品Palm的操作系统。 节点操作系统发展史 节点操作系统区别于传统操作系统的主要特点是:其硬件平台资源极其有限 节点操作系统功能: 硬件驱动 资源管理 任务调度 编程借口 TinyOS TinyOS由加州伯克莱分校开发,是目前无线传感网络研究领域使用最为广泛的OS () TinyOS开发语言:nesC nesC语言是专门为资源极其受限、硬件平台多样化的传感节点设计的开发语言 使用nesC编写的应用程序是基于组件的 组件之间的交互必须通过使用接口 用nesC编写的应用程序一般有一个最顶层的配置文件 面向组件的编程思想,与面向过程的和面向对象的编码思想不一样 顶层配置文件声明组件之间通过接口的连接关系 一个组件可以提供或使用接口   ●组件中command接口由组件本身实现   ●组件中event接口由调用者实现   ●接口是双向的,调用command接口必须实现其event接口 command 和 event是逻辑代码具体实现的地方 nesC 基本语法 nesC 基本语法 -- module是一个组件的真实实现,用来完成该组件的功能, 名字常常是xxxxxM,可以和配置文件对应起来。 TinyOS代码举例 // BlinkC.nc module BlinkC { uses interface TimerTMilli as Timer; uses interface Leds; uses interface Boot; } implementation { event void Boot.booted() { call Timer.startPeriodic( 250 ); } event void Timer.fired() { call Leds.led0On(); } } 左侧代码中: BlinkC就表示一个组件,它使用了三个接口:Timer,Leds,Boot。 在其实现部分,它可以调用这些接口提供的服务,如Timer.star

您可能关注的文档

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档