Inicio/Profesional/TICs y Computación/Programación/Google Assistant. Desarrollo de aplicaciones IoT para Arduino y ESP8266

Google Assistant. Desarrollo de aplicaciones IoT para Arduino y ESP8266

$798

Hay existencias

Autor: DOMÍNGUEZ MÍNGUEZ, Tomás

Páginas:  456

Año:  2021

Edición:  1

Editorial:  Alfaomega –  Marcombo

Apoyos: Web

Nivel:  

Encuadernación: Rustica

Hay existencias

ISBN: 9786075387260 Categorías: , ,

Descripción

Programar Arduino para llevar a cabo sus proyectos puede resultarle fácil; no obstante, si desea ir más allá, va a necesitar conocer otras herramientas.

Este libro le abre una puerta al mundo del internet de las cosas (IoT) a través del ESP8266, un módulo que contiene el mismo IDE que Arduino y le permitirá acceder tanto a internet como a los infinitos servicios que proporciona, sin necesidad de aprender ningún lenguaje ni entorno de desarrollo nuevo.

¿Qué encontrará en el libro? En él descubrirá los conceptos necesarios para utilizar las consolas de los servicios en la nube, empleados para el desarrollo de sistemas conversacionales con Google Assistant. La lógica que hay tras dichos sistemas se programará en JavaScript. Si lo desconoce, no se preocupe, este manual incorpora un anexo completo con los conceptos básicos del lenguaje, así como todo lo necesario para entender los programas de las múltiples prácticas que se realizan.

Además, gracias al libro se introducirá paso a paso en servicios en la nube de Google, como:

• Actions on Google y Dialogflow para el desarrollo de sistemas conversacionales.

• Firebase RealTime Database y Firebase Functions para integrar el asistente con ESP8266 y Arduino.

Asimismo, aprenderá a establecer una conversación con Google Assistant sobre un tema determinado y lo podrá llevar a la práctica al desarrollar juegos de palabras y sistemas domóticos. Con todo esto y muchos otros conceptos que se detallan en el libro, podrá controlar por voz las luces de casa, la calefacción, un reloj despertador y hacer realidad todos sus proyectos.

Tomás Domínguez es ingeniero de telecomunicación y doctorado en inteligencia artificial. Su labor profesional se ha

desarrollado en una multinacional de telecomunicaciones, donde ha ocupado diversos cargos relacionados con la tecnología.

1. INTRODUCCIÓN 1
1.1 IoT ………………………………………………………………………………………………..1
1.2 Interfaces de voz ……………………………………………………………………………2
1.3 Sistemas conversacionales …………………………………………………………….4
2. GOOGLE ASSISTANT 7
3. SU PRIMER ASISTENTE 9
3.1 Conceptos básicos de sistemas conversacionales ……………………………9
3.2 Requisitos previos ……………………………………………………………………….10
3.3 Creación del proyecto en Actions on Google ………………………………..11
3.4 Modificación de la intención de bienvenida en Dialogflow …………..18
3.5 Activación del micrófono del simulador del asistente …………………..28
4. ACTIONS ON GOOGLE 31
4.1 Consola ……………………………………………………………………………………….32
4.1.1 Sistema de pestañas ……………………………………………………………33
4.1.1.1 Pestaña de información general (Overview) ……………….34
4.1.1.2 Pestaña de desarrollo (Develop) …………………………………35
4.1.1.3 Pestaña de pruebas (Test) ………………………………………….36

5. DIALOGFLOW 39
5.1 Consola ……………………………………………………………………………………….40
5.1.1 Configuración de los agentes ………………………………………………42
5.1.2 Menú lateral ……………………………………………………………………….44
6. CONCEPTOS BÁSICOS PARA EL DESARROLLO DE SISTEMAS
CONVERSACIONALES CON DIALOGFLOW 47
6.1 Intenciones (Intents) ……………………………………………………………………47
6.1.1 Práctica de uso de intenciones ……………………………………………50
6.2 Contextos (Contexts) …………………………………………………………………….58
6.2.1 Práctica de uso de contextos ……………………………………………….60
6.3 Entidades (Entities) ………………………………………………………………………66
6.3.1 Práctica de uso de entidades personalizadas ……………………….68
6.4 Cumplimiento (fulfillment) …………………………………………………………..75
6.4.1 Conceptos previos al desarrollo
de un cumplimiento …………………………………………………………..82
6.4.1.1 Protocolo HTTP ………………………………………………………..83
6.4.1.2 Tecnología webhook …………………………………………………87
6.4.1.3 Formato de datos JSON ……………………………………………..88
6.4.2 Librerías de desarrollo ………………………………………………………..91
6.4.2.1 Librería Firebase Functions ……………………………………….92
6.4.2.2 Librería Actions on Google ………………………………………..94
6.4.3 Estructura de ficheros de un cumplimiento ………………………..99
6.4.4 Desarrollo de un cumplimiento ………………………………………. 101
6.4.4.1 Generación dinámica de respuestas ……………………….. 101
6.4.4.2 Manejo de contextos y parámetros
desde un cumplimiento…………………………………………. 104
6.4.5 Depuración del código de un cumplimiento …………………….. 106
6.4.5.1 Análisis de solicitudes y respuestas HTTP ……………… 107
6.4.5.2 Generación de mensajes de traza …………………………… 114

7. PRÁCTICAS DE DESARROLLO DE SISTEMAS
CONVERSACIONALES CON DIALOGFLOW 121
7.1 Juego de «adivina el número» …………………………………………………… 122
7.1.1 Creación de las intenciones …………………………………………….. 122
7.1.2 Desarrollo del cumplimiento …………………………………………… 127
7.2 Juego de «sigue la secuencia» ……………………………………………………. 130
7.2.1 Creación de las intenciones …………………………………………….. 131
7.2.2 Desarrollo del cumplimiento …………………………………………… 134
7.3 Creación de las intenciones comunes
de fallback ……………………………………………………………………………….. 139
7.4 Creación de las intenciones comunes
de ayuda y salida ………………………………………………………………………. 147
7.5 Creación de las acciones (actions) …………………………………………….. 154
7.6 Uso del asistente desde un teléfono móvil ……………………………….. 158
8. EXPORTACIÓN E IMPORTACIÓN DE AGENTES
EN DIALOGFLOW 163
9. FIREBASE 167
9.1 Consola ……………………………………………………………………………………. 169
9.1.1 Panel principal ………………………………………………………………… 170
9.1.2 Menú lateral ……………………………………………………………………. 171
9.2 Práctica de creación de un proyecto ………………………………………….. 176
10. FIREBASE REALTIME DATABASE 181
10.1 Consola ………………………………………………………………………………….. 182
10.2 Práctica de creación de una estructura de datos ……………………… 185
11. EL MÓDULO ESP-01 193
11.1 Características del ESP-01 ………………………………………………………. 194
11.2 Programación del ESP-01 desde el IDE Arduino ……………………………….195

11.3 Práctica de integración de Arduino con ESP-01 ……………………….. 199
11.4 Librería ESP8266Wifi ……………………………………………………………… 202
11.5 Práctica de acceso a Internet ………………………………………………….. 204
12. INTEGRACIÓN DE FIREBASE REALTIME DATABASE
CON ESP8266 211
12.1 Librería Firebase ESP8266 Client …………………………………………….. 211
12.1.1 Configuración de las credenciales
de la base de datos ………………………………………………………… 213
12.1.2 Lectura y escritura de datos …………………………………………… 215
12.1.3 Sincronización de datos ………………………………………………… 216
12.2 Prácticas de integración de Firebase Realtime Database
con ESP8266 …………………………………………………………………………… 219
12.2.1 Lectura y escritura de los pines digitales
del ESP-01 desde Firebase Realtime Database ………………… 219
12.2.1.1 Desarrollo del programa ESP-01 usando
una consulta manual …………………………………………… 220
12.2.1.2 Desarrollo del programa ESP-01 usando
una función de callback ……………………………………….. 227
12.2.2 Lectura de los pines analógicos de Arduino
desde Firebase Realtime Database …………………………………. 230
12.2.2.1 Creación de la estructura de datos
en Firebase Realtime Database …………………………….. 232
12.2.2.2 Desarrollo del programa Arduino …………………………. 233
12.2.2.3 Desarrollo del programa ESP-01 …………………………… 235
13. FIREBASE CLOUD FUNCTIONS 241
13.1 Consola ………………………………………………………………………………….. 242
13.2 Firebase CLI ……………………………………………………………………………. 246
13.2.1 Instalación de Firebase CLI ……………………………………………. 246
13.2.2 Acceso a Firebase CLI ……………………………………………………. 249

13.3 Prácticas de despliegue de funciones JavaScript ………………………. 251
13.3.1 Despliegue de una función JavaScript ……………………………. 251
13.3.2 Despliegue de un cumplimiento como un webhook ………… 262
14. INTEGRACIÓN DE FIREBASE CLOUD FUNCTIONS
CON ESP8266 269
14.1 Librería ESP8266HTTPClient ………………………………………………….. 269
14.2 Práctica de integración de Firebase Cloud Functions
con ESP8266 …………………………………………………………………………… 271
14.2.1 Desarrollo de la función en Firebase Cloud Functions ……. 271
14.2.2 Desarrollo del programa ESP8266 ………………………………….. 273
15. INTEGRACIÓN DE FIREBASE CLOUD FUNCTIONS
CON REALTIME DATABASE 277
15.1 SDK de Firebase Admin ………………………………………………………….. 277
15.2 Prácticas de integración de Firebase Cloud Functions
con Realtime Database …………………………………………………………… 280
15.2.1 Creación de la estructura de ficheros del proyecto …………. 281
15.2.2 Escritura de datos en Firebase Realtime Database ……………..283
15.2.3 Lectura de datos en Firebase Realtime Database ……………. 287
15.2.4 Creación de nodos en Firebase Realtime Database …………. 289
15.2.5 Borrado de nodos en Firebase Realtime Database ………….. 291
16. LA PLACA WEMOS D1 R1 293
17. PRÁCTICAS DE CONTROL DE DISPOSITIVOS
DOMÓTICOS 297
17.1 Escenario de integración de servicios ……………………………………… 298
17.2 Actividades previas ………………………………………………………………… 298
17.2.1 Creación del proyecto en Actions on Google ………………….. 299
17.2.2 Creación de la estructura de base de datos
en Firebase Realtime Database ………………………………………. 303

17.2.3 Creación de las entidades y las intenciones
básicas en Dialogflow ……………………………………………………. 306
17.2.4 Inicialización del proyecto Firebase ……………………………….. 315
17.2.5 Desarrollo de la estructura básica
del cumplimiento en Firebase Cloud Functions …………….. 318
17.3 Encendido y apagado de luces por habitaciones ……………………… 324
17.3.1 Creación de la intención de obtención
de la habitación en Dialogflow ………………………………………. 324
17.3.2 Desarrollo del cumplimiento
en Firebase Cloud Functions …………………………………………. 327
17.3.3 Desarrollo del programa ESP8266 ………………………………….. 336
17.4 Lectura de la temperatura ………………………………………………………. 344
17.4.1 Creación de la intención de consulta
de la temperatura en Dialogflow ……………………………………. 344
17.4.2 Desarrollo del cumplimiento
en Firebase Cloud Functions …………………………………………. 345
17.4.3 Desarrollo del programa ESP8266 ………………………………….. 347
17.5 Programación de la temperatura
de la calefacción …………………………………………………………………….. 354
17.5.1 Creación de la intención de programación
de la temperatura en Dialogflow ……………………………………. 355
17.5.2 Desarrollo del cumplimiento
en Firebase Cloud Functions …………………………………………. 356
17.5.3 Desarrollo del programa ESP8266 ………………………………….. 361
17.6 Programación de la alarma de un reloj despertador …………………. 371
17.6.1 Creación de la intención de programación
de la alarma en Dialogflow …………………………………………….. 372
17.6.2 Desarrollo del cumplimiento
en Firebase Cloud Functions …………………………………………. 374
17.6.3 Desarrollo de la función que devuelve la hora
en Firebase Cloud Functions …………………………………………. 379
17.6.4 Desarrollo del programa ESP8266 ………………………………….. 381
17.7 Creación de las acciones …………………………………………………………. 401

18. ANEXO – JAVASCRIPT DE SUPERVIVENCIA 405
18.1 Instalación de Node.js ……………………………………………………………. 405
18.2 ¡Hola Mundo! …………………………………………………………………………. 407
18.3 Variables y constantes…………………………………………………………….. 411
18.4 Tipos de datos ………………………………………………………………………… 412
18.5 Operadores …………………………………………………………………………….. 415
18.6 Estructuras de control …………………………………………………………….. 417
18.7 Funciones ………………………………………………………………………………. 420
18.8 Objetos y clases ……………………………………………………………………… 425
18.9 Manejo de Strings …………………………………………………………………… 433
18.10 Módulos ……………………………………………………………………………….. 437

Información adicional

Peso .900 kg
Dimensiones 23 × 17 × 2 cm

Título

Ir a Arriba