Tabla de contenido:

RabbitPi: el asistente de IoT habilitado para Alexa, IFTTT conectado y que mueve los oídos: 12 pasos
RabbitPi: el asistente de IoT habilitado para Alexa, IFTTT conectado y que mueve los oídos: 12 pasos

Video: RabbitPi: el asistente de IoT habilitado para Alexa, IFTTT conectado y que mueve los oídos: 12 pasos

Video: RabbitPi: el asistente de IoT habilitado para Alexa, IFTTT conectado y que mueve los oídos: 12 pasos
Video: Interruptor WiFi con Arduino - Alexa y Google Assistant | RainMaker | ESP32C3 2024, Noviembre
Anonim
Image
Image
RabbitPi: el asistente de IoT habilitado para Alexa, IFTTT conectado y que mueve los oídos
RabbitPi: el asistente de IoT habilitado para Alexa, IFTTT conectado y que mueve los oídos
RabbitPi: el asistente de IoT habilitado para Alexa, IFTTT conectado y que mueve los oídos
RabbitPi: el asistente de IoT habilitado para Alexa, IFTTT conectado y que mueve los oídos
RabbitPi: el asistente de IoT habilitado para Alexa, IFTTT conectado y que mueve los oídos
RabbitPi: el asistente de IoT habilitado para Alexa, IFTTT conectado y que mueve los oídos

Este es un "conejo inteligente" Nabaztag de 2005 obsoleto que he reconstruido en un moderno Asistente de IoT usando una Raspberry Pi 3 y un Adafruit Motor HAT, con un micrófono de cámara web y un altavoz Philips Soundshooter incluidos en la bonita carcasa original. comandos de voz iniciados con el botón utilizando el servicio de voz Alexa de Amazon, leyendo las respuestas a través del altavoz integrado. Los comandos de voz también se utilizan para activar recetas IFTTT (If This Then That), para interactuar con otros dispositivos conectados a Internet, como enchufes inteligentes y teléfonos móviles. ¿No es suficiente? Además de activar eventos IFTTT, también los recibe a través de Gmail, utilizando el motor de conversión de texto a voz de Ivona para leer correos electrónicos, mensajes de texto y otras notificaciones, por ejemplo, alertas de polen o notificaciones de una cámara de seguridad doméstica. ¿Tiene retroalimentación visual con LEDS y oídos motorizados? Ah, y tiene una cámara V2 Raspberry Pi en su vientre para subir selfies activadas por voz a Twitter. Es difícil describir la ternura del RabbitPi en palabras, ¡mira el video para verlo en acción!

Paso 1: una breve historia de los conejos inteligentes

Una breve historia de los conejos inteligentes
Una breve historia de los conejos inteligentes
Una breve historia de los conejos inteligentes
Una breve historia de los conejos inteligentes
Una breve historia de los conejos inteligentes
Una breve historia de los conejos inteligentes
Una breve historia de los conejos inteligentes
Una breve historia de los conejos inteligentes

El "primer conejo inteligente" original de Nabaztag se lanzó en 2005, anunciado como un asistente doméstico ambiental (¿te suena familiar Amazon y Google?). Podría decirse que fue la primera cosa de "Internet de las cosas" y, en muchos sentidos, se adelantó a su tiempo. Compré uno de inmediato. Se sentó en nuestra repisa de la chimenea leyendo pronósticos meteorológicos diarios y notificaciones ocasionales, pero nunca tuvo mucha capacidad, confiando en una conexión Wi-Fi WEP y software y servidores patentados para proporcionar sus servicios de texto a voz (TTS). Es difícil de imaginar ahora, pero en ese momento no había tanto a lo que pudiera conectarse, las redes sociales apenas existían, Nokia dominaba el mundo de los teléfonos inteligentes y las bombillas LED eran una novedad costosa.

En los años siguientes, siguieron dos versiones más, la Nabaztag: Tag y la Karotz, ambas ofrecían una funcionalidad mejorada pero ninguna encontró su nicho en el mercado, y en última instancia se vio decepcionada por las limitaciones de hardware y software. La vergüenza fue que tan pronto como se apagaron los servidores de apoyo, los previamente inteligentes conejos se convirtieron en poco más que adornos. Varios proyectos comunitarios intentaron reemplazar los servicios de los servidores "oficiales", y usamos "OpenKarotz" por un tiempo, pero esto también pareció morir hace uno o dos años, dejando a mis conejos en silencio e inmóviles sobre mis parlantes.

De todos modos, ¡la lección de historia ha terminado! El resultado es que recordamos con cariño la presencia del Nabaztag en nuestra sala de estar, y lo quería de vuelta, pero como un dispositivo IoT moderno y adecuado.

Paso 2: Nabaztag 2.0

Nabaztag 2.0
Nabaztag 2.0

Me inspiré para finalmente iniciar RabbitPi cuando leí en marzo que el servicio de voz de Amazon Alexa se había puesto a disposición de la Raspberry Pi, la clave es que se requería un botón para activar la "escucha", esto encajaba perfectamente con el Nabaztag., ya que tiene un botón al ras con la parte superior de su cabecita brillante. Desmantelé mi conejo y pronto tuve el excelente código AlexaPi de Sam Machin ejecutándose en mi Pi 3, activado presionando el botón del conejo. En este punto, me distrajé por completo con la construcción del AlexaPhone, pero salté directamente por el rabbithole inteligente tan pronto como estuvo terminado. Necesitaba que mi nuevo Nabaztag mejorado fuera al menos tan inteligente como el original, así que quería que:

Realice búsquedas por voz y lea los resultados

Leer notificaciones

Mueve las orejas y parpadea los LED

Tome fotos y permita el monitoreo remoto

Interactuar con enchufes inteligentes, bombillas, etc.

Paso 3: Bunny Chop

Chuleta de conejito
Chuleta de conejito
Chuleta de conejito
Chuleta de conejito
Chuleta de conejito
Chuleta de conejito
Chuleta de conejito
Chuleta de conejito

El primer trabajo fue desmantelar el Nabaztag y ver qué partes se podían reutilizar. Las orejas están diseñadas para ser intercambiables y solo se sujetan con imanes, por lo que fue fácil, y la cubierta principal solo se sujetaba con dos tornillos (triangulares extraños). Esto expuso todos los circuitos y componentes, construidos alrededor de un pilar de plástico central. Un lado sostenía el circuito principal y los LED, con un altavoz en el otro lado y motores / botón incrustados en el pilar en la parte superior.

Como solo planeaba mantener los motores, corté la mayoría de los cables y comencé a sacar tornillos. ¡Tengo una verdadera sorpresa en este punto! Detrás del circuito del "cerebro" del conejo había una ranura que recorría toda la altura del pilar, que contenía una tarjeta wi-fi PCMCIA de tamaño completo, del tipo que usarías en las computadoras portátiles viejas. Supongo que fue un compromiso de diseño o compatibilidad en ese momento, pero compararlo en tamaño con un dongle USB moderno realmente me hizo ver cuánta tecnología se ha reducido en el espacio de 10 años.

El resto de las piezas se quitaron fácilmente, dejando solo el pilar de soporte de plástico desnudo con seguramente mucho espacio a su alrededor.

Paso 4: hablar y escuchar

Hablando y escuchando
Hablando y escuchando
Hablando y escuchando
Hablando y escuchando
Hablando y escuchando
Hablando y escuchando

No se puede tener un conejo parlante controlado por voz sin un altavoz y un micrófono, así que estas fueron algunas de las primeras cosas que resolví. Realmente no tuve que esforzarme mucho, el Pi parece ser muy flexible con los micrófonos USB y solo usé una vieja cámara web MSI StarCam Clip para la entrada, ajustando el nivel de sonido a Max en la configuración de audio del Pi. Para ahorrar espacio, desmantelé la cámara web, descartando la lente y el estuche de la cámara. Perforé un agujero en la base para que el micrófono se asomara y lo conecté al USB del Pi, pasando los cables de la manera más ordenada posible.

Usé el altavoz KitSound MiniBuddy en el AlexaPhone, ya que resultó realmente efectivo, pero cuando fui a comprar uno para este proyecto, descubrí que se había cambiado el diseño y ¡ya no se cargaban con un conector micro-usb! Miré a mi alrededor en busca de algo similar y se me ocurrió el Philips SoundShooter, una pequeña unidad similar a una granada de mano. Esperaba que encajara en el estuche sin desmontarlo, pero era demasiado grande, así que salió el destornillador para desmontarlo. Me las arreglé para romper los cables de los altavoces en el proceso, así que soldé algunos cables de puente para facilitar la reconexión. Esta parte del altavoz se pegó en caliente a la carcasa en el mismo lugar que el altavoz original, con el circuito y la batería fijados al pequeño estante debajo de él.

En retrospectiva, desearía haber usado las entrañas de una base de altavoz con alimentación de red o algo así, ya que no es ideal tener que cargar el altavoz; aún así, dura mucho tiempo y suena genial, y como cubierta principal. despega fácilmente, no es realmente un problema que pare el espectáculo.

Paso 5: leer como conejos

Leer como conejos
Leer como conejos
Leer como conejos
Leer como conejos

Ahora que la parte de Alexa estaba funcionando, pasé a resolver el siguiente problema, ¿cómo conseguiría que el conejo leyera las notificaciones? La conversión de texto a voz del Nabaztag original era sorprendentemente buena, aunque recuerdo que siempre decía en voz alta las firmas de mis mensajes de texto (MM) como "Milímetros" y las de mi esposa (CM) como "Centímetros". Quería usar un texto moderno y motor de sonido natural que interpretaría cosas como el símbolo "&" correctamente y entendería emoticones simples como:).

Al igual que con todo en la Raspberry Pi, hay muchas opciones diferentes y analicé varias antes de decidirme por Ivona, que parece ser el mismo motor subyacente utilizado por el servicio Alexa. Fue la mejor opción para mí, ya que hay una variedad de voces disponibles y opciones de configuración; también una gran ventaja fue que Zachary Bears había puesto a disposición una conveniente envoltura de Python para el servicio, Pyvona.

Para comenzar con Ivona, primero debe configurar una cuenta de desarrollador, luego, al igual que con la configuración de Alexa, se le proporcionan las credenciales para usar en su aplicación, en este caso, un script para leer las notificaciones. Se le permiten 50, 000 búsquedas al mes con una de estas cuentas, lo que sin duda es suficiente para mí.

La configuración de Pyvona fue realmente sencilla, en minutos tuve un script de Python creado a partir del ejemplo provisto que leería cualquier frase que escribiera. Pero esa fue solo en parte la solución, por supuesto: no quería que Ivona leyera en voz alta codificada texto pero notificaciones dinámicas entrantes.

Paso 6: ¿Qué dices?

¿Que qué?
¿Que qué?
¿Que qué?
¿Que qué?

Entonces ahora tenía un conejo (en pedazos por todo el banco) que podía hablar, pero necesitaba un mecanismo para recibir notificaciones y pasarlas al servicio de Ivona para que las leyeran. Analicé la posibilidad de enviar mensajes de texto a través de un servicio en línea o un adaptador de tarjeta SIM, y también Twitter y Dropbox para entregar cadenas de texto / archivos, pero finalmente decidí usar imaplib, un medio basado en Python para interactuar con cuentas de correo electrónico IMAP. Me decidí por esta opción principalmente porque se integra bien con el servicio IFTTT, puedes ser realmente creativo con el formato de los correos electrónicos de notificación. También significaba que podría enviar correos electrónicos directamente a RabbitPi para que los leyeran en voz alta.

Miré muchos ejemplos de imaplib python en línea, y después de combinar partes y piezas y trabajar en la documentación de imaplib, logré terminar con un script que verificaba Gmail en busca de mensajes no leídos a intervalos regulares e imprimía texto diferente en la pantalla según el contenido de el asunto del mensaje. Esto fue realmente útil, ya que pude adaptar una declaración "SI" en el código para que solo funcionara si el correo electrónico provenía de mí, y luego cambiar la acción "Imprimir" por el código que llama al servicio de Ivona.

Pasé bastante tiempo tratando de adaptar el código imaplib y Pyvona para leer el cuerpo de los correos electrónicos, pero resultó ser extremadamente complicado; pronto aprendí que los campos principales del correo electrónico (De, Para, Asunto, etc.) tienen un formato muy simple, pero el texto del cuerpo del correo electrónico se puede estructurar de muchas formas diferentes. Al final, realmente no importó, pude lograr lo que necesitaba al usar el Asunto del correo electrónico como el campo desde el que se leería el texto de notificación.

Luego adapté el ejemplo del código imaplib para que en lugar de detenerme después de cada verificación de correo electrónico, se repitiera infinitamente, verificando correos electrónicos varias veces por minuto y leyendo los nuevos casi a medida que llegaban. Esto fue útil para las pruebas, pero en la práctica probablemente lo haría verificar con un poco menos de frecuencia. También vale la pena señalar que el script almacena la contraseña en texto sin formato, por lo que será necesario agregar algo de cifrado en algún momento.

Estoy 100% seguro de que esto se puede lograr de manera mucho más elegante y eficiente en Python, pero fue divertido y desafiante lograr que funcionara. Tomé prestado "Python for Kids" de la biblioteca esta semana, así que espero que mi código mejore a medida que aprendo más.

Con el script básico de obtener un correo electrónico y leerlo en voz alta, agregué los bits adicionales de código que harían que las orejas del conejo se movieran y los LED se iluminaran mientras leía las notificaciones. El código que utilicé está en GitHub, ¡pero tenga en cuenta mi falta actual de destreza en Python!

Paso 7: un SOMBRERO para RabbitPi

UN SOMBRERO para el RabbitPi
UN SOMBRERO para el RabbitPi
UN SOMBRERO para el RabbitPi
UN SOMBRERO para el RabbitPi
UN SOMBRERO para el RabbitPi
UN SOMBRERO para el RabbitPi
UN SOMBRERO para el RabbitPi
UN SOMBRERO para el RabbitPi

Una de las cosas más emblemáticas del Nabaztag era la forma en que movía las orejas cuando llegaba una notificación. Se podían configurar en una orientación particular moviéndolas manualmente o estableciendo una posición con el software de control; mi objetivo era solo para que se muevan.

No había usado motores con la Raspberry Pi antes, así que este fue otro tema de investigación nuevo para mí: primero necesitaba averiguar con qué tipo de motores estaba tratando, todo lo que sabía era que había 2 motores, cada uno con 2 cables. Al leer en línea, concluí que estos deben ser motores de CC sencillos en lugar de motores paso a paso, un hecho confirmado por este instructable fantásticamente útil "Hack the Nabaztag" de Liana_B, que desearía haber leído un mes antes.

Una vez más, gracias a la flexibilidad de Pi, hay muchas formas diferentes de controlar los motores, pero decidí usar una placa Adafruit DC y Stepper Motor HAT. He usado pantallas y baratijas de Adafruit antes y me encantan las instrucciones detalladas y los ejemplos que vienen de serie.

El uso de una placa con el estándar HAT (hardware adjunto en la parte superior) significaba que el controlador del motor encajaría ordenadamente en la parte superior del Pi ocupando un espacio mínimo, y debido a que usa la interfaz I2C dejó libres los pines GPIO que necesitaba para Alexa / Clap botón y LED.

Como era de esperar, soldar el HAT fue realmente sencillo, y pronto lo monté en el PI y lo conecté a los dos motores de oído. Había planeado hacer funcionar los motores desde un banco de energía USB para que solo necesitara un solo enchufe de energía, pero resultó que no tenía suficiente gruñido, ni siquiera iluminaba el LED "Trabajando" en el SOMBRERO. En su lugar, decidí usar un adaptador de corriente CC para ejecutar el HAT y las orejas, convenientemente tenía a mano uno de esos universales con puntas intercambiables. Lo que no tenía era una toma de CC para conectar el adaptador al HAT. Estaba a punto de partir hacia Norwich Maplin (de nuevo) cuando recordé del desmontaje que el cable de alimentación original del Nabaztag era un enchufe de CC estándar; por lo tanto, podría volver a cablear la toma de corriente original al HAT, ¡genial! Al final, también reutilicé la fuente de alimentación original de Nabaztag, ya que proporcionaba la cantidad justa de energía.

Con todo conectado y un voltaje sensible seleccionado, ejecuté provisionalmente el ejemplo de Python incluido con el DC Motor Hat, un código de muestra que cambiaba constantemente la velocidad y la dirección del motor para ilustrar las diferentes opciones de control. Estaba tan emocionado cuando funcionó, ¡mi primer motor controlado por Pi! Pero luego me di cuenta de algo: un gemido muy fuerte y agudo, como si alguien pasara un dedo mojado por una copa de vino. Esto no fue bueno en absoluto, quería que los oídos se movieran mientras se leían las notificaciones y, aunque no ensordecedor, el gemido era realmente notable. Probé diferentes voltajes pero sin cambios. Volviendo a Google, descubrí que esto puede suceder debido a PWM (modulación de ancho de pulso) y que un remedio puede ser soldar pequeños condensadores en los terminales del motor. Mirando los motores, estos ya estaban en su lugar. También experimenté cambiando la frecuencia PWM, pero todavía no cambié. Después de experimentar un poco, me di cuenta de que el gemido solo sucedía cuando el código cambiaba la velocidad del motor de baja a alta, por lo que establecerlo en una velocidad alta constante eliminó el gemido por completo, ¡uf!

Creé un par de scripts de prueba de Python basados en los ejemplos de Adafruit, uno para el movimiento durante las notificaciones y otro para hacer que los oídos realicen un "circuito" completo al inicio, con el objetivo de copiar el código de trabajo de estos en los scripts principales utilizados para manejar el Interacciones de Alexa y Gmail / Ivona.

Paso 8: cámara y ajustes

Cámara y ajustes
Cámara y ajustes
Cámara y ajustes
Cámara y ajustes
Cámara y ajustes
Cámara y ajustes

Antes de comenzar el montaje probé todo. Siempre que fue posible en esta construcción, utilicé cables de puente para conectar los componentes individuales juntos, si las versiones anteriores me han enseñado algo, ¡es planificar el desmantelamiento futuro! También me propuse dibujar un diagrama de conexión que mostrara de qué color iban los cables y dónde, los cables de puente son excelentes, pero a veces se sueltan fácilmente cuando se colocan componentes en espacios reducidos.

Decidí bastante avanzado en la construcción para incluir también un módulo de cámara Pi, la versión 2 de 8MP acababa de ser lanzada y, como algo nuevo para mí, pensé que sería una buena adición. La última versión del conejo Karotz había incluido una cámara web en su estómago, pero esto nunca funcionó tan bien, pensé que la cámara Pi sería divertida para selfies activadas por voz y tal vez incluso monitoreo remoto si el Pi pudiera manejar ejecutar el código en al mismo tiempo que todo lo demás.

Construí un soporte para la cámara con mecano cubierto de plástico y lo coloqué en el estuche primero, luego medí con mucho cuidado dónde necesitaba perforar el orificio avellanado en el estuche. Este fue definitivamente un caso de "medir dos veces una vez", ya que un agujero en el lugar equivocado habría sido un desastre. Afortunadamente, salió en el punto muerto y un poco demasiado alto, por lo que pude compensar agregando arandelas entre el soporte de la cámara y la base.

También agregué un cable de alimentación micro USB dual Pimoroni en este punto; esto me dio un bonito enchufe micro-usb en la parte posterior de la caja y proporcionó un segundo enchufe de alimentación. Tenía la intención de usar el enchufe adicional para cargar la batería del altavoz y lo rompí para poder conectar el interruptor de "silencio" original del Nabaztag para controlar la carga.

Paso 9: ¿Qué es Cookin 'Doc? Recetas IFTTT

¿Qué es Cookin 'Doc? Recetas IFTTT!
¿Qué es Cookin 'Doc? Recetas IFTTT!
¿Qué es Cookin 'Doc? Recetas IFTTT!
¿Qué es Cookin 'Doc? Recetas IFTTT!

Lo fenomenal de construir un dispositivo IoT en este momento es la gran cantidad de servicios web disponibles, y el servicio IFTTT (If This Then That) hace un trabajo increíble al unirlos todos en un paquete sencillo y funcional. Si aún no lo ha usado, es un servicio en línea, y una vez que se haya registrado, puede conectar todas sus otras cosas basadas en la web, como Gmail, Facebook, Twitter y (lo adivinó) Amazon Alexa. Hay una amplia variedad de servicios para elegir, que también incluyen opciones de control para electrodomésticos inteligentes como bombillas, termostatos y enchufes.

