Table des matières:

Lire les e-mails avec Arduino et Wave Shield : 4 étapes
Lire les e-mails avec Arduino et Wave Shield : 4 étapes

Vidéo: Lire les e-mails avec Arduino et Wave Shield : 4 étapes

Vidéo: Lire les e-mails avec Arduino et Wave Shield : 4 étapes
Vidéo: #الهندسة_المدنية #génie_civil #btp #construction #chantierdeconstruction #ofppt #travauxpublics 2024, Juillet
Anonim
Lire les e-mails avec Arduino et Wave Shield
Lire les e-mails avec Arduino et Wave Shield

Dans le cadre de mon projet ici https://www.instructables.com/id/Sound-Switcher/ (ce projet est dans un concours donc si vous aimez ça, votez pour ça !) qui utilise un Arduino pour interrompre une source sonore externe (c'est-à-dire iPod) pour vous informer de ce qui se passe autour de vous, je l'ai également interrompu dans les e-mails et vous ai lu de qui l'e-mail provient et la ligne d'objet (afin que vous sachiez si vous voulez arrêter ce que vous faites et vérifiez-le). Puisqu'un Arduino avec un Wave Shield a lu votre e-mail pourrait être utile à d'autres, je l'ai transformé en son propre instructable ici. Cela utilise la série pour transférer les données. J'utilise simplement l'interface USB sur l'Arduino, mais vous devriez pouvoir accomplir la même chose sans fil avec XBees d'après ce que je comprends. Donc, en gros, les éléments de cette instructable will1. Vérifiez votre e-mail2. Si quelque chose est nouveau, il le convertira en un fichier wav3. puis il l'enverra à l'arduino via serial4. alors l'Arduino le jouera. Le plus gros TODO est d'accélérer le transfert de fichiers. Mon idée est que l'ordinateur envoie plus de 100 octets environ, puis attend une réponse d'accusé de réception de l'Arduino avant d'en envoyer plus. Il serait également bien d'avoir une vérification des erreurs, car un fichier binaire partiel n'est pas beaucoup mieux que rien du tout dans certains cas.

Étape 1: Utilitaire de synthèse vocale de ligne de commande

Voici un petit utilitaire que j'ai écrit très rapidement pour convertir le texte en parole. Il est écrit en C# avec l'édition gratuite Visual C# 2008 Express. Vous aurez probablement besoin de. Net 3.5 pour exécuter cela. Le code est inclus, mais si vous voulez juste l'exe, vous pouvez l'obtenir dans CommandLineText2Speech/CommandLineText2Speech/bin/Release dans le fichier zip. Pour faire fonctionner l'outil, vous pouvez simplement ouvrir une invite de commande, accédez au répertoire où vous placez l'exe et tapez CommandLineText2Speech.exe. Il affichera ceci: Utilisation: Pour lister les voix installées: CommandLineText2Speech.exe whatvoices

Pour convertir du texte en wav:CommandLineText2Speech.exe [voix] [taux - par défaut 0 (-10 à 10)] [volume - par défaut 80 (0 à 100)] "[texte à convertir]" [fichier de sortie]En d'autres termes vous voudrez probablement d'abord exécuter:CommandLineText2Speech.exe whatvoicesCela répertoriera les voix que vous avez installées sur votre ordinateur. Vous aurez besoin du nom d'une voix pour exécuter l'outil. Les voix fournies avec Windows ne sont pas géniales, AT&T en a d'assez bonnes. Suivant pour convertir le texte en fichier wav, faites ceciCommandLineText2Speech.exe "Microsoft Sam" 0 80 "Ceci est un test" test.wavVoici ce que tout cela signifie:"Microsoft Sam" - la voix, c'est celle qui vient avec Windows, vous avez pour le mettre entre guillemets puisqu'il y a un espace0 - Vitesse normale (peut aller de -10 à 10)80 - Volume normal (peut aller de 0 à 100) "Ceci est un test" - Le texte qui sera transformé en un fichier wav.wav - comment s'appellera le fichier wav

Étape 2: Utilitaire Ruby pour vérifier les e-mails et télécharger Wav sur Arduino

Le code Ruby joint effectue les vérifications suivantes pour voir s'il y a un nouvel e-mail et s'il y en a, il le transfère à l'Arduino via l'interface USB vers série intégrée à l'Arduino. J'ai eu des problèmes avec les connexions à haut débit sur série (probablement la taille du tampon). Les paramètres du fichier sont tous en haut du fichier. Cela utilise mon programme C# pour créer un fichier wav. Je devrais probablement convertir tout cela en une seule langue, je suis un grand fan de Ruby, mais il n'avait pas l'air de pouvoir créer le wav à partir de texte très facilement, alors j'ai écrit la petite application C#. Vous aurez également besoin du ruby joyau de série, je l'ai également inclus. Pour l'installer (après avoir installé Ruby), tapez "gem install win32-serial-0.5.1-x86-mswin32-60.gem" dans l'invite de commande du répertoire dans lequel vous téléchargez le gem. C'est tout ce dont vous avez besoin pour que ce programme fonctionne.

Étape 3: Code Arduino

Voici un exemple de lecture des données via série, de copie sur la carte SD, puis de lecture de la vague. Cela fait partie de mon instructable ici https://www.instructables.com/id/Sound-Switcher/ (notez que c'est dans le concours Arudino, si vous l'aimez, votez pour lui !). J'ajouterai un autre exemple le lendemain ou alors c'est réduit. Regardez la fonction check_serial pour écrire sur la carte SD. J'utilise la bibliothèque WaveRP trouvée ici pour le faire

Étape 4: Exécutez tout

Ok, maintenant vous avez toutes les pièces. Pour que cela fonctionne correctement, vous devez 1. Installer Wave Shield sur Arduino2. Connectez Arduino à l'ordinateur (ou utilisez XBee) -- je suppose que vous avez déjà installé le firmware3. Exécutez le script Ruby checkEmail.rb4. Profitez de votre Arduino pour lire vos e-mails.

Conseillé: