ARDUINO. Internet de las Cosas
ARDUINO. Internet de las Cosas
Dimensiones: 17 × 23 cm
Autor: Byron O. Ganazhapa
ISBN: 9788412106947
Nº Páginas: 644
Año de publicación: 2021
Internet de las Cosas (IoT) es una tecnología que interconecta sensores, dispositivos y sistemas a Internet, tanto alámbrica como inalámbricamente, con el propósito de brindar interoperabilidad avanzada para todas las “cosas” virtualizadas, con capacidades de gestión automática sin intervención humana. En la actualidad existen muchas alternativas para integrar cosas, pero la más destacada es la plataforma Arduino, gracias a su potencialidad y versatilidad disponible para vincular una amplia variedad de componentes, lo que la convierte en la plataforma ideal para crear proyectos inteligentes de IoT.
El objetivo principal de este libro es introducir de forma sencilla y precisa la tecnología de IoT mediante diferentes paradigmas presentes en múltiples tecnologías, protocolos y estándares actuales y emergentes de soporte IoT o redes Máquina-a-Máquina (M2M). Además, detalla la importancia de IoT en la gestión de servicios y análisis de datos mediante tecnologías y herramientas de Big Data, Cloud y Fog/Edge Computing; describe las capas de los modelos de referencia OSI y TCP/IP para las comunicaciones de corto y largo alcance; analiza las arquitecturas para IoT; compara plataformas IoT de pequeñas y grandes empresas, tecnologías de comunicación, dispositivos y OS embebidos para IoT; y detalla específicamente las aplicaciones médicas bajo el paradigma de IoT en dispositivos vestibles con Arduino.
Finalmente, este libro contribuye con aplicaciones prácticas de IoT perfectamente detalladas para cualquier área de aplicación utilizando múltiples tecnologías como MQTT, http, CoAP, UART, LoRa, WIFI y Bluetooth/BLE adoptadas por Arduino en las placas de las familias MKR, Portenta y Nano IoT, con un enfoque formativo y orientativo para los lectores interesados en las tecnologías de información y comunicación (TIC), electrónica y computación.
PREFACIO .............................................................................................................. XV
CAPÍTULO 1. EL ECOSISTEMA DEL INTERNET DE LAS COSAS ..................................... 1
INTRODUCCIÓN ............................................................................................................ 1
IOT: UNA VISIÓN GENERAL ........................................................................................... 5
Conceptos ................................................................................................................ 6
Tendencias y predicciones ....................................................................................... 9
Elementos .............................................................................................................. 10
Identificación por Radio-Frecuencia ................................................................. 12
Redes de sensores inalámbricos ....................................................................... 13
Middleware ....................................................................................................... 15
Cloud Computing .............................................................................................. 19
Hardware IoT .................................................................................................... 23
ARQUITECTURAS IOT ................................................................................................... 28
Arquitectura de referencia ..................................................................................... 29
Arquitectura orientada a servicios ......................................................................... 30
PRINCIPALES ESTÁNDARES Y TECNOLOGÍAS DE COMUNICACIÓN INALÁMBRICA ...... 32
Estándares para IoT ................................................................................................ 32
Estándar IEEE 802.11 ........................................................................................ 32
Estándar IEEE 802.15.4 ..................................................................................... 34
Estándar IEEE 802.15.6 ..................................................................................... 35
Bluetooth .......................................................................................................... 37
LoRaWAN .......................................................................................................... 38
SigFox ................................................................................................................ 39
Estándares 2G, 3G, 4G y 5G .............................................................................. 41
Tecnologías para IoT .............................................................................................. 42
Bluetooth Low Energy ....................................................................................... 42
ZigBee ............................................................................................................... 43
WIFI ................................................................................................................... 43
Z-Wave .............................................................................................................. 44
6LoWPAN .......................................................................................................... 45
SEGURIDAD ................................................................................................................. 46
Requisitos de seguridad ......................................................................................... 46
Desafíos de seguridad ............................................................................................ 48
Amenazas y ataques ............................................................................................... 49
APLICACIONES ............................................................................................................. 50
Personales .............................................................................................................. 50
Smart Watch ..................................................................................................... 51
Smart TV ........................................................................................................... 51
Hogar ...................................................................................................................... 52
Automatización del hogar ................................................................................. 52
Monitoreo de hogar .......................................................................................... 53
Empresa e Industria ............................................................................................... 53
Monitoreo ambiental ........................................................................................ 53
Monitoreo de salud ........................................................................................... 54
Servicios (industrial & empresarial) ....................................................................... 56
Transporte ........................................................................................................ 56
Smart City .......................................................................................................... 57
CONCLUSIONES ........................................................................................................... 58
REFERENCIAS ............................................................................................................... 59
CAPÍTULO 2. PLACAS ARDUINO: FAMILIA MKR, PORTENTA Y NANO IOT ............... 63
INTRODUCCIÓN ........................................................................................................... 63
CONCEPTO DE HARDWARE LIBRE ............................................................................... 64
ARDUINO EN IOT ......................................................................................................... 66
Concepto de Arduino en IoT .................................................................................. 67
Evolución de Arduino hacia IoT .............................................................................. 68
Dispositivos Arduino de bajo y medio nivel (Maker) ......................................... 69
Dispositivos Arduino de bajo nivel (Vestibles) .................................................. 70
Dispositivos Arduino de bajo nivel (Educación) ................................................ 71
Dispositivos Arduino de alto nivel (Industrial) .................................................. 71
Dispositivos Arduino de alto nivel (IoT) ............................................................ 72
HARDWARE ARDUINO IOT .......................................................................................... 73
Familia MKR ........................................................................................................... 73
Arduino MKR1000 ............................................................................................. 74
Arduino MKR WIFI 1010 .................................................................................... 77
Arduino MKR FOX 1200 .................................................................................... 80
Arduino MKR WAN 1310 ................................................................................... 83
Arduino MKR GSM 1400 ................................................................................... 86
Arduino MKR NB 1500 ...................................................................................... 89
Arduino MKR Vidor 4000 .................................................................................. 92
Familia Portenta ..................................................................................................... 95
Arduino Portenta H7 ......................................................................................... 96
Familia Nano IoT .................................................................................................. 100
Arduino Nano 33 IoT ....................................................................................... 100
Arduino Nano 33 BLE Sense ............................................................................ 103
APLICACIONES ........................................................................................................... 107
Requerimientos de Arduino en IoT ...................................................................... 107
Placas Arduino requeridas .............................................................................. 107
Entornos de desarrollo de Arduino requeridos ............................................... 108
Configuración de las placas Arduino .................................................................... 110
Configuración del IDE de Arduino ................................................................... 110
Cargar el primer sketch en Arduino ................................................................ 112
Instalar bibliotecas en el directorio de Arduino .............................................. 113
Aplicación 1: WIFI Ping ......................................................................................... 114
Requerimientos de hardware ......................................................................... 114
Requerimientos de software ........................................................................... 114
Diseño electrónico .......................................................................................... 115
Descripción general del código fuente ............................................................ 115
Resultados finales ........................................................................................... 119
Aplicación 2: Baliza BLE ........................................................................................ 120
Requerimientos de hardware ......................................................................... 120
Requerimientos de software ........................................................................... 121
Diseño electrónico .......................................................................................... 121
Descripción general del código fuente ............................................................ 121
Resultados finales ........................................................................................... 125
Aplicación 3: Conexión a una Red LoRa ............................................................... 127
Requerimientos de hardware ......................................................................... 128
Requerimientos de software ........................................................................... 128
Diseño electrónico .......................................................................................... 128
Descripción general del código fuente ............................................................ 129
Resultados finales ........................................................................................... 133
CONCLUSIONES ......................................................................................................... 136
REFERENCIAS ............................................................................................................. 137
CAPÍTULO 3. CONECTIVIDAD IOT ......................................................................... 139
INTRODUCCIÓN ......................................................................................................... 139
ESTÁNDARES DE REDES (MODELOS OSI Y TCP/IP)..................................................... 140
Capa Física y Acceso a la Red ............................................................................... 141
Capa de Internet .................................................................................................. 142
Capa de Transporte .............................................................................................. 143
Capa de Aplicación ............................................................................................... 144
PROTOCOLOS DE RED DE COMUNICACIÓN ............................................................... 146
Tecnologías de red IoT de Capa Física y Acceso a la Red ...................................... 147
Redes alámbricas IoT ...................................................................................... 148
Redes inalámbricas IoT ................................................................................... 164
Tecnologías de red IoT de Capa de Internet ......................................................... 175
ZigBee ............................................................................................................. 176
IPv6 ................................................................................................................. 180
Tecnologías de red IoT de Capa de Transporte .................................................... 184
UDP ................................................................................................................. 184
TCP .................................................................................................................. 186
Tecnologías de red IoT de Capa de Aplicación ..................................................... 190
MQTT .............................................................................................................. 190
AMQP .............................................................................................................. 194
XMPP ............................................................................................................... 198
CoAP ................................................................................................................ 201
http ................................................................................................................ 203
CONEXIÓN A REDES INALÁMBRICAS DE IOT ............................................................. 206
Características de redes inalámbricas .................................................................. 206
Rango de cobertura ........................................................................................ 207
Banda de operación ........................................................................................ 209
Ancho de banda .............................................................................................. 209
Consumo de Energía ....................................................................................... 210
Conectividad Intermitente .............................................................................. 210
Interoperabilidad ............................................................................................ 211
Seguridad ........................................................................................................ 211
Redes LPWAN ....................................................................................................... 211
LoRaWAN ........................................................................................................ 213
NB-IoT ............................................................................................................. 215
Coexistencia en redes WIFI, BLE y ZigBee ............................................................ 217
CONEXIÓN A LA NUBE ............................................................................................... 219
Acceso IoT (Directo) ............................................................................................. 219
Acceso IoT (Gateway) ........................................................................................... 220
CONEXIÓN M2M ....................................................................................................... 222
APLICACIONES ........................................................................................................... 223
Aplicación 1: Servidor http (conexión WIFI) ....................................................... 223
Requerimientos de hardware ......................................................................... 223
Requerimientos de Software .......................................................................... 224
Diseño electrónico .......................................................................................... 224
Descripción general del código fuente ............................................................ 224
Resultados finales ........................................................................................... 228
Aplicación 2: Servidor http para el Control de un LED ........................................ 229
Requerimientos de hardware ......................................................................... 230
Requerimientos de software ........................................................................... 230
Diseño electrónico .......................................................................................... 230
Descripción general del código fuente ............................................................ 230
Resultados finales ........................................................................................... 235
Aplicación 3: Callback en un Cliente MQTT .......................................................... 237
Requerimientos de hardware ......................................................................... 237
Requerimientos de software ........................................................................... 238
Diseño electrónico .......................................................................................... 238
Descripción general del código fuente ............................................................ 238
Resultados finales ........................................................................................... 242
Aplicación 4: Sensores en Clientes MQTT ............................................................ 242
Requerimientos de hardware ......................................................................... 243
Requerimientos de software ........................................................................... 243
Diseño electrónico .......................................................................................... 243
Descripción general del código fuente ............................................................ 243
Resultados finales ........................................................................................... 248
Aplicación 5: Cliente CoAP para la Transmisión de Datos .................................... 251
Requerimientos de hardware ......................................................................... 251
Requerimientos de software ........................................................................... 252
Diseño electrónico .......................................................................................... 252
Descripción general del código fuente ............................................................ 252
Resultados finales ........................................................................................... 258
Aplicación 6: Control de LED y Sensores en Clientes MQTT ................................. 260
Requerimientos de hardware ......................................................................... 260
Requerimientos de software ........................................................................... 261
Diseño electrónico .......................................................................................... 261
Descripción general del código fuente ............................................................ 261
Resultados finales ........................................................................................... 266
Aplicación 7: Conexión M2M para Dispositivos BLE ............................................. 269
Requerimientos de hardware ......................................................................... 269
Requerimientos de software ........................................................................... 270
Diseño electrónico .......................................................................................... 270
Descripción general del código fuente ............................................................ 271
Resultados Finales ........................................................................................... 279
Aplicación 8: Servidor Serial (Conexión UART) ..................................................... 279
Requerimientos de hardware ......................................................................... 280
Requerimientos de software ........................................................................... 280
Diseño electrónico .......................................................................................... 281
Descripción general del código fuente ............................................................ 281
Resultados finales ........................................................................................... 287
CONCLUSIONES ......................................................................................................... 287
REFERENCIAS ............................................................................................................. 288
CAPÍTULO 4. ARDUINO PARA GESTIONAR SERVICIOS DE IOT EN LA NUBE ........... 291
INTRODUCCIÓN ......................................................................................................... 291
INTERFAZ DE PROGRAMACIÓN DE APLICACIONES .................................................... 292
ARQUITECTURA IOT PARA ARDUINO ........................................................................ 293
Requisitos de una arquitectura IoT ...................................................................... 294
Conectividad y comunicación ......................................................................... 294
Gestión de dispositivos ................................................................................... 295
Recolección y análisis de datos ....................................................................... 295
Escalabilidad ................................................................................................... 296
Flexibilidad ...................................................................................................... 296
Interoperabilidad ............................................................................................ 296
Seguridad ........................................................................................................ 296
Arquitectura ......................................................................................................... 297
Capa del Dispositivo ........................................................................................ 298
Capa de Comunicación .................................................................................... 299
Capa de Agregación ........................................................................................ 300
Capa de Analítica y Procesamiento de Eventos .............................................. 301
Capa de Comunicación Usuario/Externo ........................................................ 301
Capa de Gestión de Dispositivos ..................................................................... 302
Capa de Gestión de Identidades y Accesos ..................................................... 303
PLATAFORMAS IOT DE CÓDIGO ABIERTO ................................................................. 304
Arduino IoT Cloud ................................................................................................ 305
Thingspeak ........................................................................................................... 308
Temboo ................................................................................................................ 309
Node-RED ............................................................................................................. 310
Kaa IoT ................................................................................................................. 311
Thinger.io ............................................................................................................. 312
Thethings.io ......................................................................................................... 313
Adafruit IO ........................................................................................................... 314
GESTIÓN DE SERVICIOS EN IOT ................................................................................. 316
Requisitos de gestión de servicios en IoT ............................................................. 317
Interoperabilidad ............................................................................................ 318
Escalabilidad ................................................................................................... 318
Conectividad ................................................................................................... 318
Calidad de Servicio .......................................................................................... 318
Acuerdos de gestión de servicios .................................................................... 319
Monitorización y visualización ........................................................................ 319
Big Data ........................................................................................................... 319
Seguridad y privacidad .................................................................................... 320
Clasificación de gestión de servicios .................................................................... 320
Gestión de servicios en Arduino IoT Cloud .......................................................... 322
Conexión, gestion y monitorización ................................................................ 323
Despliegue de Servicios ................................................................................... 324
Seguridad ........................................................................................................ 325
APLICACIONES ........................................................................................................... 325
Configuraciones en la plataforma Arduino IoT Cloud .......................................... 326
Aplicación 1: Sensores en Arduino IoT Cloud ....................................................... 330
Requerimientos de hardware ......................................................................... 331
Requerimientos de software ........................................................................... 331
Diseño electrónico .......................................................................................... 331
Descripción general del código fuente ............................................................ 332
Resultados Finales ........................................................................................... 337
Aplicación 2: LEDs en Arduino IoT Cloud y Amazon Alexa ................................... 338
Requerimientos de hardware ......................................................................... 338
Requerimientos de software ........................................................................... 339
Diseño electrónico .......................................................................................... 339
Descripción general del código fuente ............................................................ 340
Resultados finales ........................................................................................... 345
Aplicación 3: Sensores en Arduino IoT Cloud y Google Sheet .............................. 348
Requerimientos de hardware ......................................................................... 349
Requerimientos de software ........................................................................... 349
Diseño electrónico .......................................................................................... 349
Descripción general del código fuente ............................................................ 350
Resultados finales ........................................................................................... 360
Aplicación 4: Sensores en Google Sheets ............................................................. 360
Requerimientos de hardware ......................................................................... 361
Requerimientos de software ........................................................................... 361
Diseño electrónico .......................................................................................... 362
Descripción general del código fuente ............................................................ 362
Resultados finales ........................................................................................... 371
Aplicación 5: Integración Arduino con Adafruit IO ............................................... 372
Requerimientos de hardware ......................................................................... 373
Requerimientos de software ........................................................................... 373
Diseño electrónico .......................................................................................... 373
Descripción general del código fuente ............................................................ 374
Resultados finales ........................................................................................... 382
Aplicación 6: Integración Arduino con Kaa IoT ..................................................... 385
Requerimientos de hardware ......................................................................... 385
Requerimientos de software ........................................................................... 386
Diseño electrónico .......................................................................................... 386
Descripción general del código fuente ............................................................ 387
Resultados finales ........................................................................................... 398
Aplicación 7: Conexión AWS IoT con seguridad SST/TLS ...................................... 404
Requerimientos de hardware ......................................................................... 405
Requerimientos de software ........................................................................... 406
Diseño electrónico .......................................................................................... 406
Descripción general del código fuente ............................................................ 406
Resultados finales ........................................................................................... 413
CONCLUSIONES ......................................................................................................... 421
REFERENCIAS ............................................................................................................. 421
CAPÍTULO 5. ANÁLISIS Y GESTIÓN DE DATOS IOT ................................................ 423
INTRODUCCIÓN ......................................................................................................... 423
ANÁLISIS DE DATOS IOT Y BIG DATA ......................................................................... 424
Importancia del análisis de Big Data .................................................................... 425
Análisis de datos en Cloud Computing ................................................................. 425
Análisis de datos en Fog Computing .................................................................... 428
GESTIÓN DE DATOS EN DISPOSITIVOS IOT ................................................................ 432
Generación de datos ............................................................................................ 433
Adquisición de datos ............................................................................................ 435
Validación de datos .............................................................................................. 435
Almacenamiento de datos ................................................................................... 437
Procesamiento de datos ...................................................................................... 438
Retención de datos .............................................................................................. 439
Análisis de datos .................................................................................................. 439
GESTIÓN DE ACCIONES Y MONITORIZACIÓN ............................................................ 440
SISTEMAS OPERATIVOS EMBEBIDOS PARA IOT ......................................................... 441
Riot ....................................................................................................................... 442
Contiki .................................................................................................................. 443
FreeRTOS.............................................................................................................. 443
APLICACIONES ........................................................................................................... 445
Aplicación 1: Visualización de Datos en ThingSpeak ............................................ 445
Requerimientos de hardware ......................................................................... 446
Requerimientos de software ........................................................................... 446
Diseño electrónico .......................................................................................... 446
Descripción general del código fuente ............................................................ 447
Resultados finales ........................................................................................... 453
Aplicación 2: Streaming, Análisis y Visualización de Datos en ThingSpeak .......... 455
Requerimientos de hardware ......................................................................... 457
Requerimientos de software ........................................................................... 457
Diseño electrónico .......................................................................................... 457
Descripción general del código fuente ............................................................ 458
Resultados finales ........................................................................................... 472
Aplicación 3: Gestión de Datos en Edge Computing ............................................ 476
Requerimientos de hardware ......................................................................... 478
Requerimientos de software ........................................................................... 478
Diseño electrónico .......................................................................................... 478
Descripción general del código fuente ............................................................ 479
Resultados finales ........................................................................................... 492
Aplicación 4: Gestión de Datos en FreeRTOS-Arduino IoT ................................... 496
Requerimientos de hardware ......................................................................... 497
Requerimientos de software ........................................................................... 497
Diseño electrónico .......................................................................................... 498
Descripción general del código fuente ............................................................ 498
Resultados finales ........................................................................................... 505
Aplicación 5: Análisis de Datos en AWS IoT Analytics .......................................... 506
Requerimientos de hardware ......................................................................... 509
Requerimientos de software ........................................................................... 509
Diseño electrónico .......................................................................................... 510
Descripción general del código fuente ............................................................ 510
Resultados finales ........................................................................................... 524
CONCLUSIONES ......................................................................................................... 534
REFERENCIAS ............................................................................................................. 535
CAPÍTULO 6. DISPOSITIVOS VESTIBLES BASADOS EN ARDUINO PARA IOT ............ 537
INTRODUCCIÓN ......................................................................................................... 537
REDES INALÁMBRICAS DE ÁREA CORPORAL ............................................................. 538
Aplicaciones WBAN .............................................................................................. 539
Aplicaciones médicas ...................................................................................... 540
Aplicaciones no médicas ................................................................................. 542
DISPOSITIVOS VESTIBLES ........................................................................................... 543
Dispositivos para aplicaciones médicas ............................................................... 545
Dispositivos para la asistencia personalizada .................................................. 545
Dispositivos para el tratamiento de enfermedades ........................................ 546
Dispositivos para aplicaciones no médicas .......................................................... 548
Dispositivos para la localización y orientación ................................................ 548
Dispositivos para la interacción social ............................................................. 550
DISPOSITIVOS VESTIBLES IOT EN ARDUINO .............................................................. 550
Sensores ............................................................................................................... 551
Actuadores ........................................................................................................... 556
Arduino y IoT en la salud humana ........................................................................ 557
APLICACIONES ........................................................................................................... 559
Aplicación 1: Visualización del Ritmo Cardiaco en un Dispositivo Móvil .............. 559
Requerimientos de hardware ......................................................................... 560
Requerimientos de software ........................................................................... 560
Diseño electrónico .......................................................................................... 561
Descripción general del código fuente ............................................................ 561
Resultados finales ........................................................................................... 566
Aplicación 2: Visualización de la Frecuencia Respiratoria en nRF Cloud .............. 570
Requerimientos de hardware ......................................................................... 570
Requerimientos de software ........................................................................... 571
Diseño electrónico .......................................................................................... 571
Descripción general del código fuente ............................................................ 572
Resultados finales ........................................................................................... 578
CONCLUSIONES ......................................................................................................... 582
REFERENCIAS ............................................................................................................. 583
ANEXOS .............................................................................................................. 585
A: Unidades de Medidas de Almacenamiento .......................................................... 585
B: Lista de Número de Puertos TCP y UDP ................................................................ 586
C: Frecuencia y Anchos de Banda para WBAN .......................................................... 591
D: Códigos de Solicitud/Respuesta y los Tipos de Opciones de CoAP ....................... 591
E: Frecuencia LoRaWAN para América y Europa ....................................................... 598
ÍNDICE ANALÍTICO ............................................................................................... 601
Novedades en Editoriales Libro%
Motivos
Motivos es el único libro en prosa de José María Eguren. Es una recopilación...
Cuadernos de Vorónezh
Este libro es un milagro, y también el último escrito por Ósip Mandelstam, uno de los...
Nomadismo por mi país
Nomadismo por mi país es el diario de los talleres de poesía de Cecilia Pavón...
Presentación de Rodolfo Fogwill. Una monografía
Presentación de Rodolfo Fogwill. Una monografía es un enorme trabajo crítico...