Las reglas IFTTT se configuran en "recetas", algo así como una regla de Outlook o una declaración IF en SQL o Visual Basic, por ejemplo, tengo una receta que dice "SI alguien me etiqueta en una foto en Facebook ENTONCES envíame un correo electrónico con el Asunto "Santo guacamole, [etiquetando el nombre de la persona] acaba de etiquetarlo en una foto de Facebook" - porque esto me lo envió desde mi propia dirección, RabbitPi luego lee el Texto del Asunto.

Otro gran uso de IFTTT es con el servicio de voz de Alexa: para la parte IF de una receta, puede configurar una frase, por ejemplo, "el láser" y si luego le dice a Alexa "Dispara el láser", ella pasará la solicitud a IFTTT, que disparará la parte ENTONCES de la receta, en este caso activando un enchufe remoto conectado a una discoteca láser.

Incluso va más allá de "cosas inteligentes": si tiene IFTTT instalado en su teléfono (la mía es la versión de Android), puede interactuar con él en ambas direcciones, una receta utilizada en el video es: "SI digo" Trigger Chas & Dave "a Alexa, ENTONCES pon la canción específica" Rabbit "en mi teléfono Android. También funciona al revés: la aplicación de control remoto universal AnyMote en mi teléfono se puede personalizar para que un botón específico active la parte" SI " de una receta, así que tengo un botón en mi pantalla que activa el RabbitPi para tomar una selfie y subirla a Twitter.

Otra función permite al RabbitPi leer mis mensajes de texto, en mi teléfono tengo una receta "SI recibo un nuevo mensaje SMS ENTONCES me envío un correo electrónico con el siguiente asunto" ¡Oye! [remitente de texto] dice [cuerpo del mensaje de texto]"

Es fácil de usar, muy divertido y funciona bien, las notificaciones se pasan de un lado a otro muy rápido, especialmente al interruptor WeMo Insight que tengo, que es prácticamente instantáneo. Tener IFTTT y RabbitPi hace que conectar cosas y servicios sea realmente sencillo.

Paso 10: Montaje y prueba

Montaje y prueba
Montaje y prueba
Montaje y prueba
Montaje y prueba
Montaje y prueba
Montaje y prueba

Ahora vino la parte complicada: ¡meter todos los componentes en la caja! Estaba bastante seguro de que todo encajaría, pero el montaje real fue realmente complicado, hice un buen uso de algunos instrumentos quirúrgicos y pinzas para pasar los cables a través de pequeños huecos.

Una vez que todo estuvo bien ajustado, agregué algunas bases autoadhesivas para bridas para que los muchos cables se pudieran unir de manera ordenada; esto era realmente importante ya que no quería desenchufar accidentalmente ninguno de ellos al volver a armar la carcasa.

Paso 11: Conejo listo?

Conejo listo?
Conejo listo?
Conejo listo?
Conejo listo?
Conejo listo?
Conejo listo?
Conejo listo?
Conejo listo?

Ahora que todo el lado físico del edificio estaba hecho, era hora de "cortar el cable", quitando el RabbitPi de la comodidad de su cable ethernet, monitor y teclado en el taller para poder terminar el código en otro lugar a través de SSH (la señal inalámbrica es realmente débil allí!)

Sentado en el escritorio de mi oficina, encendí el conejo y … sin conexión wi-fi, nada. Sabía que tenía que haber una señal ya que mi teléfono funcionaba bien. ¿Había algún problema con el adaptador de red en el Pi 3 del que no había oído hablar? Un poco de búsqueda en Google me informó que el Pi 3 solo encontrará una señal wi-fi si el enrutador está transmitiendo en los canales 1-11, ¡el mío estaba configurado en el canal 13! Unos pocos ajustes más tarde y nos conectamos, gran suspiro de alivio.

Luego vino la clasificación de los distintos guiones. En primer lugar, modifiqué el script main.py del código AlexaPi, agregando líneas adicionales para que, además de parpadear sus LED al inicio, RabbitPi también realizara un agradable movimiento de oreja. También reemplacé el mensaje estándar de "Hola" con un divertido efecto de sonido "boing" para divertirme.

