《TinyOS实用编程 面向无线传感网节点软件开发》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:李鸥,张效义,王晓梅,张大龙编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2013
  • ISBN:9787111407225
  • 页数:194 页
图书介绍:本书结合TinyOS 2.X系统具体的工程应用,面向程序开发的需求,介绍了利用TinyOS开发无线传感器网络应用系统应具备的基础知识,包括TinyOS系统的特点、体系结构、安装与常用命令、简单实例等;详细介绍了TinyOS的编程语言nesC(包括组件、接口、模块、配件与连接、参数化接口、通用组件等),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

第10章 基于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