Vytvořte Raspberry Pi Gmail Light Light

  • Brian Curtis
  • 0
  • 4642
  • 1197
reklama

V tomto rychlém a snadném projektu Raspberry Pi se naučíte, jak rozsvítit e-mailové upozornění Gmailu. Pokud máte nepřečtené e-maily, kontrolka LED Python zapne. Tento projekt vyžaduje jen velmi málo dílů a může být dokončen za hodinu! Svou LED můžete samozřejmě oblékat libovolným způsobem, například do bloku MineCraft Redstone nebo jiného objektu 3D vytištěného v čirém plastu. Zde je konečný výsledek:

Co potřebuješ

  • 1 x Raspberry Pi
  • 1 x prkénko
  • 1 x 220 ohmový rezistor
  • 1 x 5 mm LED
  • 1 x účet Gmail
  • Dráty pro připojení samců k ženám

Pro tento projekt bude fungovat jakýkoli Raspberry Pi - dokonce i Pi Zero! Je zapotřebí pouze jeden pin GPIO a není nijak zvlášť náročný na CPU. Pokud máte startovací sadu Pi, máte k tomu více než dostatek dílů.

Sestavte plán


Toto je opravdu jednoduchý projekt. Světelná dioda emitující světlo (LED) je připojena ke kolíku GPIO (vstupní signál pro všeobecné účely) na Pi. Velmi jednoduchý skript Pythonu se bude pravidelně spouštět, aby bylo možné zkontrolovat nepřečtené e-maily a podle toho rozsvítit nebo zhasnout LED.

Hardware


Připojte kladnou anodu (dlouhou nohu) LED k rezistoru a poté k pinu GPIO 14. Můžete použít jakýkoli pin GPIO, nejdříve se však podívejte na pinout, protože se mezi modely mírně liší. Připojte zápornou katodu (krátká noha s plochou hranou) k zemi.

Nastavení pí


Pokud máte v počítači Pi nainstalován operační systém (OS), není potřeba mnoho nastavení (nevíte, co potřebujete? Naučte se, jak ho nainstalovat zde Jak nainstalovat operační systém na Raspberry Pi Jak nainstalovat operační systém na Raspberry Pi Zde je návod, jak nainstalovat operační systém na Raspberry Pi a jak naklonovat dokonalé nastavení pro rychlé zotavení po katastrofě.). Otevřete nový terminál (Vlevo nahoře > Jídelní lístek > Příslušenství > Terminál) na Pi (checkout tyto zkratky, aby se vám ninja kódování Ušetřete čas v terminálu Linux s těmito 20 zkratkami Ušetřete čas v terminálu Linux s těmito 20 zkratkami Ať už jste začátečník terminálu nebo někdo, kdo už dávno dostal strach. , zde je 20 zkratek, které vám mohou pomoci překonat některé nepříjemnosti z příkazové řádky.). Pro uložení skriptu Python musíte vytvořit novou složku. Zadejte následující příkaz:

pwd

To znamená “Tisknout pracovní adresář”, a ukáže vám, ve které složce se nacházíte (ve výchozím nastavení to bude “/ home / pi”). Přejděte do složky dokumentů a vytvořte nový adresář (složku) s názvem “gmail_python”:

cd Dokumenty / sudo mkdir gmail_python

“mkdir” příkaz znamená “Vytvořte adresář”. Všechno následující bude použito pro název adresáře. Nyní byste měli mít možnost vidět svůj adresář:

ls

Pokud jste udělali chybu, můžete tento adresář snadno odstranit:

sudo rm -r gmail_python

Nyní přejděte do nového adresáře:

cd gmail_python /

Vytvořte nový skript Python:

sudo nano check_messages.py

Tím vytvoříte skript a otevřete jej připravený k úpravám v Nano. Můžete samozřejmě použít jiný program, například Vim, i když tento tweet shrnuje mé pocity ohledně toho:

Používám Vim asi 2 roky, hlavně proto, že nemůžu přijít na to, jak to ukončit.