El segundo script se llama rabbit.py (¿SWIDT?) Y contiene todo el código para recuperar mensajes de Gmail y leerlos con Pyvona. También agregué un código Twython que adapté de un tutorial de Raspberry Pi "Tweeting Babbage", lo que le permitió a RabbitPi tomar una foto y subirla a su cuenta de Twitter (@NabazPi). Agregué un poco de movimiento del oído y destellos LED para advertirle cuando la foto está a punto de tomarse, así como un ruido de obturador y una confirmación de tweet de lectura de Pyvona.

Por último, agregué una declaración IF al código de gmail de imaplib, de modo que si el asunto del correo electrónico era "selfie", RabbitPi haría lo suyo, pero de lo contrario leería el asunto del correo electrónico de forma normal.

El código que utilicé está disponible en GitHub; ¡lea el archivo Léame!

Como toque final, imprimí un logotipo de Raspberry Pi en papel transparente y lo pegué dentro de la carcasa de RabbitPi, de modo que el LED de barriga blanco iluminara la imagen a través de su piel translúcida.

Paso 12: ¡Nabaztag ha vuelto

¡Nabaztag ha vuelto!
¡Nabaztag ha vuelto!
¡Nabaztag ha vuelto!
¡Nabaztag ha vuelto!
¡Nabaztag ha vuelto!
¡Nabaztag ha vuelto!

Con todo hecho, solo quedaba el video por hacer. Fue muy divertido poner el RabbitPi a prueba en la cámara, el único inconveniente fue editar el metraje HD en mi computadora portátil de edad avanzada más adelante. Para algunas de las notificaciones (principalmente mensajes de texto debido a mi terrible señal de Vodafone) reduje las pausas entre la acción y la notificación, o hubiera sido un video largo y aburrido, pero la mayoría muestra la verdadera velocidad de respuesta.

Experimenté usando un sensor de aplausos para activar el servicio de Alexa (como se ve en el video Snap to it Alexa), pero lo dejé fuera de la compilación final ya que no era lo suficientemente confiable cuando había ruido de fondo. Sé que otros manipuladores están trabajando en el uso de controles remotos IR, controladores wii e incluso escucha activa con el código AlexaPi, por lo que hay muchas opciones para el futuro.

Espero agregar un anillo de adafruit neopixel para reemplazar el LED de la barriga, ya que esto mejoraría las notificaciones visuales, también me gustaría tener en cuenta "silenciar" las notificaciones de voz por la noche. Mis hijos también brindaron algunas sugerencias excelentes, y ahora que me siento un poco más cómodo con Python, trabajaremos juntos para expandir el rango de notificaciones, por ejemplo, para que el texto de confirmación de la selfie se tome de una lista de valores al azar, por lo que se puede instruir al conejo para que intente bailar la macarena con sus orejas y LED.

Resulta que tengo otro Nabaztag aquí, así como un conejo Karotz posterior, así que puedo construir algo más con ellos. ¡Es tentador experimentar con monitoreo remoto y sensores de todo tipo! Es una plataforma de hardware ideal para Pi con su carcasa, motores y botón de tamaño perfecto. Me pregunto si los fabricantes originales tienen un arsenal de Nabaztags sin vender en algún lugar, como el vertedero de Atari. Seguramente con algo de bondad impresa en 3D para montar la cámara y el PI y un SOMBRERO personalizado para hacer funcionar los motores, los LED y el audio, serían un kit de fabricante de Raspberry Pi ideal, ¡cada club de codificación debería tener uno!

Si te gusta este proyecto y quieres ver más, puedes visitar mi sitio web para ver las actualizaciones del proyecto en progreso en bit.ly/OldTechNewSpec, únete a Twitter @OldTechNewSpec o suscríbete al creciente canal de YouTube en bit.ly/oldtechtube - give algunos de sus Old Tech una nueva especificación!

Concurso de Internet de las cosas 2016
Concurso de Internet de las cosas 2016
Concurso de Internet de las cosas 2016
Concurso de Internet de las cosas 2016

Finalista en el Concurso de Internet de las Cosas 2016

Recomendado: