- 已选 件
- 已售件
-
服务
- √7天无理由退货(拆封后不支持)
- √假一赔三
- √消费者保障服务
商品详情
编辑推荐语
李鸥、张效义、王晓梅、张大龙编著的《TinyOS实用编程--面向无线传感网节点软件开发》从TinyOS系统的特点、安装和常用命令等基础知识入手,由浅入深,逐步介绍TinvOS的编程语言nesc、系统并发模型、硬件抽象,一直到应用程序的仿真、调试以及编程提示,可帮助读者建立对TinyOS系统的整体概念,快速掌握TinyOS应用程度的开发技巧。书中各章节通过引用研发中的应用实例予以辅助说明,具有较强的实用性和指导性。 本书作者结合TinvOS系统长期开发经验,根据读者的不同需求提供不同层次的知识。对于初学者,本书提供简单实用的入门知识,方便其快速上手:对于有一定TinyOS使用经验的读者,则通过对TinyOS进行提炼、切块、总结和细化,提供了宏观性的整体介绍和 为深入的细节介绍,有助于读者 深入地理解和运用TinyOS。本书既可作为高等学校嵌入式操作系统和通信类专业参考教材,也可作为无线传感器网络软件开发人员的技术手册。
内容提要
李鸥、张效义、王晓梅、张大龙编著的《TinyOS 实用编程--面向无线传感网节点软件开发》结合 TinyOS 2.x系统具体的工程应用,面向程序开发的需 求,介绍了利用TinyOS开发无线传感器网络应用系统 应具备的基础知识,包括TinyOS系统的特点、体系结 构、安装与常用命令、简单实例等;详细介绍了 TinyOS的编程语言nesC(包括组件、接口、模块、配 件与连接、参数化接口、通用组件等),TinyOS系统 并发执行模型,驱动程序与硬件抽象,系统主要功能 模块,TinyOS典型应用;剖析了应用程序运行过程, 对应用程序的仿真、调试和编程提示进行了描述; 后结合应用实例进行系统分析以提高读者对于TinyOS 的系统认识。 各章节引用具体的应用实例予以辅助说明,具有 较强的实用性和指导性。 《TinyOS实用编程--面向无线传感网节点软件开 发》既可作为无线传感器网络开发人员的技术参考书 ,也可作为高等学校嵌入式操作系统和通信类专业参 考教材。
目录
出版说明
序
前言
第1章 无线传感网与TinyOS/1
1.1 无线传感网/1
1.1.1 无线传感网的提出与发展/2
1.1.2 无线传感网的特点与优势/4
1.1.3 无线传感网的应用/7
1.2 无线传感网节点软件技术/8
1.3 TinyOS/10
1.3.1 TinyOS的特点/11
1.3.2 TinyOS体系结构/12
第2章 TinyOS安装与常用命令/13
2.1 TinyOS安装/13
2.1.1 在Windows下安装TinyOS/13
2.1.2 在Linux下安装TinyOS/19
2.2 目录结构/21
2.2.1 Cygwin的目录结构/21
2.2.2 TinyOS的目录结构/21
2.3 常用命令与快捷键/22
2.3.1 常用命令/22
2.3.2 快捷键/24
2.4 一个简单的应用分析/25
2.4.1 分析Powerup应用程序/25
2.4.2 Powerup应用程序的图形化说明/26
2.4.3 编译Powerup应用程序/26
2.4.4 Powerup应用程序中nesC到C的映射/27
2.4.5 仿真Powerup应用程序/27
2.4.6 下载应用程序/28
第3章 TinyOS编程语言nesC/30
3.1 C与nesC的比较/30
3.1.1 C与C++/30
3.1.2 nesC/32
3.2 组件定义/36
3.2.1 组件规范/36
3.2.2 关键字as/37
3.2.3 将接口分成组/38
3.3 接口/39
3.3.1 一般接口/39
3.3.2 分阶段操作/40
3.3.3 通用接口/41
3.4 模块/42
3.4.1 接口函数/42
3.4.2 任务/44
3.4.3 模块数据/46
3.5 配件与连接/50
3.5.1 配件实现/50
3.5.2 多连接/57
3.6 参数化接口/59
3.6.1 为什么需要参数化接口/60
3.6.2 基于参数化接口的两个典型例子/61
3.6.3 基于参数化接口的连接/62
3.6.4 参数化接口的实现/64
3.6.5 unique()和uniqueCount()函数/65
3.6.6 Default函数/66
3.7 通用化组件/66
3.7.1 为什么需要通用组件/67
3.7.2 通用组件的定义与实例化/67
3.7.3 通用化模块/69
3.7.4 通用化配件/71
3.7.5 属性attributes/73
第4章 并发执行模型/75
4.1 任务/75
4.1.1 任务的执行/77
4.1.2 执行和事件处理/78
4.2 任务和分阶段调用/78
4.2.1 硬件与软件/78
4.2.2 任务和调用循环/78
4.3 异步代码/80
4.3.1 关键字async/80
4.3.2 异步的代价/81
4.3.3 原子语句和关键词atomic/82
4.3.4 状态切换的管理/84
4.3.5 CC2420ControlP组件的工作/85
4.3.6 任务的再次调用/86
4.4 功率锁/86
4.4.1 功率锁需求实例——链路层确认/87
4.4.2 分阶段锁/87
4.4.3 锁的内部结构/88
4.4.4 能量管理/88
4.4.5 硬件配置/89
4.4.6 MSP430 USART配置/89
4.4.7 功率锁库/90
第5章 TinyOS驱动程序与平台硬件抽象/91
5.1 硬件抽象结构简介/91
5.1.1 什么是硬件抽象/91
5.1.2 硬件表示层/92
5.1.3 硬件适配层/93
5.1.4 硬件接口层/93
5.1.5 不同层次抽象的结合/94
5.1.6 横向分解/94
5.2 TinyOS平台/96
5.2.1 TinyOS平台简介/96
5.2.2 新建TinyOS平台/97
第6章 TinyOS其他主要功能模块分析/103
6.1 资源仲裁/103
6.1.1 资源的分类/104
6.1.2 资源的仲裁/105
6.1.3 跨组件预约/109
6.1.4 执行/110
6.2 微控制器能量管理/112
6.2.1 TinyOS 1.x中的微控制器能量管理/112
6.2.2 TinyOS 2.x中微控制器能量管理/113
6.2.3 外围设备和子系统/115
6.3 外围设备能量管理/115
6.3.1 能量管理模型/115
6.3.2 显式能量管理/116
6.3.3 隐式能量管理/118
第7章 TinyOS典型应用/122
7.1 传感/122
7.1.1 传感简介/122
7.1.2 Sense实例/122
7.1.3 Oscilloscope实例/125
7.2 存储/127
7.2.1 存储简介/127
7.2.2 配置数据的存储/128
7.2.3 日志数据的存储/133
7.2.4 大数据块的存储/135
7.3 节点与PC的通信/135
7.3.1 串口通信堆栈/136
7.3.2 MIG/140
7.3.3 数据包源/142
7.3.4 串口通信测试/143
7.4 节点之间通信/144
7.4.1 AM通信/144
7.4.2 单跳发送数据包/150
7.5 定时器(Timer)/154
7.5.1 接口/154
7.5.2 定时器HAL方案/158
7.5.3 定时器HIL 需求/158
7.5.4 用到的其他组件/159
7.5.5 实现/161
第8章 TinyOS应用程序运行过程剖析/163
8.1 系统初始化/163
8.1.1 任务调度器初始化/165
8.1.2 组件初始化/167
8.1.3 触发Boot接口中的事件/168
8.2 Blink执行过程/169
8.2.1 配置文件/169
8.2.2 模块文件/172
8.2.3 Blink应用程序的图形化说明/173
8.2.4 程序运行过程/173
8.3 Blink应用程序中nesC到C的映射/174
8.4 仿真Blink应用程序/174
第9章 仿真、调试与编程提示/176
9.1 TinyOS自带仿真工具——TOSSIM/176
9.1.1 概述/176
9.1.2 编译 TOSSIM/177
9.1.3 在 Python下运行TOSSIM/177
9.2 GDB/ddd调试/179
9.3 编程提示/182
9.3.1 Packages包/182
9.3.2 语法约定/182
0章 基于WSN的煤矿井下定位系统/185
10.1 功能需求/185
10.2 系统设计/186
10.3 硬件组成/187
10.4 TinyOS实现/187
10.4.1 软件结构框架/187
10.4.2 模块介绍/188
10.4.3 主要接口与连通情况介绍/189
10.4.4 节点运行流程/190
附录 缩略语/193
参考文献/194