Étape 6: Dire quoi ?
J’ai donc dû maintenant un lapin (en pièces partout dans le banc) qui pouvait parler, mais il faut un mécanisme pour recevoir des notifications et les transmettre au service Ivona pour être lu. J’ai étudié la possibilité de SMS via un service en ligne ou adaptateur de carte SIM et aussi Twitter et Dropbox pour délivrer des chaînes/fichiers texte, mais décida finalement d’utiliser imaplib, moyen d’interaction avec les comptes de messagerie IMAP basé sur Python. J’ai décidé sur cette option, principalement parce qu’il est intégré avec le service IFTTT, vous pouvez être très créatif avec le formatage des e-mails de notification. Aussi, cela signifiait que je serais en mesure d’envoyer des emails directement à le RabbitPi à lire à haute voix.
J’ai regardé à travers de nombreux exemples de python imaplib en ligne et après combinant des morceaux et par l’intermédiaire de la documentation d’imaplib que j’ai réussi à retrouver avec un script qui vérifié Gmail pour les messages non lus à intervalles réguliers et imprimé texte différent à l’écran en fonction du contenu de l’objet du message. C’est vraiment pratique, car je pouvais adapter une instruction « IF » dans le code fonctionne uniquement si le courriel provenait de moi-même et puis échangez l’action « Imprimer » pour le code appelle la fonction Yvonne.
J’ai passé un bon moment essayant d’adapter les imaplib & Pyvona code pour lire le corps des courriels mais cela s’est avéré être extrêmement compliqué - bientôt, j’ai appris que les champs Courriel de base (de, à, objet, etc.) sont mises en forme très simplement, mais que le corps de messagerie texte peuvent être structurés de différentes manières. En fin de compte qu'il n’a pas vraiment d’importance, j’ai été en mesure de réaliser ce que j’avais besoin à l’aide au sujet de l’E-mail dans le champ qui se lisait le texte de la notification de.
Je me suis adapté puis l’exemple de code imaplib pour qu’au lieu de s’arrêter après chaque vérification pour l’email de qu'il serait infiniment en boucle autour, vérification des mails quelques fois par minute lecture toute neuves à peu autant qu’ils sont arrivés. C’est utile pour tester, mais en pratique je voudrais sans doute faire vérifier un peu moins souvent. Aussi ses preuves ainsi, notant que le script enregistre le mot de passe en texte brut aurez besoin certains chiffrement ajouté à un moment donné.
Je suis 100 % certain que ceci peut être réalisé beaucoup plus élégante et plus efficacement en Python mais c’était amusant et stimulant pour le faire fonctionner à tous - j’ai emprunter « Python for Kids » de la bibliothèque cette semaine donc mon code améliorera j’espère que j’ai en savoir plus.
Avec le travail de base get-an-email-and-read-it-out script, j’ai ajouté dans les bits supplémentaires de code qui ferait du lapin oreilles déménagement et voyants lumineux en lisant les notifications. Le code que j’ai utilisé seront tous partagés sur GitHub à un moment donné, mais s’il vous plaît garder à l’esprit mon manque actuel de prouesses de python !