Google Assistant. Desarrollo de aplicaciones IoT para Arduino y ESP8266. Tomás Domínguez Mínguez
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.
1.2 INTERFACES DE VOZ
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.
A nivel empresarial, el empleo de interfaces de voz también tiene ventajas, ya que representan una oportunidad de negocio. Para 2021, se estima que las marcas que adopten este tipo de interfaces y rediseñan sus sitios web disfrutarán de un crecimiento del 30 % en los ingresos.
1.3 SISTEMAS CONVERSACIONALES
Los sistemas conversacionales son aquellos capaces de comprender el lenguaje natural y entablar una conversación con una persona. Su objetivo principal es el de mejorar la experiencia del usuario, sustituyendo las formas tradicionales de interacción con las aplicaciones por otra basada en la voz. Se suelen utilizar para dar información sobre cuestiones que se les puedan plantear o ejecutar las órdenes que se les pida realizar.
Los sistemas conversacionales (también llamados chatbots) nacieron mucho antes que las interfaces de voz, pero ha sido, gracias a estas, cuando han empezado a vivir una segunda juventud. Uno de los primeros (Eliza) se creó en el Massachusetts Institute of Technology (MIT) entre 1964 y 1966 por Joseph Weizenbaum. Realizaba procesamiento de lenguaje natural para tratar de mantener una conversación de texto coherente entre un psicólogo (a quien simulaba) y su cliente (el usuario).
Desde entonces, y hasta hace poco tiempo, los sistemas conversacionales eran únicamente materia de estudio por parte de expertos en el área de la inteligencia artificial. Sin embargo, los avances en procesamiento del lenguaje natural y el reconocimiento automático del habla han democratizado su uso, haciendo que esté cada vez más presente en un número mayor de dispositivos. Este tipo de técnicas hacen que los sistemas conversacionales no solo tengan la facultad de oír lo que se les diga, sino de llegar a entenderlo, aunque se usen palabras o frases diferentes. Además, son capaces de mantener una conversación coherente, utilizando información de contexto, para que la interacción con ellos sea similar a la que tendría con cualquier otra persona.
No fue hasta 2007 cuando se supo que compañías como Google y Apple estaban desarrollando funcionalidades de reconocimiento de voz. Actualmente, su uso es común en diversos dispositivos, especialmente en teléfonos móviles, donde ya está llegando a ser algo imprescindible. Google, consciente de esa necesidad, le llevó a presentar Google Assistant con Android 7.0 «Nougat», versión a partir de la cual se ha convertido en parte inseparable de este sistema operativo.
Su uso es cada vez más frecuente en nuestra vida diaria. Por eso, Gartner ya identificó en 2017 los sistemas conversacionales como una de las 10 principales tendencias tecnológicas estratégicas.
El ámbito de uso de los sistemas conversacionales es cada vez más amplio, incluyendo desde los más sencillos, en los que se solicita información concreta, como la previsión meteorológica, hasta los más complejos, empleados por centros de atención al cliente de grandes compañías, pasando por aquellos que permiten el control de dispositivos de uso doméstico. Será precisamente, en el ámbito IoT, especialmente el centrado en sistemas domóticos, al que se orientan las prácticas de este libro.
Unidad 2
GOOGLE ASSISTANT
Como su nombre indica, Google Assistant es el asistente virtual de Google. Su uso no ha parado de extenderse desde su lanzamiento en 2016, siendo incorporado en un creciente número de dispositivos hardware (iluminación, enchufes e interruptores, electrodomésticos, televisores, etc.). Esta expansión se debe, en gran medida, a que la posibilidad de interactuar con cualquier aplicación o dispositivo mediante la voz hace más fácil y atractiva su utilización.
Por ese motivo, sus campos de aplicación son cada vez mayores:
• Acceso a la información de calendarios o cualquier otro tipo de datos de carácter personal
• Localización de información en línea, como direcciones, climatología, noticias, etc.
• Control de la música que se desea reproducir
• Establecimiento de temporizadores y recordatorios
• Creación de citas y envío de mensajes
• Interacción con aplicaciones instaladas en el teléfono móvil
• Lectura de notificaciones
•