E-Mail Notifier auf Raspberry Pi - mit LED-Dioden

Die Popularität des Raspberry Pi hat vieles einfacher gemacht. Als Beispiel zeigen wir Ihnen ein einfaches Startup-Projekt von Raspberry Pi, um Sie über eine neue Gmail-Nachricht zu informieren. Nach einer kurzen Suche wurde eine große Anzahl von Leuten gefunden, die wissen, wie man es herstellt, und einige großartige Beispiele dafür. Michael von mitchtech.net hatte den am weitesten entwickelten Code, der für dieses Projekt ausgeliehen wurde.

Raspberry Pi E-Mail-Benachrichtigung

Das Design verwendet zwei LEDs - grün und rot. Die grüne LED blinkt, wenn eine neue Nachricht vorliegt. Wenn jedoch alle Nachrichten gelesen wurden, leuchtet die rote LED.

Um dieses Tutorial abzuschließen, benötigen Sie:

Cobbler mit LEDs verbinden

Der neue Raspberry Pi verwendet einen 40-Pin-Anschluss. Der Pi der ersten Generation verwendete einen 26-Pin-Anschluss. Dieses Tutorial kann alle diese Versionen mit demselben Code und denselben GPIO-Pins verwenden. Es werden Anschlussbeispiele für beide Typen mit denselben GPIO-Pins (Nr. 18 und Nr. 23) bereitgestellt.

Stellen Sie beim Anschließen des GPIO-Kabels sicher, dass Sie das rote oder weiße Kabel auf dem Flachband erkennen, es ist Pin Nr. 1 des Kabels. Dieses Ende ist am nächsten an der SD-Karte angeschlossen und mit P1 gekennzeichnet auf Pi. Die andere Seite wird mit dem Cobbler verbunden und kann aufgrund der speziellen Spitze nur in eine Richtung eingeführt werden.

Legen Sie den Schuster so auf die Kontaktplatte, dass er sich auf beiden Seiten der Mittellinie befindet. Verbinden Sie den GND -Pin (Masse) mit der blauen Stromschiene auf der Kontaktplatte. Sie benötigen zwei Widerstände (alles zwischen 330 Ohm und 1000 Ohm ist korrekt).

Verbinden Sie den ersten Widerstand mit dem Schusterstift Nr. 18 und das andere Ende mit einem nicht verwendeten Stift.

Verbinden Sie den zweiten Widerstand mit dem Schusterstift Nr. 23 und das andere Ende mit einem anderen, unbelegten Stift.

Raspberry Pi Cobbler Plus - 40-polig für Raspberry Pi 3B+ / 3B / 2B / Zero

Raspberry Pi Cobbler - 26 Pin - nur für Raspberry Pi A / B

Schritt-für-Schritt-Verbindung auf dem 26-poligen Cobbler Pi

Nehmen Sie jetzt die roten und grünen LEDs. Ihre längeren Schenkel sind Anoden (+).

Verbinden Sie die rote LED-Anode mit dem Widerstand, der mit Pin # 23 (GPIO # 23) verbunden ist, und verbinden Sie die grüne LED-Anode mit dem Widerstand, der mit Pin # 18 verbunden ist.

Verbinden Sie die kürzeren Stifte (Kathoden) mit den Lötpunkten am blauen Streifen auf der Kontaktplatte.

Die Fotos oben zeigen die originalen Pi Cobblers. Bei neueren 40-Pin-Modellen wie A + / B + / Pi 2 werden Sie wahrscheinlich etwas Ähnliches tun, indem Sie Drähte verwenden, um Widerstände mit den LEDs zu verbinden (zum Vergrößern auf das Bild klicken):

Geschafft zu! Sie haben gerade zwei LEDs zusammen mit Strombegrenzungswiderständen an die GPIO-Pins des Pi angeschlossen.

Notwendige Pakete

Aktualisieren Sie Ihren Pi auf die neueste Raspbian-Version

Ihr Pi muss die neueste Version von Raspbian ausführen. Dieses Tutorial wurde mit Raspbian Stretch (November 2018) geschrieben. Sehen Sie sich unseren Leitfaden zur Installation des Raspberry Pi -Betriebssystems an, falls Sie dies noch nicht getan haben. Geben Sie nach Abschluss der Installation die folgenden Befehle ein, um sicherzustellen, dass Ihre Pakete auf dem neuesten Stand sind.

 

$ sudo apt-get install update -y
$ sudo apt-get install upgrade -y

pip3 installieren

pip3 ist bereits in der Vollversion von Raspbian installiert, aber Raspbian Lite enthält pip3 nicht, daher muss es wie unten installiert werden

 $ sudo apt-get install python3-pip

Installation von adafruit-blinka

 $ sudo pip3 installiere adafruit-blinka

Installation von impaclient

 sudo pip3 installiert imapclient

Python-Skript

Jetzt können Sie jeden beliebigen Python-Code herunterladen und Ihr Google Mail-Konto überprüfen. Es ist möglich, das folgende Skript direkt auf Ihren Raspberry Pi herunterzuladen, zu modifizieren und auszuführen, damit die LEDs leuchten.

 Importzeit
Import-Board
aus imapclient import IMAPClient
aus digitalio import DigitalInOut, Direction

HOSTNAME = 'imap.googlemail.com'
MAILBOX = 'Posteingang'
MAIL_CHECK_FREQ = 60 # Mail alle 60 Sekunden prüfen

# Dazu müssen die folgenden drei Variablen angepasst werden
# Skript zum Arbeiten
USERNAME = 'Ihr Benutzername hier'
PASSWORD = 'Ihr Passwort hier'
NEWMAIL_OFFSET = 1 # Meine ungelesenen Nachrichten gehen nie auf Null, verwenden Sie dies zum Überschreiben

