求 潘浩《无线传感器网络操作系统TinyOS》电子版简历

& & & TinyOS是一款嵌入式操作系统,相信做无线传感器网络开发的同志们都不陌生。同类型的系统有不少,但是TinyOS的应用较之其他系统更为广泛。TinyOS 1.x版本和2.x版本是目前主要的两个分支。两个版本之间存在着一些无法兼容的特性,使得开发者的学习成本增大,在版本选择之间也陷入难以取舍的境地。
& & & 到底TinyOS 1.x和2.x的区别如何呢?这里根据我的初步理解稍微罗列一些:
& & (1)TinyOS 1.x较为容易上手,架构上更为简单明了。TinyOS 2.x在1.x的架构基础上做了一定的改进,功能上要强大不少,架构上也要复杂不少。
& & (2)TinyOS 1.x 中的一些组件(Component)在2.x中被删除或者被新的组件取代。要从TinyOS 1.x过渡到2.x,需要一定的经验和魄力。
& & (3)TInyOS 1.x 中的工具链采用Java编写,需要JDK支持。TinyOS 2.x中的工具链采用Python编写。
& & (4)TinyOS 1.x中有一个图形化模拟工具TinyViz,该工具采用Java 编写,能够对模拟结果进行可视化展示。TinyOS 2.x中去掉了这个工具,实验参数和控制流程需要开发者编写Python脚本进行控制。
& & (5)其他的一些命令发生了变化,这一部分在手册中有说明。
学习的窘境
& & & 学习TinyOS是一个痛苦的过程,不是说它有多难。毕竟再难的东西,要搞懂它也只不过是时间上的问题。TinyOS难学的根本在于资料少,太少了。国内有一个专门讨论TinyOS的论坛(),这个论坛上分门别类还挺全的。但是,当点开一个个帖子的时候,很少有看到回答的人。即便有,也不怎么靠谱。
& & & 学习TinyOS的第一个方法,也是自然而然的想法,看官方文档。可是,官方文档也不是想象中的那样浅显易懂、雅俗共赏的。很多地方(一般都是关键点)一笔带过,也不管你是不是适用。国内有个叫潘浩的学者出了一本书《无线传感器网络操作系统tinyos》,讲的内容是以2.x为基础的。而且,大部分内容都是对官方文档的翻译,相关章节仅仅是浅尝则止,作用也不算大。找学习资料的第二个方法就是FQ(goagent)。国外有一些资料网站打不开,必须FQ了才能正常浏览。能找到的资料也很少,基本上都是一些PPT,Introduction之类的资料,权威的资料很少。
& & & 另一个靠谱的方法就是:加入到开发者的帮助邮件列表(TinyOS help mailing list)。这里面会有很多人提问,也有开发者积极参与回答。邮件列表存档(mailing list archive)是个不错的东西,可以作为搜索目标。最后也是最无奈的方法便是,找一些写过WSN相关论文的作者,向他们发邮件请教&&这个方法还不错,毕竟都曾苦逼过,知道苦逼的感觉。
版本的选择
& & & 使用TinyOS要面对的第一个问题便是:到底该选择哪个版本?TinyOS 1.x的历史比较悠久了,很多依赖工具的版本比较老,要下载这些老版本的工具包不是一件简单的事情。目前TinyOS官方网站上维护的最新版本是TinyOS 2.1.2。尽管这两个版本或许会存在很多差异,但是二者有一个最大的共同点:安装起来非常麻烦!一个简单的建议是:初学者从1.x下手。相比于2.x,1.x更容易理解,在资料上面相对于2.x上面稍微多点。
& & & 安装TinyOS 1.x和2.x是一个浩大的工程。本人成功安装过这两个版本,具备一点小小的经验。这些经验会在后面提及。现在先介绍一下本人涉及到的研究目标:Deluge分发协议。
Deluge协议
& & & Deluge是一个镜像分发协议。那么它应用在什么样的场景下呢?我们知道一般情况下,传感器网络由若干个传感器组成,各自运行着自己的任务程序(这里的任务程序指的就是镜像image),并相互通信。这个通信过程一般会分成两类:分发和汇聚。TinyOS中自带了一些分发和汇聚协议。如前所述,Deluge就是一个典型的数据分发协议。
& & & 在某一时刻,我们需要改变传感器的工作任务时,我们要给传感器烧录新的任务程序。这样的工作量在规模较小的传感器网络中还能从容处理。当面对由大量传感器组成的大规模传感器网络时,显然已经不可能手动去更新任务程序了。
& & & Deluge协议在这种情况下诞生了。相比于其他的如CTP协议,Deluge的优势在于能够自动分发大数据量,并且具备较好的性能。Deluge协议运行之后,自动更新传感器网络中所有节点的镜像。传感器节点在更新后重启运行新的镜像,这就是所谓的&无线传感器网络重编程&过程。
& & & Deluge协议在TinyOS 1.x上面有两个版本:1.0和2.0。目前用的基本上都是2.0,在网上也可以找到一本编程手册:《Deluge 2.0 Manual》。这本手册里介绍了一些编程接口,使用方法。可以看到,里面很多命令都是Java编写的。
& & & 注意,值得一提的是:在1.x系列中是从TinyOS 1.1.14及以上的版本才自带Deluge协议的。如1.1.10中是不存在这个协议的。如果硬是将TestDeluge文件夹拷贝进1.1.14以下的系统中进行编译,是不可能通过的。这是个大坑:前面在装TinyOS 1.x的时候,选择了1.1.10这个版本,等装好了之后才发现没有Deluge这个协议。于是只好删掉系统重装。
& & & 在TinyOS 2.x中的Deluge协议,移植自TinyOS 1.x平台Deluge 2.0。为什么说是&移植&呢?前面说过,TinyOS 1.x和2.x的架构是有很大差异的。移植到2.x的平台后的Deluge命名为Deluge 2T。在安装好的 TinyOS 1.x之后,在apps目录下面可以找到TestDeluge这个文件夹。下面是一些Deluge协议相关的测试程序。
& & & 网上关于这个协议的资料很少,还有个更致命的干扰因素:有个torrent协议也叫Deluge!所以最好不要单独搜Deluge这个关键字,否则出来的页面都是和这个torrent协议相关的。文档不多,我们剩下来的选择只有两个:(1)放弃课题,转移方向(2)阅读Deluge源代码。万不得已的情况,我们肯定是不要轻易放弃。毕竟,被这么个东西就弄得转移研究方向实在让人无法释怀。Deluge协议是使用nesc编写的,这门奇葩的语言改编自C语言。因此,在某些语法方面和C语言具备一定的相似度。因此,要阅读源代码的话,首先得对nesc这门语言有所了解。
& & & TinyOS本身自带的组件、程序结构、组织方式等,这些东西都是必不可少的基础知识。万里长征路,这或许仅仅只是第一步。后续的文章讲述TinyOS系统的安装及Deluge协议的仿真。
阅读(...) 评论()您现在的位置:
>> 无线传感器网络操作系统TinyOS-(1CD)
热销排行榜
1.2.3.4.5.6.7.8.9.10.
最近浏览的其他商品
浏览更多同类商品
【 】??????????
无线传感器网络操作系统TinyOS-(1CD)
978-7-302-25727-1
清华大学出版社
出版日期:
读者对象:
立刻节省:&13.40
所属分类:
TD-LTE无线网络优化与..
iPhone 5S/5C想怎么玩..
LTE无线网络优化实践
Cisco无线局域网配置..
<<天线与电波传播(第..
《无线传感器网络操作系统TinyOS(配光盘)》首先介绍TinyOS操作系统的相关概念,然后深入解析该操作系统的内核机制,使得有一定基础的读者也能得到进一步提高。《无线传感器网络操作系统TinyOS》的第1章概述了无线传感器网络的特征与现状,并介绍了TinyOS的体系特点及其发展历史;第2章指导读者安装TinyOS系统并编译和下载程序到硬件节点上;第3章介绍了nesC编程语言的语法规范以及系统的运行机制;第4~5章介绍并演示了如何使用TinyOS操作系统的主要功能模块;第6~8章介绍了如何进行应用开发,包括平台的移植、仿真、网络协议以及低功耗实现;第9章通过3个基于TinyOS的应用实例,深入讲解了如何开发类似的应用程序。  《无线传感器网络操作系统TinyOS(配光盘)》语言简练、浅显易懂、图文并茂、脉络清晰。以实际操作为主导,围绕TinyOS操作系统的实际应用进行取材谋篇,着重于技术精华的剖析和操作技巧的指点。  《无线传感器网络操作系统TinyOS(配光盘)》适用于高等院校信息类专业的本科生、研究生和教师,也可供国内相关研究机构和公司的研发人员参考使用。
第1章 绪论 1.1 无线传感器网络概述 1.1.1 无线传感器网络的研究进展 1.1.2 无线传感器网络的体系特征 1.2 无线传感器网络操作系统 1.2.1 无线传感器网络对操作系统的需求 1.2.2 现有的无线传感器网络操作系统1.3 TinyOS操作系统概述1.3.1 设计理念 1.3.2 技术特点 1.3.3 体系结构 1.3.4 版本说明 1.4 与其他WSN操作系统的比较1.5 本书章节安排 第2章 开发环境2.1 TinyOS 2.1在Windows中的安装 2.1.1 搭建Java环境2.1.2 安装Cygwin平台 2.1.3 安装平台交叉编译器2.1.4 安装TinyOS源码与工具包 2.1.5 安装Graphviz图形工具 2.2 其他安装方法 2.2.1 在Ubuntu 9.10中的安装 2.2.2 使用RPM包的手动安装2.2.3 TinyOS 1.x升级到TinyOS 2.x 2.2.4 使用CVS更新TinyOS 2.x文件 2.3 TinyOS安装后的测试 2.3.1 TinyOS文件概览 2.3.2 检查运行环境 2.3.3 仿真测试 2.4 程序的编译和下载 2.4.1 代码编辑工具 2.4.2 编译程序2.4.3 USB串口驱动2.4.4 下载程序2.5 本章小结 第3章 nesC编程语言 3.1 nesC语言简介 3.2 nesC语言规范3.2.1 接口 3.2.2 组件 3.2.3 模块及其组成 3.2.4 配件及其组成3.3 基于nesC语言的应用程序 3.3.1 nesC应用程序简介3.3.2 Blink实例 3.3.3 BlinkSingle实例3.3.4 移植TinyOS 1.x代码到2.x3.4 nesC程序运行模型 3.4.1 任务 3.4.2 内部函数 3.4.3 分阶段作业 3.4.4 同步与异步 3.4.5 原子性代码3.4.6 无线模块的开启过程 3.5 编程约定 3.5.1 通用约定 3.5.2 软件包 3.5.3 语法约定 3.5.4 TinyOS约定 3.6 可视化组件关系图3.7 本章小结 第4章 基本操作4.1 点对点的无线通信 4.1.1 主动消息概述 4.1.2 通信接口和组件 4.1.3 消息缓存抽象4.1.4 通过无线电发送消息 4.1.5 通过无线电接收消息 4.2 节点与PC的串口通信4.2.1 信息源和端口测试4.2.2 基站和监听工具 4.2.3 MIG消息接口生成工具4.2.4 SerialForwarder和其他信息源 4.2.5 发送信息包到串口 4.2.6 基于printf库的打印调试 4.2.7 常见的串口通信故障 4.3 传感 4.3.1 传感简介 4.3.2 Sense实例 4.3.3 Oscilloscope实例4.4 存储 4.4.1 存储简介 4.4.2 配置数据的存储 4.4.3 日志数据的存储 4.4.4 大数据块的存储 4.5 本章小结第5章 系统内核5.1 硬件抽象架构5.1.1 架构简介 5.1.2 不同层次抽象的结合5.1.3 横向分解 5.1.4 微处理器抽象 5.1.5 HIL抽象级别 5.2 任务和调度5.2.1 任务简介5.2.2 TinyOS 1.x的任务和调度器 5.2.3 TinyOS 2.x的任务 5.2.4 TinyOS 2.x的调度器 5.2.5 调度器的替换5.2.6 调度器的具体实现 5.3 系统启动顺序 5.3.1 启动顺序简介5.3.2 TinyOS 1.x的启动顺序 5.3.3 TinyOS 2.x的启动接口5.3.4 TinyOS 2.x的启动顺序 5.3.5 系统启动和软件初始化 5.4 资源仲裁 5.4.1 资源简介 5.4.2 资源类型 5.4.3 资源仲裁 5.4.4 共享资源的应用实例5.5 微控制器的电源管理 5.5.1 微控制器电源管理简介 5.5.2 TinyOS 1.x的电源管理 5.5.3 TinyOS 2.x的电源管理 5.5.4 外围设备和子系统5.6 外围设备的电源管理5.6.1 外围设备电源管理简介5.6.2 电源管理模型 5.6.3 显式电源管理 5.6.4 隐式电源管理 5.7 串口通信 5.7.1 串口通信协议简介5.7.2 串口协议栈的实现5.7.3 串口协议栈的抽象 5.8 本章小结 第6章 平台与仿真 6.1 平台6.1.1 平台简介6.1.2 底层I/O口6.1.3 新平台的建立6.1.4 CC2430平台的移植 6.2 编译系统6.2.1 编译系统简介 6.2.2 自定义编译系统6.2.3 makefile入门 6.2.4 编写Makefile文件 6.2.5 编译工具 6.3 TOSSIM仿真6.3.1 TOSSIM简介 6.3.2 仿真编译 6.3.3 基于Python的仿真 6.3.4 调试语句6.3.5 网络配置 6.3.6 变量的观察6.3.7 注入消息包6.3.8 C++接口6.3.9 gdb调试 6.4 本章小结第7章 网络协议7.1 分发协议 7.1.1 分发协议简介 7.1.2 相关接口和组件 7.1.3 EasyDissemination实例 7.1.4 Drip库和DIP库 7.2 汇聚协议 7.2.1 汇聚协议简介 7.2.2 相关接口和组件 7.2.3 CTP协议7.2.4 CTP实现 7.2.5 EasyCollection实例 7.3 本章小结 第8章 高级应用技术 8.1 低功耗应用程序 8.1.1 能耗管理简介 8.1.2 外围设备的电源管理8.1.3 无线模块的电源管理8.1.4 微处理器的电源管理8.1.5 低功耗传感的应用实例8.2 低功耗监听 8.2.1 低功耗监听简介 8.2.2 相关接口 8.2.3 message_t元数据 8.2.4 HAL层的改进建议 8.3 TOSThreads线程 8.3.1 TOSThreads线程简介 8.3.2 nesC语言的API接口 8.3.3 C语言的API接口8.3.4 支持新的系统服务 8.4 CC2420联网安全功能 8.4.1 CC2420安全模式简介8.4.2 发送端的配置8.4.3 接收端的配置 8.4.4 RadioCountToLeds实例8.5 本章小结 第9章 基于TinyOS的应用开发实例 9.1 基于TSL2550传感器的光照检测 9.1.1 TSL2550简介 9.1.2 驱动实现 9.1.3 传感测试 9.2 基于GSM短信的远程数据传输 9.2.1 系统简介 9.2.2 功能实现 9.2.3 短信测试 9.3 基于简单蚁群算法的路由协议 9.3.1 算法简介 9.3.2 协议实现 9.3.3 仿真测试 9.4 本章小结 附录A nesC语言基本语法 附录B TinyOS编程技巧 附录C 英汉对照术语表 参考文献与网址
感受 风无痕&&&&&日挺好的一本书,基本上都都是翻译的http://docs.tinyos.net/tinywiki/index.php/TEPs里面的。
不过翻译的挺好的,适合初学者使用。不过最好结合上面的网址一起看。
客服专线:010- 客服邮箱:
Copyright & 北发图书网 2007,
All Rights Reserved
北京北发电子商务股份有限公司 版权所有孔夫子旧书网
非常抱歉,您所浏览的商品找不到了!
1.该商品可能未通过审核或其它原因无法显示,您可以联系店主查找
2.在顶部搜索框重新输入关键词搜索
秒后自动为您跳转至
none_item_info
您可能感兴趣的商品
网站商品分类
|||||||||||||||||||
||||||||||
查找其他相似商品
Copyright(C)
孔夫子旧书网
京ICP证041501号
海淀分局备案编号大家有没有tinyos或者nesC编程的书籍推荐,我发现网上的资料实在太少了?
按票数排序
中文书籍不多,也就潘浩的《无线传感器网络操作系统TinyOS》不错,感觉学习主要还是看英文资料还有官方提供的例程(都有详细注释)
中文书也就是两本,而且对编程没有直接作用,建议看例程,比如Blinktoradio等等一些简单程序,网上有些视频,刚开始时帮助较大,官网的资料很不错,值得仔细研读,最后就是在已有例程上改动,慢慢学

我要回帖

更多关于 温度传感器 的文章

 

随机推荐