Mit diesem Arduino Projekt lassen wir eine mahnende Hand erscheinen, wenn Euer Google Gmail Postfach ungelesene Nachrichten erhält. Arduino Projekte sind für sich schon ein riesen Spaß. Cool wird es, wenn wir die Möglichkeiten mit anderen Tools – in diesem Fall Python- auf das Internet erweitern. Für unsere mechanische Hand werden wir auf dem Arduino Benachrichtigungen erhalten. Dazu verbinden wir diesen mit einem Mac / PC über die serielle Schnittstelle und senden mit einem Python Script.

Lernziele:

  • Gmail Konto mit Python auslesen
  • Arduino mit Phyton-Script ansteuern
  • mechanische Hand neue Mails anzeigen lassen

Folgendes wird benötigt:

  • Arduino Uno inkl. USB Kabel (Arduino bei AmazonArduino)
  • iMac oder anderer PC
  • LED für die Statusanzeige
  • optional: Servomotor und Kondensator

Sie haben Post! – Ablauf bis zur Benachrichtigung

Das Script überprüft in einem bestimmten Intervall ob neue Mails im Postfach liegen und sendet die Anzahl der neuen Mails über die serielle Schnittstelle an den Arduino. Mit dem Arduino Sketch lauscht der Arduino auf die serielle Schnittstelle. Ist der übermittelte Wert größer als null steuert der Mikrocontroller einen Servomotor an. Natürlich können auch andere Ausgabegeräte wie zum Beispiel LEDs, ein LCD Display oder ein Piazo Lautsprecher angesprochen werden. Mit einem Display wäre es dann möglich auch weitere Informationen wie die Anzahl der neuen Gmail Nachrichten auszugeben. Mit einer Erweiterung des Python-Scripts lassen sich auch die Kopfdaten der E-Mails von Gmail auslesen. Natürlich könnt Ihr auch andere IMAP E-Maildienste abfragen.
Gmail Benachrichtigung über Arduino
Benachrichtigung per Handzeichen

Aufbau der Arduino Hardware

Die Hardware für dieses Projekt kann über eine LED zunächst einfach gehalten werden. In einem späteren Beitrag wollten eine mechanische Anzeige über eine mahnende Hand realisieren. Dazu haben wir einen Arduino Uno sowie den passenden Servomotor in einem PROTEX Gehäuse untergebracht. Den Motor haben wir verlängert, um die Hand auch schön über den Bildschirm ragen zu lassen.
Mechanik der Hand
Ein Blick auf die Mechanik

Software

Python 3 Script

Zunächst erstellen wir das Python-Script. Solltet Ihr Python noch nicht auf euren Rechner installiert haben, findet Ihr in diesem Beitrag eine kleine Anleitung. Nach der Installation öffnet die IDLE und erstellt dort eine neue Datei. Kopiert euch einfach den folgenden Source Code und passt die folgenden Werte für euch an.

  • USERNAME
  • PASSWORT
  • Port der seriellen Schnittstelle

Tipp:

Solltet Ihr die Adresse der seriellen Schnittstelle nicht kennen, öffnet einfach die Arduino Software. Im Hauptmenü unter “Tools” und „Serieller Port“ findet Ihr heraus, welchen Port die Eure Arduino IDE zum Programmieren verwendet.


Ich habe dieses Python-Script unter Documents/Python abgelegt. Wollt Ihr das Script später über eine cron job wie über eine Zeitschaltuhr startet, kann es notwendig sein, das Script mit dem Befehl chmod 774 Dateiname ausführbar zu machen.

 

 Arduino Sketch

Im Sketch wird auf der seriellen Schnittstelle gelauscht. Ist der übergeben Wert – Anzahl der Mails – größer als null, so wird die LED und / oder der Servomotor aktiviert. Über den seriellen Monitor in der Arduino IDE (Lupe in der Ecke oben rechts) könnt Ihr euch live alle Benachrichtigungen anzeigen lassen.

Fazit Benachrichtigung über die serielle Schnittstelle:

Über die serielle Schnittstelle lässt sich relativ einfach eine Kommunikation zwischen einem Mac und dem Arduino aufbauen. Diese „Heirat“ schafft uns viele Möglichkeiten für neue Projekte. Von der Abfrage eurer E-Mails über gmail oder der Abruf von anderen Informationen, wie zum Beispiel den Wetterdaten, sind euch keine Grenzen gesetzt. Werden die Daten erst über die serielle Schnittstelle übertragen, könnt Ihr euch für euer Arduino Projekt vielfältige Benachrichtigungen einfallen lassen.

 

Arduino Projekt – Gmail Benachrichtigungen über die serielle Schnittstelle
Markiert in:                

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.