- I Am Devloper (@iamdevloper) 17. února 2014

Vtipné stranou, podívejte se na toto srovnání mezi dvěma nano vs. vim: textové editory terminálu ve srovnání nano vs. vim: textové editory terminálu ve srovnání Ačkoli Linux se stal dostatečně snadným, aby ho prakticky kdokoli mohl používat, aniž by někdy musel terminál používat, existuje několik z nás, kteří jej pravidelně používají, nebo jsou zvědaví, jak se dá ovládat ... pro úplné zhroucení.

lis CTRL + X ukončit Nano a vrátit se na terminál.

Nastavení Pythonu


Nyní, když je Pi nastavena, je čas napsat kód. Tento projekt vyžaduje vynikající knihovnu Gmail Python od Charlie Guo. Stáhněte si knihovnu z Githubu a rozbalte její obsah. Uvnitř by měla být složka s názvem “gmail”. Zkopírujte celou tuto složku do “/ home / pi / Dokumenty / gmail_python”.

Přepněte zpět na příkazový řádek a znovu otevřete skript (pokud stisknete klávesu nahoru, můžete procházet dříve zadanými příkazy):

sudo nano check_messages.py

Všimněte si, jak se jedná o stejný příkaz, jaký jste použili k vytvoření souboru - pokud soubor již existuje, bude otevřen, jinak bude vytvořen. Zde je Python:

importovat gmail, RPi.GPIO jako GPIO, čas # importovat moduly GPIO.setwarnings (False) GPIO.setmode (GPIO.BCM) # sdělte Pi, jaké záhlaví použít GPIO.setup (14, GPIO.OUT) # sdělte to Pi pin je výstup g = gmail.login ('[email protected] ',' YOUR PASSWORD ') unread_messages = g.inbox (). mail (unread = True) total_messages = 0 pro zprávu v unread_messages: total_messages + = 1 if total_messages> 0: # jsou nepřečtené e-maily, zapněte světlo na GPIO.output (14, True) jinde: # nejsou žádné nepřečtené e-maily, vypněte světlo GPIO.output (14, False)

Aby to fungovalo, budete muset zadat své uživatelské jméno a heslo. Pokud si přejete, můžete zobrazit celý zdrojový kód pro plugin gmail. Pokud to necítíte dobře (nebo používáte dvoufaktorové ověření), budete se muset k Gmailu připojit pomocí protokolu OAuth2. To je trochu zapojeno do tohoto tutoriálu, ale Google má vynikající úvodní příručku.

Rozdělme si kód. Nejprve se importují některé moduly. Moduly v Pythonu jsou malé kousky kódu napsané za účelem (podobné knihovnám v Arduino IDE). RPi.GPIO je specifický modul pro přístup k GPIO, gmail je modul, který jste si stáhli dříve, a čas je modul zabudovaný do Pythonu, který poskytuje funkce časování. Nyní “GPIO.setmode” a “GPIO.setup” jsou zvyklí na to, aby Pi řekli, že pin 14 je výstup a že ho chcete použít “Číslování Broadcom Pin” (více informací o BCM).

Tento řádek se připojuje k vašemu účtu gmail. Vytvoří objekt s názvem “G”, a volá metodu přihlášení dříve importovaného modulu gmail. Nezapomeňte zadat svůj e-mail a heslo pro Gmail.

g = gmail.login ('[email protected] ',' VAŠE HESLO ')

Nyní načtěte všechny nepřečtené zprávy a uložte je do proměnné s názvem “nepřečtené zprávy”:

unread_messages = g.inbox (). mail (unread = True)

Všimněte si jak “unread = True” je předán jako parametr - můžete to změnit tak, aby se zprávy načítaly na základě různých parametrů, jako je odesílatel nebo předmět. Další informace naleznete v dokumentaci rozhraní API (Application Programming Interface).

Dále se použije smyčka for pro opakování každé zprávy:

pro zprávu v nepřečtených zprávách: total_messages + = 1

Pro smyčky jsou velmi užitečné. Několikrát opakují blok kódu, často pokaždé s mírně odlišnou hodnotou. Toto pro smyčku jde přes každou zprávu v unread_messages a zvyšuje “total_messages” proměnná.

Konečně, některé jednoduché “-li” používají se příkazy. Pokud jsou nepřečtené zprávy, zapněte LED, jinak vypněte.

Nezapomeňte, že Python rozlišuje velká a malá písmena a používá bílé mezery. Pokud máte problémy se spuštěním kódu, zkuste tento web. Vložte svůj Python a stiskněte klávesu “ověřte nad pythonovým kódem” tlačítko. To vám pak řekne, jaké chyby (pokud existují) jsou ve vašem Pythonu.

Přepněte na terminál a spusťte skript:

python check_messages.py

Tento příkaz spustí váš skript. Zkuste ručně změnit některé e-maily ve složce Doručená pošta jako nepřečtený stav a znovu spusťte skript - měli byste vidět, jak se rozsvítí nebo zhasne kontrolka LED, která odráží vaši doručenou poštu.

Nastavení Cron

Nyní, když skript funguje, je čas jej automatizovat. Nejjednodušší způsob, jak toho dosáhnout, je přes cron práci. Úlohy Cron se používají k plánování úloh a skriptů, jako jsou automatické zálohy. Otevřete Crontab (seznam naplánovaných úkolů):

crontab -e

Pokud již nejsou naplánovány žádné naplánované úlohy, bude tento soubor prázdný (může obsahovat dokumentaci nebo komentáře, před nimiž je a “#”). Pokud zde již máte záznamy, jednoduše zadejte nový příkaz na nový řádek:

* * * * * python ~ / pi / Dokumenty / gmail_python / check_messages.py

Pět “hvězdy” (“* * * * *”) určete, jak často se má úloha spouštět (zde si můžete opravdu vychutnat, např. každou druhou středu ve 2,00). Těchto pět hvězd určuje, že úkol by měl být spuštěn každou minutu. Toto je nejmenší povolený interval (více informací o plánování cronjobů Jak naplánovat úlohy v Linuxu s Cronem a Crontabem Jak naplánovat úkoly v Linuxu s Cronem a Crontabem Schopnost automatizovat úkoly je jednou z těch futuristických technologií, které jsou již tady. Každý Linux uživatel může těžit z plánování systému a uživatelských úkolů, díky cron, snadno použitelné službě na pozadí.). další, “krajta” řekne plánovači, aby provedl skript jako soubor pythonu. Konečně, “~ / pi / Dokumenty / gmail_python / check_messages.py” je absolutní cesta ke skriptu - relativní cesta nebude fungovat.

Nyní byste měli mít své vlastní oznamovací světlo Gmailu! Bylo by docela jednoduché upravit to tak, aby se hledaly zprávy na základě jiného požadavku nebo filtru (zde se dozvíte, jak používat filtry. 10 E-mailové problémy, které můžete vyřešit pomocí Gmail filtrů 10 E-mailové problémy, které můžete vyřešit pomocí Gmail filtrů „Chcete procházet svou doručenou poštu rychleji než kdy jindy? Vyzkoušejte některé z těchto skvělých filtrů Gmailu, abyste viděli rozdíl.), Nebo spusťte jiný kus kódu - možná byste si mohli vytvořit Twitter Twitter, který bude tweety na základě e-mailů (další informace o stavba robota Pi Twitter Jak se staví malina Pi Twitter Bot Jak se staví malina Pi Twitter Bot Twitter je největším úložištěm krátkých zpráv od lidí, kteří nemají co říct - a nyní také můžete přispět k tomuto epickému projektu automatizovanou Twitter bot, poháněný vaší Raspberry…).

Nakonec však kódování oznamovacího políčka skončíte, ráda bych věděla, jak to v komentářích jde!




Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.

O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.