MORALES CASTAÑEDA, JUAN BERNARDO
CAPÍTULO 1. INTRODUCCIÓN. 1.1 HISTORIA DE LA INTERFAZ MEDIANTE VOZ DE USUARIO 1.2 ¿QUÉ ES ALEXA?. 1.3 BASES DE ALEXA. 1.3.1 Alexa Voice Service . 1.3.2 Alexa Skill Kit 1.4 TIPOS DE HABILIDADES. 1.4.1 Habilidad para la automatización del hogar. 1.4.2 Habilidad de flash informativo. 1.4.3 Habilidad personalizada CAPÍTULO 2. INTRODUCCIÓN A LA PROGRAMACIÓN DE HABILIDADES 2.1 ABRIENDO UNA CUENTA DE DESARROLLADOR Y ADMINISTRACIÓN DE HABILIDADES 2.2 ELABORANDO LA HABILIDAD EN EL PORTAL DEL DESARROLLADOR 2.3 MODELO DE INTERACCIÓN 2.4 LÓGICA DE LA HABILIDAD. 2.5 ALOJANDO LA LÓGICA DE LA HABILIDAD EN AWS LAMBDA. 2.6 FINALIZANDO LA PRIMERA HABILIDAD. 2.7 PROBANDO EL CORRECTO FUNCIONAMIENTO DE LA HABILIDAD CAPÍTULO 3. DESARROLLO DE HABILIDADES PARA ALEXA. 3.1 UTILIZANDO CUSTOM SLOTS 3.1.1 Información de la habilidad (Skill Information) . 3.1.2 Modelo de interacción (Interaction model) 3.1.3 Lógica de la habilidad [package.json] 3.1.4 Lógica de la habilidad [index.js] 3.1.5 Lógica de la habilidad [wonders.js] 3.1.6 Alojando la lógica de la habilidad en Lambda. 3.1.7 Finalizando 3.2 QUIZ CON ALEXA. 3.2.1 Información de la habilidad (Skill Information) . 3.2.2 Modelo de interacción (Interaction model) 3.2.3 Lógica de la habilidad [package.jason]. 3.2.4 Lógica de la habilidad [index.js] 3.2.5 Alojando la lógica de la habilidad en Lambda. 3.2.6 Finalizando 3.3 TRIVIA CON ALEXA. 3.3.1 Información de la habilidad (Skill Information) . 3.3.2 Modelo de interacción (Interaction model) 3.3.3 Lógica de la habilidad [package.json] 3.3.4 Lógica de la habilidad [index.js] 3.3.5 Lógica de la habilidad [questions.js] 3.3.6 Alojando la lógica de la habilidad en Lambda. 3.3.7 Finalizando 3.4 UTILIZANDO UN ÁRBOL DE DECISIÓN 3.4.1 Información de la habilidad 3.4.2 Modelo de interacción 3.4.3 Lógica de la habilidad. 3.4.4 Alojando la lógica de la habilidad en AWS Lambda. 3.4.5 Finalizando 3.5 UTILIZANDO UNA BASE DE DATOS. 3.5.1 Información de la habilidad 3.5.2 Modelo de interacción 3.5.3 Lógica de la habilidad. 3.5.4 Alojando la habilidad en AWS Lambda 3.5.5 Finalizando 3.6 UTILIZANDO EL CONSTRUCTOR DE HABILIDADES BETA 3.6.1 Información de la habilidad 3.6.2 Modelo de interacción 3.6.3 Lógica de la habilidad. 3.6.4 Alojando la lógica de la habilidad en AWS Lambda. 3.6.5 Finalizando CAPÍTULO 4. INTRODUCCIÓN AL CONTROL DE HARDWARE CON ALEXA 4.1 CONTROLANDO UN RELEVADOR. 4.1.1 Información de la habilidad 4.1.2 Preparando la Raspberry Pi. 4.1.3 Configurando las credenciales de AWS CLI. 4.1.4 Creando las Things usando AWS CLI 4.1.5 Configurando el script RelayIOT.py. 4.1.6 Información de la habilidad 4.1.7 Configuración de la habilidad 4.1.8 Lógica de la habilidad. 4.1.9 Alojando la habilidad en AWS Lambda 4.1.10 Finalizando la habilidad 4.1.11 Conectando los componentes de Hardware 4.1.12 Finalizando el proyecto. CAPÍTULO 5. PROYECTOS DE HARDWARE 5.1 CONTROL INALÁMBRICO DE DISPOSITIVOS USANDO LA VOZ 5.1.1 Preparando el entorno de desarrollo 5.1.2 Haciendo una cuenta de Adafruit y IFTTT 5.1.3 Conectando el módulo con Alexa. 5.1.4 Programando el ESP826 5.1.5 Construyendo el interruptor inalámbrico 5.2 SISTEMA DE ALARMA IR. 5.2.1 Realizando las Applets y los Feeds. 5.2.2 Programando el ESP8266. 5.2.3 Construyendo la Alarma IR 5.2.4 Circuito transmisor IR. 5.2.5 Circuito receptor IR. 5.3 CONTROL DE DISPOSITIVOS INFRARROJOS 5.3.1 Información de la habilidad 5.3.2 Conceptos básicos del IR. 5.3.3 Configurando el receptor IR y LIRC. 5.3.4 Leer y decodificar señales IR 5.3.5 Configurando el transmisor IR 5.3.6 Configurando AWS IoT. 5.3.7 Configurando la función lambda. 5.3.8 Creando el skill de Alexa 5.3.9 Creando la habilidad en la raspberry. 5.3.10 Configurando el cliente IoT en la raspberry. 5.4 NOTIFICACIONES A SMARTPHONES 5.4.1 Configurando el dispositivo Alexa 5.4.2 Creando alarmas y temporizadores usando Alexa 5.4.3 Vinculando el smartphone con Alexa 5.5 RECONOCIMIENTO FACIAL . 5.5.1 Creando una cuenta Kairos 5.5.2 Creando la base de datos en tiempo real 5.5.3 Información de la habilidad 5.5.4 Modelo de interacción 5.5.5 Lógica de la habilidad (index.js) 5.5.6 Lógica de la habilidad (database.js). 5.5.7 Lógica de la habilidad (AlexaSkill.js). 5.5.8 Lógica de la habilidad (responses.js) 5.5.9 Alojando la habilidad en AWS Lambda 5.5.10 Preparando la Raspberry Pi 5.5.11 Finalizando. APÉNDICE A. CREACIÓN DE CUENTAS APÉNDICE B. INSTALANDO A ALEXA EN RASPBERRY PI. APÉNDICE C. PROBANDO LAS HABILIDADES. GLOSARIO.
Fundamentos de programación con Alexa, está dirigido a cualquier entusiasta de la tecnología (hobbistas, técnicos, estudiantes de programación, electrónica, ingenieros, etc.) que quiera automatizar su hogar o entorno mediante comandos de voz, así como también para integrar esta tecnología en aplicaciones de robótica e inteligencia artificial. El libro se encuentra dividido en dos partes: ? En la primera parte, se introduce al entorno de programación de Alexa, el cual es un servicio desarrollado por Amazon, que permite interactuar con los dispositivos por medio del habla. También se enseña la programación de habilidades de Alexa, entendiendo por habilidad como el nombre que reciben sus programas o funciones, tales como proporcionar información, generar trivias y el uso de bases de datos para guardar información. ? En la segunda parte, se muestra al lector como aplicar los conocimientos adquiridos para lograr, mediante habilidades de Alexa y electrónica, automatizar los dispositivos de su hogar, por ejemplo: prender y apagar aparatos electrónicos, programar notificaciones o alarmas al teléfono móvil, un reconocedor facial para saber quién está frente a su casa y enviar comandos a dispositivos infrarrojos como la televisión o el aire acondicionado. Los ejercicios y proyectos descritos tienen el objetivo de despertar el interés por el uso de esta tecnología, con el propósito principal de que cualquier persona explote el potencial de las interfaces de voz para el control de los dispositivos que rodean su entorno. El libro contiene material adicional que podrá descargar accediendo a la ficha del libro en www.ra-ma.es. Juan Bernardo Morales Castañeda. Es Ingeniero en computación por parte de la Universidad de Guadalajara (UdeG), y maestrante de la Maestria en Ciencias de la Ingeniería Electronica y Computación (UdeG). Sus líneas de investigación son los algoritmos metaheurísticos y la inteligencia artificial. Oscar Eduardo Maciel Castillo. Es Ingeniero en computación por parte de la Universidad de Guadalajara (UdeG), y maestrante de la Maestria en Ciencias de la Ingeniería Electronica y Computación (UdeG). Sus líneas de investigación son los algoritmos metaheurísticos y la inteligencia artificial. Itzel Niasandiu Aranguren Navarro. Es Ingeniero en biomédica por parte de la Universidad de Guadalajara (UdeG), y maestrante de la Maestria en Ciencias de la Ingeniería Electronica y Computación (UdeG). Sus líneas de investigación son los algoritmos metaheurísticos y la visión artificial. Daniel Zaldivar Navarro. Es Ingeniero en Comunicaciones y Electrónica por la Universidad de Guadalajara (UdeG), Maestro en Ciencias en Electronica Industrial por el ITESO y Doctor en Robótica e Inteligencia Artificial por la Universidad Libre de Berlín (FU-Berlín), Alemania. Sus líneas actuales de investigación son las técnicas inteligentes y bioinspiradas aplicadas a los robots.