13.3.2 Despliegue de un cumplimiento como un webhook
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
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
16. LA PLACA WEMOS D1 R1
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
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
Google Assistant es un asistente virtual donde se utiliza una interfaz de voz, tanto para recibir las peticiones del usuario como para responderle. Dichas respuestas se darán dentro del contexto de una conversación en el que se simula estar hablando con otra persona. Por eso, antes de empezar a desarrollar aplicaciones para este asistente, debe conocer qué son las interfaces de usuario basadas en la voz y los conceptos básicos que gobiernan los sistemas capaces de mantener conversaciones de forma natural. Puesto que nos centraremos en la utilidad práctica de estas aplicaciones en el ámbito IoT (Internet of Things – Internet de las cosas), también se darán algunas nociones básicas de qué hay detrás de esta tecnología y los motivos que hacen que esté cada vez más presente en nuestras vidas.
Internet de las cosas (IoT) es un concepto propuesto por Kevin Ashton en 1999, para referirse a la conexión de objetos cotidianos a través de Internet. Su implantación es cada vez mayor y abarca, entre otros, los sectores de la medicina, la industria, el transporte, la energía, la agricultura, las ciudades inteligentes o los hogares, que es en el que nos centraremos. Hoy día, es más y más frecuente encontrar dispositivos en casa capaces de ser utilizados de forma remota a través de Internet, bien sea para su control o para obtener información de los sensores que lleven incorporados.
El éxito de la tecnología IoT se debe, en gran parte, a su capacidad para introducir objetos de uso diario en el mundo digital, abriendo un amplio abanico de nuevas posibilidades que incrementan enormemente su utilidad, ya que permiten el control de los objetos a distancia (por ejemplo, encender o apagar una luz) o que estos informen de datos recogidos por sus sensores (por ejemplo, humedad o temperatura); todo ello desde cualquier dispositivo en cualquier parte del mundo.
Para controlar o recoger datos de los dispositivos IoT se utilizan, generalmente, interfaces clásicas que se ejecutan en un ordenador y, cada vez con más frecuencia, en teléfonos móviles. Si en vez de estas se usaran interfaces de voz, la interacción se volvería más natural, haciendo más sencillo el uso de las aplicaciones. Por este motivo, la unión de las tecnologías IoT y las relacionadas con el desarrollo de interfaces de voz están llamadas a formar un tándem, que hará que este tipo de dispositivos tengan cada vez un uso más cotidiano.
Hasta hace no muchos años, la interacción hombre-máquina se realizaba mediante un teclado y una pantalla. De la mano de los móviles llegaron las interfaces táctiles, que aumentaron drásticamente su facilidad de uso. El último paso han sido las interfaces de voz, mediante las que ya no es necesario emplear las manos, puesto que la comunicación se realiza hablando con la aplicación.
A este tipo de interfaces capaces de permitir la interacción mediante la voz se las conoce por su acrónimo inglés VUI (Voice User Interface – interfaz de usuario de voz). A los dispositivos que las incorporan se los llama VCD (Voice Command Device – dispositivo de comandos de voz). A nivel empresarial, las primeras aplicaciones que utilizaron esta tecnología fueron los sistemas IVR (Interactive Voice Response – respuesta de voz interactiva), desarrollados en la década de los ochenta. Son los que hoy día le atienden cuando llama a los centros de atención de clientes de muchas compañías para solicitar información o realizar determinadas gestiones, antes de pasarnos con un agente humano (si fuera necesario). A nivel de usuario, las aplicaciones que disponían de este tipo de interfaces aparecieron más tarde, siendo las primeras las de marcación de teléfonos activada por voz.
La gran aceptación y consecuente expansión de las interfaces de voz ha sido debida a su independencia del hablante, es decir, a que son capaces de entender lo que dice cualquier persona, sea cual sea su idioma, su acento o las particularidades de su voz. Además, con este tipo de interfaces, se puede hacer prácticamente lo mismo que con cualquier navegador: buscar información, solicitar que suene su música favorita, administrar calendarios y citas, hacer pedidos, jugar, etc. Pero, donde hay un sector en el que cobra especial relevancia, es en el de IoT y, en concreto, en el ámbito domótico que es, precisamente, en el que se centra este libro.
Las ventajas de uso de las interfaces de voz son la velocidad de entrada (es más rápido hablar que escribir), así como su capacidad para ser incorporadas a dispositivos que no requieran pantalla, pudiendo utilizarse en relojes o pulseras de tamaño reducido. Además, permiten su uso a personas con capacidades visuales o motoras reducidas. Incluso, puede resultar imprescindible en el desarrollo de actividades profesionales que requieran trabajar con determinadas aplicaciones mientras se tiene las manos ocupadas.
Читать дальше