便民热线  会员数:36789  百姓办事指南
行情查询:
天气预报
今天阴转多云,明天多云到阴,局部有轻雾或霾。偏北风3级,后半夜转偏西风2-..
          宁波经济商情网、宁波市东方起点广告有限公司荣获: “2012年宁波市十大网络文化创新传播网站“; “2010年宁波市
首 页| 海 经| 云计算| 智 慧| 物 联| 周 易| 佛 教| 商 城| 房 产| 汽 车| 物 流| 旅 游| 文 化| 娱 乐| 体 育| 金 融| 收 藏| 军 事
会 展| 人 才| 教 育| 环 保| 低 碳| 轻 工| 农 业| 食 品| 粮 油| 纺 织| 服 饰| 冶 金| 有 色| 铸 造| 钢 材| 不锈钢| 建 材| 五 金
家 装| 家 居| 家 饰| 涂 料| 医 药| 养 生| 化 工| 电 镀| 塑 料| 机 械| 机 电| 模 具| 轴 承| I  T| 家 电| 通 讯| 电 子| 论 坛

专为物联网而生的操作系统——TinyOS

  在物联网的世界里,一个智能终端节点的存储空间往往不足100KB,那么如何在这么小的空间里高效稳定的运行多进程多任务的程序呢?TinyOS的诞生为我们提供了一个完美的解决方案。

  TinyOS的介绍

  TinyOS是一款开源的嵌入式操作系统,它基于一种组件(Component-Based)的架构方式,使得能够快速实现各种应用。它的首先出现是做为UCBerkeley和IntelResearch合作实验室的杰作,用来嵌入智能微尘当中,之后慢慢演变成一个国际合作项目,即现在的TinyOS联盟。它设计之初的目的是制作一个专属嵌入式无线传感器网络(WSN,wirelesssensornetwork)的操作系统。但事实上,由于良好的可扩展性和足够小的代码尺寸,TinyOS在物联网的应用领域中也占有非常重要的地位;

  TinyOS作为一个专业性非常强的操作系统,主要存在如下几个特点:

  1.拥有专属的编程语言

  TinyOS应用程序都是用NesC编写,其中NesC是标准C的扩展,在语法上和标准C没有区别,它的应用背景是传感器网络这样的嵌入式系统,这类系统的特点是内存有限,且存在任务和中断两类操作,它的编译器一般都是放在TinyOS的源码工具路径下。

  2.开放源代码

  所有源码都免费公开,可以访问官方网站www.tinyos.net去下载相应的源代码,由全世界的TinyOS的爱好者共同维护,目前最新的版本是2.1.1。

  3.基于组件的软件工程建构

  TinyOS提供一系列可重用的组件,一个应用程序可以通过连接配置文件(AWiringSpecification)将各种组件连接起来,以完成它所需要的功能。

  4.通过Task和Events来管理并发进程

  Tasks:一般用在对于时间要求不是很高的应用中,且tasks之间是平等的,即在执行时是按顺序先后来得,而不能互相占先执行,一般为了减少tasks的运行时间,要求每一个task都很短小,能够使系统的负担较轻;支持网络协议的替换。

  Events:一般用在对于时间的要求很严格的应用中,而且它可以占先优于tasks和其他events执行,它可以被一个操作的完成或是来自外部环境的事件触发,在TinyOS中一般由硬件中断处理来驱动事件。

  5.支持网络协议组件的替换

  除了默认的协议之外,还提供其他协议供用户替换,并且支持客户自定义协议,这对于通信协议分析,非常适用于通信协议的研究工作。

  6.代码短小精悍

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

  如何安装TinyOS的开发环境

  若要进行TinyOS的开发研究,先得安装好TinyOS的开发环境,由于NesC的编译器ncc只能运行在Unix环境下,TinyOS开发环境有三种安装方式:

  一、独立启动的Linux

  官方提供rpm包和deb包,一般建议使用Ubuntu9.04或是RHEL5

  二、Windows+Cygwin

  Cygwin是一个软件集合,支持用于各种版本的MicrosoftWindows上,运行UNIX类系统,ncc可以运行在Cygwin上,使用这种方式的人最多

  三、VMware+Xubuntu

  在TinyOS.net上可以下载到一个包含完整TinyOS开发环境的Xubuntu虚拟机镜像文件,只要在PC上安装好VMwareplayer即可使用,这个方式最快捷,但是由于是虚拟机的方式,所以编译速度比较慢

  不论是哪种方式安装的流程基本都是一样的:

  1.安装JDK1.6,用于WSN基站或是WSN网关与PC机的交互

  2.安装Cygwin,仅当第二种安装方式才需要安装

  3.安装平台交叉编译器,用于将C代码交叉编译成很终端设备可以运行的二进制文件,一般来说有AVR、MSP430、8051、ARM这几种类型

  4.NesC编译工具,TinyOS都是基于NesC语言写的,所以需要NesC编译工具将其编译成C代码,编译后的C代码就可以交给平台交叉编译工具了

  5.TinyOS源码树,所有的TinyOS源代码都在这里,可以通过Git或CVS方式进行版本管理,目前最新的版本是2.1.1

  6.安装Graphvizvisualization工具,TinyOS开发环境包含nesdoc工具,该工具可以自动生成可视化的模块关系图表,帮助开发人员观看源代码,而该工具依赖于Graphvizvisualization工具

  7.设置环境变量,主要是将各个工具的路径添加到Shell环境变量中去

  TinyOS的开发过程

  如图所示,TinyOS的编译+下载的过程可以分成如下阶段:

  1.使用NesC编写程序源代码,源代码的后缀为*.nc,可以用各种支持C高亮的编写器,这里笔者推荐Notepad++;

  2.将*.nc的源代码通过NesC编译器ncc编译成标准C文件,这里要注意的是:ncc编译器只能将*.nc文件编译成C代码,并不能直接生成二进制代码,所以在安装开发环境时,必须根据自己的开发平台选择对应的交叉编译工具;

  3.使用与硬件平台相关的C交叉编译工具将标准C文件编译成可执行的二进制文件,笔者用的硬件平台是CC2430芯片,它的核心CPU是8051,那么就可以使用各种8051的C编译器,例如Keil或是IAR

  4.通过编写器将二进制可执行文件下载到硬件平台上,笔者用的是CC2430芯片,对应的编程器是SmartRF04FlashProgrammer

  TinyOS的调试是比较麻烦的,因为调试工具都不支持NesC语法,只能先调试NesC编译生成的C文件,然后根据C代码中的注释语句反查NesC源码;

  TinyOS开发平台介绍

  国内目前可以买到的TinyOS开发平台主要有两种,一种是Crossbow公司WSN开发套件,一种亿道电子的XSBase-WSN开发套件;

  1.Crossbow本身就是TinyOS联盟的成员之一,其所有产品都在TinyOS源码的Platform目录下可以找到,可以算得上是TinyOS技术商用化的代表;在国内有一家代理,开发平台的做工非常不错,产品覆盖面也比较广,主要的缺点就是产品太贵,而且中文的资料较少。

  2.亿道电子的WSN套件真是笔者目前正在使用的开发平台,它使用是较先进CC2430芯片,同时支持TinyOS和Z-stack两种开发方式,并且包含大量的中文教材和使用手册,硬件移植的也非常稳定,所有的TinyOS测试用例都能正常运行,而且还带了大量的中文教材、使用手册和实验用例,所以笔者个人认为作为WSN的验证开发平台性价比更高。其中值得一提的是,该产品搭建了一整套的解决方案框架,实现了异构网络之间的互联互通,可以在任何一地通过GPRS手机上网,访问节点上的物理数据,开发者可以迅速的在这个框架下做二次开发。

  TinyOS开发案例

  目前有多个采用TinyOS的研究项目,如UCLA(加州大学洛杉矶分校)的ShahinFarshchi在进行一项以TinyOS为基础的无线神经界面研究。这样的系统在100Hz/频道的采样频率下可传感、放大、传输神经信号,系统小巧、成本低、重量轻、功率小。系统要求一个接收器接收、解调、显示传输的神经信号。在每秒8bit的采样率下,系统的速度可达5600。该速度可保证8个EEG频道、或1个速度为每秒5.6K采样频道的可靠传输。研究者目前的奋斗目标是提高该基于TinyOS的传感网络的数据传输速度,设计与被测对象连接的前端神经放大电路。

  http://www.ee.ucla.edu/~judylab/research/projects/Shahin/index.htm

  路易斯安娜州立大学和位于BatonRouge的南方大学的Nian-FengTzeng博士正在研究应用于石油/气体开发和管理的UcoMS(UbiquitousComputingandMonitoringSystem,泛计算和监控系统)。该系统适用于传感网络、无线通信和网格计算,主要功能包括帮助钻孔、操作数据记录和处理、在线平台信息发布和显示、设备监控/入侵检测、地震处理、复杂表面设备和管道的管理。也可使用UCoMS监控、维护淘汰的平台。

  http://www.ucoms.org

  另外,Freescale正在其Zigbee开发板上测试TinyOS和TinyDB。

  波士顿大学的WeiLi将其用于传感网络的控制和优化:

  http://people.bu.edu/wli

  BrilliantTechnology将其用于无线传感网络进行结构健康监测:

  http://www.tBrilliant.com

来源:《物联网产业》


编辑:张斌浩

 
 最新聚焦
美无人机完成首次多情报传感
  据中国国防科技信息网报道:美国诺斯罗普?格鲁门公司网站2011年7月文章称,5月25日,诺斯罗普?格鲁门公司最新制造的RQ-4“全球鹰”无<详细>
  热点推荐
  最新公告

宁波市东方起点广告有限公司 版权所有 不得转载 Copyright©2011 Nbebi.com