Tabla de contenido:

Leer correo electrónico con Arduino y Wave Shield: 4 pasos
Leer correo electrónico con Arduino y Wave Shield: 4 pasos

Video: Leer correo electrónico con Arduino y Wave Shield: 4 pasos

Video: Leer correo electrónico con Arduino y Wave Shield: 4 pasos
Video: ⚡ Diseño de PCB con EasyEDA desde cero - Shield para Arduino medidor 4-20mA y SMD, Gerber y PDF 2024, Mes de julio
Anonim
Leer correo electrónico con Arduino y Wave Shield
Leer correo electrónico con Arduino y Wave Shield

Como parte de mi proyecto aquí https://www.instructables.com/id/Sound-Switcher/ (ese proyecto está en un concurso, así que si te gusta esto, ¡vota por eso!) Que usa un Arduino para interrumpir una fuente de sonido extrema (es decir, iPod) para informarle sobre las cosas que suceden a su alrededor, también lo interrumpí en los correos electrónicos y le leyó de quién es el correo electrónico y el asunto (para que sepa si desea detener lo que está haciendo y compruébalo). Dado que tener un Arduino con un Wave Shield que lea su correo electrónico podría ser útil para otros, lo convertí en su propio instructable aquí. Esto usa serial para transferir los datos. Solo estoy usando la interfaz USB en el Arduino, pero debería poder lograr lo mismo de forma inalámbrica con XBees por lo que entiendo. Básicamente, las cosas en este instructable will1. Revise su correo electrónico 2. Si hay algo nuevo, lo convertirá en un archivo wav3. luego lo enviará al arduino a través de serial4. entonces Arduino lo reproducirá. El TODO más importante es acelerar la transferencia de archivos. Mi idea es que la computadora envíe más de 100 bytes aproximadamente, luego espere una respuesta de reconocimiento del Arduino antes de que envíe más. También sería bueno tener alguna verificación de errores, ya que un archivo binario parcial no es mucho mejor que ninguno en algunos casos.

Paso 1: Utilidad de texto a voz de la línea de comandos

Aquí hay una pequeña utilidad que escribí muy rápido para convertir texto en voz. Está escrito en C # con Visual C # 2008 Express Edition gratuito. Probablemente necesitará. Net 3.5 para ejecutar esto. El código está incluido, pero si solo desea el archivo ejecutable, puede obtenerlo en CommandLineText2Speech / CommandLineText2Speech / bin / Release en el archivo zip. Para que la herramienta funcione, puede abrir un símbolo del sistema, navegar al directorio donde colocó el exe y escribir CommandLineText2Speech.exe. Dará como resultado esto: Uso: Para enumerar las voces instaladas: CommandLineText2Speech.exe whatvoices

Para convertir texto a wav: CommandLineText2Speech.exe [voz] [tasa - predeterminado 0 (-10 a 10)] [volumen - predeterminado 80 (0 a 100)] "[texto para convertir]" [archivo de salida] En otras palabras probablemente querrá ejecutar primero: CommandLineText2Speech.exe whatvoices Esto mostrará una lista de las voces que ha instalado en su computadora. Necesitará el nombre de una voz para ejecutar la herramienta. Las voces que vienen con Windows no son buenas, AT&T tiene algunas que son bastante buenas. A continuación, para convertir texto a un archivo wav, haga estoCommandLineText2Speech.exe "Microsoft Sam" 0 80 "Esto es una prueba" test.wav Esto es lo que significa: "Microsoft Sam" - la voz, esta es una que viene con Windows, tiene para ponerlo entre comillas porque hay un espacio 0 - Velocidad normal (puede ir de -10 a 10) 80 - Volumen normal (puede ir de 0 a 100) "Esto es una prueba" - El texto que se convertirá en un archivo wav prueba.wav - cómo se llamará el archivo wav

Paso 2: Utilidad Ruby para verificar el correo electrónico y cargar WAV a Arduino

El código de Ruby adjunto realiza las siguientes comprobaciones para ver si hay un nuevo correo electrónico y, si lo hay, lo transfiere al Arduino a través de la interfaz USB a serie integrada en Arduino. He tenido problemas para hacer conexiones de alta velocidad sobre Serial (probablemente el tamaño del búfer). La configuración del archivo se encuentra en la parte superior del archivo. Esto usa mi programa C # para crear un archivo wav. Probablemente debería convertir todo esto a un idioma, soy un gran fan de Ruby, pero no parecía que pudiera crear el wav a partir del texto con mucha facilidad, así que escribí la pequeña aplicación C #. También necesitarás el ruby gema de serie, la he incluido también. Para instalarlo (después de haber instalado Ruby) escriba "gem install win32-serial-0.5.1-x86-mswin32-60.gem" en el símbolo del sistema del directorio donde descargó la gema. Eso es todo lo que necesita para que este programa funcione.

Paso 3: Código Arduino

Aquí hay un ejemplo de lectura de datos a través de serie, copiarlos en la tarjeta SD y luego reproducir la onda. Esto es parte de mi instructable aquí https://www.instructables.com/id/Sound-Switcher/ (tenga en cuenta que está en el concurso Arudino, si le gusta, ¡vote por él!). Agregaré otro ejemplo en el próximo día más o menos que se recortará. Mire la función check_serial para escribir en la tarjeta SD. Estoy usando la biblioteca WaveRP que se encuentra aquí para hacerlo

Paso 4: Ejecutarlo todo

Ok, ahora tienes todas las partes. Para que esto funcione correctamente, debe 1. Instalar Wave Shield en Arduino2. Conecte Arduino a la computadora (o use XBee): supongo que ya tiene el firmware instalado 3. Ejecute el script Ruby checkEmail.rb 4. Disfrute de su Arduino leyendo su correo electrónico.

Recomendado: