E-mailový oznamovatel na Raspberry Pi - s LED diodami

Popularita Raspberry Pi hodně usnadnila mnoho věcí. Jako příklad se zobrazí jednoduchý spouštěcí projekt od Raspberry Pi, který vás upozorní na novou zprávu služby Gmail. Po krátkém hledání bylo nalezeno velké množství lidí, kteří vědí, jak to udělat, a několik skvělých příkladů. Michael z mitchtech.net měl nejrozvinutější kód, který byl pro tento projekt vypůjčen.

E-mailový oznamovatel Raspberry Pi

Konstrukce využívá dvě LED diody - zelenou a červenou. Zelená LED bude blikat, když se objeví nová zpráva. Po přečtení všech zpráv se však rozsvítí červená LED.

K dokončení tohoto kurzu budete potřebovat:

Připojení Cobblera k LED diodám

Nový Raspberry Pi používá 40kolíkový konektor. První generace Pi používala 26kolíkový konektor. V tomto výukovém programu lze použít všechny tyto verze pomocí stejného kódu a pinů GPIO. Příklady připojení obou typů jsou poskytovány pomocí stejných pinů GPIO (# 18 a # 23).

Při připojování kabelu GPIO nezapomeňte na pásku zahlédnout červený nebo bílý kabel, který je kolíkem č. 1 kabelu. Tento konec je připojen nejblíže k SD kartě a je označen P1   na Pi. Druhá strana se připojuje k ševci a lze ji zasunout pouze jedním způsobem díky speciálnímu hrotu.

Umístěte šev na kontaktní desku tak, aby byla na obou stranách středové osy. Připojte kolík GND (uzemnění) k modré napájecí liště na kontaktní desce. Budete potřebovat dva odpory (vše od 330 ohmů do 1000 ohmů bude správné).

Připojte první rezistor ke kolíku ševce označeného # 18 a druhý konec ke kolíku, který švec nepoužívá.

Připojte druhý rezistor ke kolíku ševce označeného # 23 a druhý konec k jinému neobsazenému kolíku.

Raspberry Pi Cobbler Plus - 40kolíkový pro Raspberry Pi 3B + / 3B / 2B / Zero

Raspberry Pi Cobbler - 26 pinů - pouze pro Raspberry Pi A / B.

Krok za krokem připojení na 26kolíkovém Cobbler Pi

Vezměte nyní červenou a zelenou LED. Jejich delší nohy jsou anody (+).

Připojte červenou LED anodu k rezistoru připojenému ke kolíku # 23 (GPIO # 23) a zelená LED anoda k rezistoru připojenému ke kolíku # 18.

Připojte kratší kolíky (katody) k pájecím bodům na modrém proužku na kontaktní desce.

Fotografie výše ukazují původní Pi Cobblers. U novějších 40kolíkových modelů, jako je A + / B + / Pi 2, pravděpodobně uděláte něco podobného pomocí vodičů pro připojení rezistorů k LED diodám (pro zvětšení klikněte na obrázek):

Povedlo se! Právě jste připojili dvě LED diody spolu s rezistory omezujícími proud k pinům GPIO na Pi.

Nezbytné balíky

Upgradujte své Pi na nejnovější verzi Raspbian

Vaše Pi bude muset používat nejnovější verzi Raspbian. Tento výukový program byl napsán pomocí Raspbian Stretch (listopad 2018). Podívejte se na naši příručku Instalace operačního systému Raspberry Pi, pokud jste tak ještě neučinili. Po dokončení instalace zadejte následující příkazy, abyste se ujistili, že jsou vaše balíčky aktuální.

 

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

Instalace pip3

pip3 je již nainstalován v plné verzi Raspbian, ale Raspbian Lite neobsahuje pip3, takže je třeba jej nainstalovat níže

 $ sudo apt-get nainstalovat python3-pip

Instalace adafruit-blinka

 $ sudo pip3 nainstalujte adafruit-blinka

Instalace impaclienta

 sudo pip3 install imapclient

Skript v Pythonu

Nyní si můžete stáhnout libovolný kód Pythonu a zkontrolovat svůj účet Gmail. Následující skript je možné stáhnout přímo do vašeho Raspberry Pi, upravit jej a spustit tak, aby LED svítily.

 čas importu
dovozní deska
z imapclient import IMAPClient
z digitalio importu DigitalInOut, Směr

HOSTNAME = 'imap.gmail.com'
MAILBOX = 'Doručená pošta'
MAIL_CHECK_FREQ = 60 # zkontrolovat poštu každých 60 sekund

# Následující tři proměnné musí být pro to přizpůsobeny
# skript do práce
USERNAME = 'vaše uživatelské jméno zde'
PASSWORD = 'vaše heslo zde'
NEWMAIL_OFFSET = 1 # moje nepřečtené zprávy nikdy nedosáhnou nuly, pomocí tohoto přepíšete # piny Pi jako výstup pro LED diody green_led = DigitalInOut (board.D18) red_led = DigitalInOut (board.D23) green_led.direction = Direction.OUTPUT red_led.direction = Direction.OUTPUT def mail_check (): # přihlásit se server poštovního serveru = IMAPClient (HOSTNAME, use_uid = True, ssl = True) server.login (USERNAME, PASSWORD) # vyberte náš MAILBOX a vyhledejte nepřečtené zprávy unseen = server.folder_status (MAILBOX, ['UNSEEN']) # počet nepřečtených messages # print to console to NEWMAIL_OFFSET newmail_count = (unseen [b'UNSEEN ']) print ('% d unseen messages '% newmail_count) if newmail_count> NEWMAIL_OFFSET: green_led.value = True red_led.value = False else: green_led.value = False red_led.value = True time.sleep (MAIL_CHECK_FREQ) while True: mail_check ()

Stahování kódu

Pro zjednodušení vložte tento soubor do domovského adresáře. To usnadňuje příkaz wget.

 $ 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

Úpravy e-mailových proměnných.

Nezapomeňte nastavit své USERNAME a HESLO tak, aby odpovídaly vašemu účtu GMail. (Nezapomeňte, že pokud používáte dvoufaktorové ověřování GMail, budete si muset vytvořit konkrétní heslo, které budete používat. Pokud používáte e-mail v jiné doméně, budete pravděpodobně muset zkontrolovat jejich dokumentaci, abyste věděli, k čemu HOST NAME použití. Obvykle je to imap.vaše poskytovatelobsahu. com .)

NEWMAIL_OFFSET je proměnná, pomocí které můžete nastavit aktuální počet nepřečtených zpráv. Při spuštění skriptu python bude do konzoly číselný výstup zobrazující aktuální počet nepřečtených zpráv.

Běžící kód

 $ python3 ./Raspberry_Pi_E-mail_Notifier_Using_LEDs.py

Pošlete si několik e-mailů a uvidíte, jak se rozsvítí zelená LED!

Skript můžete kdykoli zastavit stisknutím kláves Ctrl-C .

Dálkové ovládání přes SSH

Jako první krok musíte mít na svém Pi terminál. Existují různé možnosti   v našem případě zadává několik příkazových řádků:

  1. Připojte monitor HDMI a klávesnici
  2. Použijte převodník USB-UART
  3. Přihlaste se pomocí S ecure SH ell (SSH)

Vzhledem k tomu, že tento design používá piny GPIO pro své vlastní účely, budete si vybírat mezi spuštěním přímo na Pi (je to skvělá volba, pokud už máte vše nastaveno!) A připojením přes SSH (dobrý nápad, pokud nemáte Nemáte poblíž žádný další monitor / vstupní zařízení a chcete pracovat u vlastního stolu nebo notebooku).

Následující příklady navrhnou hladkou instalaci Raspbian s připojením SSH.

Příprava Pythonu

Aby python fungoval, musíte se ujistit, že máte nainstalovaných několik knihoven.

Nejprve zadejte z klávesnice / monitoru nebo z konzoly SSH:

 sudo apt-get nainstalovat python-pip

... budete dotázáni, zda chcete pokračovat. Stiskněte klávesu „Y“ pro „ano“ a stiskněte Enter.

Tato část pravděpodobně bude nějakou dobu trvat.

Poté můžete nainstalovat knihovnu IMAPClient Python, která umožňuje Pythonu komunikovat s e-mailovými službami.

 sudo pip install imapclient

Starší verze této příručky používaly ke čtení zdroje Atom z GMailu modul Pythonu zvaný „feedparser“

Aktuální verze skriptu by měla fungovat s e-maily v jakékoli doméně, která poskytuje přístup IMAP. Některé užitečné odkazy:

Pokud máte ve svém účtu GMail povoleno dvoufaktorové ověřování, budete muset pro použití protokolu IMAP vytvořit konkrétní heslo. Podrobná instrukce od Google je v tomto případě velmi užitečná.

Nejste si jisti, zda máte povoleno dvoufaktorové ověřování? To pravděpodobně znamená, že žádný nemáte, takže si s tím zatím starosti nedělejte.

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

zveme vás ke spolupráci!