# Pi-Pins als Ausgang für LEDs einrichten
green_led = DigitalInOut (board.D18)
red_led = DigitalInOut (board.D23)
green_led.direction = Richtung.AUSGANG
red_led.direction = Richtung.AUSGABE

def mail_check ():
    # Login ist Mailserver
    server = IMAPClient (HOSTNAME, use_uid = True, ssl = True)
    server.login (BENUTZERNAME, PASSWORT)

    # unsere MAILBOX auswählen und nach ungelesenen Nachrichten suchen
    unseen = server.folder_status (MAILBOX, ['UNSEEN'])

    # Anzahl ungelesener Nachrichten
    # Auf Konsole ausgeben, um NEWMAIL_OFFSET zu ermitteln
    newmail_count = (ungesehen [b'UNSEEN '])
    print ('% d ungesehene Nachrichten' % newmail_count)

    wenn newmail_count> NEWMAIL_OFFSET: green_led.value = True red_led.value = False sonst: green_led.value = False red_led.value = True time.sleep (MAIL_CHECK_FREQ) while True: mail_check ()

Herunterladen des Codes

Legen Sie diese Datei der Einfachheit halber in Ihrem Home-Verzeichnis ab. Dies wird durch den wget-Befehl erleichtert.

 $-CD
$ wget https://raw.githubusercontent.com/adafruit/Adafruit_Learning_System_Guides/master/Raspberry_Pi_E-mail_Notifier_Using_LEDs/Raspberry_Pi_E-mail_Notifier_Using_LEDs.py

Änderung von E-Mail-Variablen.

Vergessen Sie nicht, Ihren BENUTZERNAMEN und Ihr PASSWORT so einzustellen, dass sie mit Ihrem GMail-Konto übereinstimmen. (Denken Sie daran, wenn Sie die Zwei-Faktor-Authentifizierung von GMail verwenden, müssen Sie dann ein bestimmtes Passwort erstellen. Wenn Sie eine E-Mail-Adresse in einer anderen Domain verwenden, müssen Sie wahrscheinlich deren Dokumentation überprüfen, um zu erfahren, an welchen HOSTNAMEN verwenden. Normalerweise ist dies imap.yourmailproviderhere.com .)

NEWMAIL_OFFSET ist eine Variable, mit der Sie die aktuelle Anzahl ungelesener Nachrichten festlegen können. Beim Ausführen des Python-Skripts wird eine numerische Ausgabe an die Konsole ausgegeben, die die aktuelle Anzahl ungelesener Nachrichten anzeigt.

Ausführen von Code

 $ python3 ./Raspberry_Pi_E-mail_Notifier_Using_LEDs.py

Senden Sie sich einige E-Mails, um zu sehen, wie die grüne LED aufleuchtet!

Sie können das Skript jederzeit stoppen, indem Sie die Tastenkombination Strg-C drücken.

Fernsteuerung über SSH

Als ersten Schritt benötigen Sie ein Terminal auf Ihrem Pi. Es gibt verschiedene Optionen In unserem Fall werden mehrere Befehlszeilen eingegeben:

  1. Schließen Sie den HDMI-Monitor und die Tastatur an
  2. Verwenden Sie den USB-UART-Konverter
  3. Anmelden mit Secure SHell (SSH)

Da dieses Design die GPIO-Pins für seine eigenen Zwecke verwendet, haben Sie die Wahl zwischen der Ausführung direkt auf dem Pi (es ist eine großartige Option, wenn Sie bereits alles eingerichtet haben!) Und der Verbindung über SSH (eine gute Idee, wenn Sie es nicht tun keinen zusätzlichen Monitor / Eingabegerät in der Nähe haben und am eigenen Schreibtisch oder Laptop arbeiten möchten).

Die folgenden Beispiele schlagen eine reibungslose Raspbian-Installation mit einer SSH-Verbindung vor.

Python vorbereiten

Damit Python funktioniert, müssen Sie sicherstellen, dass Sie einige Bibliotheken installiert haben.

Geben Sie zuerst entweder über die Tastatur / den Monitor oder über die SSH-Konsole Folgendes ein:

 sudo apt-get install python-pip

... Sie werden gefragt, ob Sie fortfahren möchten. Drücken Sie die Taste „Y“ für „Ja“ und drücken Sie die Eingabetaste.

Dieser Teil wird wahrscheinlich einige Zeit in Anspruch nehmen.

Anschließend können Sie die IMAPClient-Python-Bibliothek installieren, die es Python ermöglicht, mit E-Mail-Diensten zu kommunizieren.

 sudo pip installiere imapclient

Ältere Versionen dieses Handbuchs verwendeten ein Python-Modul namens "Feedparser", um den Atom-Feed von GMail zu lesen

Die aktuelle Version des Skripts sollte mit E-Mails in jeder Domäne funktionieren, die IMAP-Zugriff bietet. Einige hilfreiche Links:

Wenn Sie die Zwei-Faktor-Authentifizierung für Ihr GMail-Konto aktiviert haben, müssen Sie ein bestimmtes Passwort erstellen, um IMAP verwenden zu können. Eine ausführliche Anleitung von Google ist in diesem Fall sehr hilfreich.

Sind Sie sich nicht sicher, ob Sie die Zwei-Faktor-Authentifizierung aktiviert haben? Das bedeutet wahrscheinlich, dass Sie keines haben, also machen Sie sich vorerst keine Sorgen.

Quelle: https://learn.adafruit.com/raspberry-pi-e-mail-notifier-using-leds

Wir freuen uns auf die Zusammenarbeit mit Ihnen!