Оглавление
Tomás Domínguez Mínguez. Google Assistant. Desarrollo de aplicaciones IoT para Arduino y ESP8266
TABLA DE CONTENIDO
Unidad 1. INTRODUCCIÓN
1.1 IOT
1.2 INTERFACES DE VOZ
1.3 SISTEMAS CONVERSACIONALES
Unidad 2. GOOGLE ASSISTANT
Unidad 3. SU PRIMER ASISTENTE
3.1 CONCEPTOS BÁSICOS DE SISTEMAS CONVERSACIONALES
3.2 REQUISITOS PREVIOS
3.3 CREACIÓN DEL PROYECTO EN ACTIONS ON GOOGLE
3.4 MODIFICACIÓN DE LA INTENCIÓN DE BIENVENIDA EN DIALOGFLOW
3.5 ACTIVACIÓN DEL MICRÓFONO DEL SIMULADOR DEL ASISTENTE
Unidad 4. ACTIONS ON GOOGLE
4.1 CONSOLA
4.1.1 Sistema de pestañas
4.1.1.1 Pestaña de información general (Overview)
4.1.1.2 Pestaña de desarrollo (Develop)
4.1.1.3 Pestaña de pruebas (Test)
Unidad 5. DIALOGFLOW
5.1 CONSOLA
5.1.1 Configuración de los agentes
5.1.2 Menú lateral
Unidad 6. CONCEPTOS BÁSICOS PARA EL DESARROLLO DE SISTEMAS CONVERSACIONALES CON DIALOGFLOW
6.1 INTENCIONES (INTENTS)
6.1.1 Práctica de uso de intenciones
6.2 CONTEXTOS (CONTEXTS)
6.2.1 Práctica de uso de contextos
6.3 ENTIDADES (ENTITIES)
6.3.1 Práctica de uso de entidades personalizadas
6.4 CUMPLIMIENTO (FULFILLMENT)
6.4.1 Conceptos previos al desarrollo de un cumplimiento
6.4.1.1 Protocolo HTTP
5.4.1.1.1. Peticiones HTTP
5.4.1.1.2 Respuestas HTTP
6.4.1.2 Tecnología webhook
6.4.1.3 Formato de datos JSON
6.4.2 Librerías de desarrollo
6.4.2.1 Librería Firebase Functions
6.4.2.2 Librería Actions on Google
6.4.3 Estructura de ficheros de un cumplimiento
6.4.4 Desarrollo de un cumplimiento
6.4.4.1 Generación dinámica de respuestas
6.4.4.2 Manejo de contextos y parámetros desde un cumplimiento
6.4.5 Depuración del código de un cumplimiento
6.4.5.1 Análisis de solicitudes y respuestas HTTP
5.4.5.1.1. Formato JSON de una solicitud
5.4.5.1.2. Formato JSON de la respuesta
6.4.5.2 Generación de mensajes de traza
Unidad 7. PRÁCTICAS DE DESARROLLO DE SISTEMAS CONVERSACIONALES CON DIALOGFLOW
7.1 JUEGO DE «ADIVINA EL NÚMERO»
7.1.1 Creación de las intenciones
7.1.2 Desarrollo del cumplimiento
7.2 JUEGO DE «SIGUE LA SECUENCIA»
7.2.1 Creación de las intenciones
7.2.2 Desarrollo del cumplimiento
7.3 CREACIÓN DE LAS INTENCIONES COMUNES DE FALLBACK
7.4 CREACIÓN DE LAS INTENCIONES COMUNES DE AYUDA Y SALIDA
7.5 CREACIÓN DE LAS ACCIONES (ACTIONS)
7.6 USO DEL ASISTENTE DESDE UN TELÉFONO MÓVIL
Unidad 8. EXPORTACIÓN E IMPORTACIÓN DE AGENTES EN DIALOGFLOW
Unidad 9. FIREBASE
9.1 CONSOLA
9.1.1 Panel principal
9.1.2 Menú lateral
9.2 PRÁCTICA DE CREACIÓN DE UN PROYECTO
Unidad 10. FIREBASE REALTIME DATABASE
10.1 CONSOLA
10.2 PRÁCTICA DE CREACIÓN DE UNA ESTRUCTURA DE DATOS
Unidad 11. EL MÓDULO ESP-01
11.1 CARACTERÍSTICAS DEL ESP-01
11.2 PROGRAMACIÓN DEL ESP-01 DESDE EL IDE ARDUINO
11.3 PRÁCTICA DE INTEGRACIÓN DE ARDUINO CON ESP-01
11.4 LIBRERÍA ESP8266WIFI
11.5 PRÁCTICA DE ACCESO A INTERNET
Unidad 12. INTEGRACIÓN DE FIREBASE REALTIME DATABASE CON ESP8266
12.1 LIBRERÍA FIREBASE ESP8266 CLIENT
12.1.1 Configuración de las credenciales de la base de datos
12.1.2 Lectura y escritura de datos
12.1.3 Sincronización de datos
12.2 PRÁCTICAS DE INTEGRACIÓN DE FIREBASE REALTIME DATABASE CON ESP8266
12.2.1 Lectura y escritura de los pines digitales del ESP-01 desde Firebase Realtime Database
12.2.1.1 Desarrollo del programa ESP-01 usando una consulta manual
12.2.1.2 Desarrollo del programa ESP-01 usando una función de callback
12.2.2 Lectura de los pines analógicos de Arduino desde Firebase Realtime Database
12.2.2.1 Creación de la estructura de datos en Firebase Realtime Database
12.2.2.2 Desarrollo del programa Arduino
12.2.2.3 Desarrollo del programa ESP-01
Unidad 13. FIREBASE CLOUD FUNCTIONS
13.1 CONSOLA
13.2 FIREBASE CLI
13.2.1 Instalación de Firebase CLI
13.2.2 Acceso a Firebase CLI
13.3 PRÁCTICAS DE DESPLIEGUE DE FUNCIONES JAVASCRIPT
13.3.1 Despliegue de una función JavaScript
13.3.2 Despliegue de un cumplimiento como un webhook
Unidad 14. INTEGRACIÓN DE FIREBASE CLOUD FUNCTIONS CON ESP8266
14.1 LIBRERÍA ESP8266HTTPCLIENT
14.2 PRÁCTICA DE INTEGRACIÓN DE FIREBASE CLOUD FUNCTIONS CON ESP8266
14.2.1 Desarrollo de la función en Firebase Cloud Functions
14.2.2 Desarrollo del programa ESP8266
Unidad 15. INTEGRACIÓN DE FIREBASE CLOUD FUNCTIONS CON REALTIME DATABASE
15.1 SDK DE FIREBASE ADMIN
15.2 PRÁCTICAS DE INTEGRACIÓN DE FIREBASE CLOUD FUNCTIONS CON REALTIME DATABASE
15.2.1 Creación de la estructura de ficheros del proyecto
15.2.2 Escritura de datos en Firebase Realtime Database
15.2.3 Lectura de datos en Firebase Realtime Database
15.2.4 Creación de nodos en Firebase Realtime Database
15.2.5 Borrado de nodos en Firebase Realtime Database
Unidad 16. LA PLACA WEMOS D1 R1
Unidad 17. PRÁCTICAS DE CONTROL DE DISPOSITIVOS DOMÓTICOS
17.1 ESCENARIO DE INTEGRACIÓN DE SERVICIOS
17.2 ACTIVIDADES PREVIAS
17.2.1 Creación del proyecto en Actions on Google
17.2.2 Creación de la estructura de base de datos en Firebase Realtime Database
17.2.3 Creación de las entidades y las intenciones básicas en Dialogflow
17.2.4 Inicialización del proyecto Firebase
17.2.5 Desarrollo de la estructura básica del cumplimiento en Firebase Cloud Functions
17.3 ENCENDIDO Y APAGADO DE LUCES POR HABITACIONES
17.3.1 Creación de la intención de obtención de la habitación en Dialogflow
17.3.2 Desarrollo del cumplimiento en Firebase Cloud Functions
17.3.3 Desarrollo del programa ESP8266
17.4 LECTURA DE LA TEMPERATURA
17.4.1 Creación de la intención de consulta de la temperatura en Dialogflow
17.4.2 Desarrollo del cumplimiento en Firebase Cloud Functions
17.4.3 Desarrollo del programa ESP8266
17.5 PROGRAMACIÓN DE LA TEMPERATURA DE LA CALEFACCIÓN
17.5.1 Creación de la intención de programación de la temperatura en Dialogflow
17.5.2 Desarrollo del cumplimiento en Firebase Cloud Functions
17.5.3 Desarrollo del programa ESP8266
17.6 PROGRAMACIÓN DE LA ALARMA DE UN RELOJ DESPERTADOR
17.6.1 Creación de la intención de programación de la alarma en Dialogflow
17.6.2 Desarrollo del cumplimiento en Firebase Cloud Functions
17.6.3 Desarrollo de la función que devuelve la hora en Firebase Cloud Functions
17.6.4 Desarrollo del programa ESP8266
17.7 CREACIÓN DE LAS ACCIONES
Unidad 18. Anexo - JAVASCRIPT DE SUPERVIVENCIA
18.1 INSTALACIÓN DE NODE.JS
18.2 ¡HOLA MUNDO!
18.3 VARIABLES Y CONSTANTES
18.4 TIPOS DE DATOS
18.5 OPERADORES
18.6 ESTRUCTURAS DE CONTROL
18.7 FUNCIONES
18.8 OBJETOS Y CLASES
18.9 MANEJO DE STRINGS
18.10 MÓDULOS