Directorio del sistema operativo de red de sensores inalámbricos TinyOS

Capítulo 1 Introducción 1

1.1 Descripción general de las redes de sensores inalámbricos 1

1.1.1 Progreso de la investigación de las redes de sensores inalámbricos 2

1.1 .2 Características del sistema de la red de sensores inalámbricos 3

1.2 Sistema operativo de la red de sensores inalámbricos 8

1.2.1 El impacto de la red de sensores inalámbricos en el sistema operativo Requisitos 8

1.2.2 Sistemas operativos de redes de sensores inalámbricos existentes 10

1.3 Descripción general del sistema operativo TinyOS 13

1.3.1 Concepto de diseño 14

1.3.2 Técnica Características 15

1.3.3 Arquitectura 16

1.3.4 Notas de versión 17

p>

1.4 Comparación con otros sistemas operativos WSN 20

1.5 Disposición de los capítulos de este libro 24

Capítulo 2 Entorno de desarrollo 26

2.1 Instalación de TinyOS 2.1 en Windows 26

2.1.1 Construyendo un Entorno Java 27

2.1.2 Instalación de la plataforma Cygwin 30

2.1.3 Instalar el compilador cruzado de plataformas 34

2.1.4 Instalar el código fuente y la herramienta TinyOS paquete 36

2.1.5 Instalar la herramienta de gráficos Graphviz 38

2.2 Otros métodos de instalación 39

2.2.1 Instalación en Ubuntu 9.10 39

2.2.2 Instalación manual usando paquetes RPM 41

2.2.3 Actualizar TinyOS 1.x a TinyOS 2.x 42

2.2.4 Usar CVS para actualizar archivos TinyOS 2.x 46

2.3 Pruebas después de la instalación de TinyOS 47

2.3.1 Descripción general de los archivos de TinyOS 47

2.3.2 Comprobación del entorno de ejecución 48

2 .3.3 Prueba de simulación 49

2.4 Compilación y descarga del programa 50

2.4.1 Herramienta de edición de código 50

2.4 Programa compilador 52

2.4.3 Controlador del puerto serie USB 53

2.4.4 Descargar programa 54

2.5 Resumen de este capítulo 57

p>

Capítulo 3 nesC Lenguaje de programación 58

3.1 Introducción al lenguaje nesC 58

3.2 Especificación del lenguaje nesC 59

3.2 .1 Interfaz 61

3.2.2 Componente 62

3.2.3 Módulo y su composición 65

3.2.4 Accesorios y su composición 68

3.3 Aplicaciones basadas en lenguaje nesC 73

3.3.1 Introducción a las aplicaciones nesC 73

3.3.2 Ejemplos de Blink 77

3.3.3 Ejemplo de BlinkSingle 82

3.3.4 Migración de TinyOS 1 Código .x a 2.x 86

3.4 Programa nesC ejecutando el modelo 88

3.4.1 Tarea 88

3.4.2 Funciones internas 91

3.4.3 Trabajos en escena 92

3.4.4 Sincronización y asincronía 94

3.4.5 Código sexual atómico 95

3.4.6 Apertura del módulo inalámbrico proceso 96

3.5 Convención de programación 98

3.5.1 Convención general 98

3.5.2 Paquete de software 98

3.5.3 Sintaxis convención 99

3.5.4 Convención de TinyOS 101

3.6 Diagrama de relación de componentes visuales 103

3.7 Resumen del capítulo 104

Capítulo

Capítulo 4 Operación básica 106

4.1 Comunicación inalámbrica punto a punto 106

4.1.1 Descripción general de los mensajes activos 106

4.1.2 Interfaces y componentes de comunicación 107

4.1.3 Abstracción de la caché de mensajes 109

4.1.4 Envío de mensajes por radio 110

4.1.5 Recepción de mensajes por radio 117

4.2 Comunicación serie del nodo con PC 119

4.2.1 Fuente de información y prueba de puerto 119

4.2.2 Estación base y herramienta de monitoreo 121

4.2. 3 Interfaz de mensajes MIG Herramientas de generación 123

4.2.4 SerialForwarder y otras fuentes de información 126

4.2.5 Envío de paquetes de información al puerto serie 129

4.2. 6 Impresión basada en la biblioteca printf Depuración 130

4.2.7 Fallos comunes de comunicación en serie 133

4.3 Detección 134

4.3.1 Introducción a la detección 134

4.3.2 Instancia de detección 135

4.3.3 Instancia de osciloscopio 138

4.4 Almacenamiento 140

4.4.1 Introducción al almacenamiento 140

4.4 .2 Almacenamiento de datos de configuración 141

4.4.3 Almacenamiento de datos de registro 146

4.4.4 Almacenamiento de grandes bloques de datos 148

4.5 Resumen de este capítulo 149

Capítulo 5 Kernel del sistema 151

5.1 Arquitectura de abstracción de hardware 151

5.1.1 Introducción a la arquitectura 151

5.1.2 Diferentes niveles de abstracción Combinación de 154

5.1.3 Descomposición horizontal 155

5.1.4 Abstracción por microprocesador 156

5.1.5 Nivel de abstracción HIL 156

5.2 Tareas y programación 157

5.2.1 Introducción a las tareas 157

5.2.2 Tareas y programador de TinyOS 1.x 157

5.2.3 Tareas de TinyOS 2.x 159

5.2.4 Programador de TinyOS 2.x 160

5.2.5 Reemplazo del programador 162

5.2 .6 Implementación específica del planificador 165

5.3 Secuencia de inicio del sistema 168

5.3.1 Introducción a la secuencia de inicio 168

5.3.2 Secuencia de inicio de TinyOS 1 .x 168

5.3.3 Interfaz de inicio de TinyOS 2.x 169

5.3.4 Secuencia de inicio de TinyOS 2.x 170

5.3.5 Inicio y Inicialización del software174

5.4 Arbitraje de recursos175

5.4.1 Introducción de recursos175

5.4.2 Tipo de recurso176

5.4.3 Arbitraje de recursos 178

5.4.4 Ejemplos de aplicación de recursos compartidos 183

5.5 Gestión de energía del microcontrolador 187

5.5.1 Alimentación del microcontrolador Introducción a la gestión 187

5.5.2 Administración de energía de TinyOS 1.x 188

5.5.3 Administración de energía de TinyOS 2.x 189

5.5.4 Dispositivos periféricos y subsistemas 191

5.6 Gestión de energía de dispositivos periféricos 191

5.6.1 Introducción a la gestión de energía de dispositivos periféricos 191

5.6.2 Modelo de gestión de energía 192

p>

5.6.3 Gestión de energía explícita 193

5.6.4 Gestión de energía implícita 196

5.7 Comunicación serie 199

<

p>5.7.1 Introducción al protocolo de comunicación del puerto serie 199

5.7.2 Implementación de la pila de protocolos del puerto serie 200

5.7.3 Abstracción de la pila de protocolos del puerto serie 207

5.8 Resumen de este capítulo 207

Capítulo 6 Plataforma y simulación 210

6.1 Plataforma 210

6.1.1 Introducción a la plataforma 210

6.1.2 Puerto de E/S inferior 211

6.1.3 Establecimiento de una nueva plataforma 215

6.1.4 Trasplante de la plataforma CC2430 223

6.2 Compilación system 226

6.2.1 Introducción al sistema de compilación 226

6.2.2 Personalización del sistema de compilación 227

6.2.3 Comenzando con los makefiles 228

6.2.4 Escribir Makefile 230

6.2.5 Herramienta de compilación 232

6.3 Simulación TOSSIM 233

6.3.1 Introducción a TOSSIM 233

6.3.2 Compilación de simulación 234

6.3.3 Simulación basada en Python 237

6.3.4 Declaraciones de depuración 239

6.3.5 Configuración de red 242

6.3.6 Observación de variables 250

6.3.7 Inyección de paquetes de mensajes 253

6.3.8 Interfaz C++ 256

6.3.9 Depuración de gdb 258

6.4 Resumen de este capítulo 261

Capítulo 7 Protocolo de red 262

7.1 Protocolo de distribución 262

7.1.1 Introducción al protocolo de distribución 262

7.1.2 Interfaces y componentes relacionados 263

7.1.3 Instancia de EasyDissemination 265

7.1.4 Biblioteca de goteo y DIP biblioteca 269

7.2 Protocolo de agregación 276

7.2.1 Introducción al protocolo de agregación 276

7.2.2 Interfaces y componentes relacionados 277

7.2.3 Protocolo CTP 279

7.2.4 Implementación de CTP 281

7.2.5 Ejemplo de EasyCollection 287

7.3 Resumen de este capítulo 291

Capítulo 8 Tecnología de aplicaciones avanzadas 293

8.1 Aplicaciones de bajo consumo 293

8.1.1 Introducción a la gestión de energía 293

8.1.2 Gestión de energía de periféricos dispositivos 294

8.1.3 Gestión de energía de módulos inalámbricos 297

8.1.4 Gestión de energía de microprocesadores 300

8.1.5 Ejemplos de aplicación de detección de baja potencia 300

8.2 Monitoreo de bajo consumo 300

8.2.1 Introducción al monitoreo de bajo consumo 300

8.2.2 Interfaces relacionadas 302

8.2.3 metadatos message_t 304

p>

8.2.4 Sugerencias de mejora de la capa HAL 305

8.3 Hilo TOSThreads 305

8.3.1 Introducción al hilo TOSThreads 305

8.3.2 Interfaz API de lenguaje nesC 306

8.3.3 Interfaz API de lenguaje C 309

8.3.4 Soporte para nuevos servicios del sistema 310

8.4 Función de seguridad de red CC2420 312

8.4.1 Introducción al modo de seguridad CC2420 313

8.4.2 Configuración del extremo emisor 313

8.4.3 Configuración del extremo receptor 314

8.4.4 Instancia RadioCountToLeds 315

8.5 Este capítulo es breve

Conclusión 319

Capítulo 9 Ejemplos de desarrollo de aplicaciones basados ​​en TinyOS 320

9.1 Detección de luz basada en el sensor TSL2550 320

9.1.1 Introducción a TSL2550 320

9.1.2 Implementación del controlador 323

9.1.3 Prueba de detección 330

9.2 Transmisión remota de datos basada en GSM SMS 334

9.2.1 Sistema introducción 334

9.2.2 Implementación de funciones 338

9.2.3 Prueba de SMS 348

9.3 Protocolo de enrutamiento basado en un algoritmo simple de colonia de hormigas 350

9.3.1 Introducción al algoritmo 350

9.3.2 Implementación del protocolo 353

9.3.3 Prueba de simulación 366

9.4 Resumen de este capítulo 370

Apéndice A Sintaxis básica del lenguaje nesC 371

Apéndice B Habilidades de programación de TinyOS 374

Apéndice C Glosario inglés-chino 375

Referencias y Sitios web 378