reklama
Twitter je největším úložištěm krátkých zpráv od lidí, kteří nemají co říci - a nyní také můžete přispějte k tomuto epickému projektu pomocí automatizovaného robota na Twitteru, který využívá vaše Raspberry Pi. Dělám si srandu, samozřejmě – někteří lidé skutečně píší zajímavé věci Jak používat Twitter k hledání mentorů ve vaší oblasti zájmuVe skutečném světě je mentor moudrý učitel, který někoho podporuje a vede, a pomáhá jim maximalizovat jejich potenciál. Ve světě online byste měli štěstí, když najdete někoho, kdo ... Přečtěte si více . Nejsem však ani jeden z nich - svůj důl využívám k propagaci nestydatých produktů výměnou za bezplatné věci, soutěžní příspěvky a automatické zveřejňování nových epizod naší vlastní Technophilia Podcast. Cokoli - moji následovníci mě milují!
@ w0lfiesmith Nesnáším váš účet Twitter. Tak moc.
- Justin Pot (@jhpot) 21. srpna 2013
Nyní se přidám k užitečnosti svého osobního streamu na Twitteru tím, že nechám Raspberry Pi automaticky každou hodinu tweetovat svou aktuální teplotu procesoru a obrázek z webové kamery!
Začínáme
Tento projekt používá Python; jednoduchý programovací jazyk ideální pro kutily. Začneme instalací Twython na Pi - modul Python pro propojení s Twitterem; nastavení aplikace Twitter na získání klíče API; pak pokračujte v tom, abychom udělali věci pro pí pí v našem zastoupení. Bude to tak zábavné!
Dělám to na Raspianovi - ale mělo by to teoreticky fungovat na jakémkoli Linux na OS máte na Pi 11 Operační systémy, které běží na vašem Raspberry PiAť už je váš projekt Raspberry Pi jakýkoli, existuje pro něj operační systém. Pomůžeme vám najít nejlepší Raspberry Pi OS pro vaše potřeby. Přečtěte si více . Pokud jste tak ještě neučinili, ujistěte se, že jste nastavili SSH, abychom se mohli vzdáleně přihlásit a provádět příkazy konzoly.
Instalace Twythonu
Je vhodné nejprve spustit aktualizace. Zkopírujte a vložte následující příkazy po jednom - většina bude vyžadovat potvrzení.
aktualizace sudo apt-get. sudo apt-get upgrade. sudo apt-get install python-setuptools. sudo easy_install pip. sudo pip nainstalovat twython.
Registrace aplikace Twitter
Aby bylo možné používat rozhraní Twitter API - tj. Rozhraní REST, které používáme k publikování nových tweetů a obecně interakci s Twitterem mimo web Twitter -, musíme si zaregistrovat novou aplikaci. Udělej to z tohoto odkazu - nemusíte specifikovat URL zpětného volání a pokud chcete, vytvořte pouze web.
Jakmile to uděláte, uvidíte něco podobného - tyto klíče jsou pro vás jedinečné.
Ve výchozím nastavení je aplikace nastavena pouze na čtení, takže nebudeme moci publikovat tweety, aniž bychom to změnili na Číst a psát. Přejděte na kartu Nastavení a změňte Typ aplikace.
Jakmile je uložen, vraťte se zpět do Podrobnosti a klikněte na tlačítko dole vytvořte přístupový token OAuth - to umožňuje vaší aplikaci přístup k vašemu vlastnímu účtu Twitter. Obnovte a nechte stránku otevřenou pro pozdější - některé z těchto klíčů musíme zkopírovat za minutu.
Vytvořte svůj Python projekt
Začněte vytvořením nového adresáře pro uložení projektu Tweet a poté vytvořte nový soubor.
mkdir SillyTweeter. cd SillyTweeter. sudo nano SillyTweeter.py.
Můžete to samozřejmě nazvat, jak chcete.
V textovém editoru, který se objeví, zkopírujte a vložte následující a nahraďte spotřebitelský klíč relevantním klíčem ze stránky aplikace Twitter, kterou jsme dříve otevřeli. Každý klíč je obklopen jednoduchými uvozovkami, takže je určitě nenechte si ujít. Všimněte si, že PŘÍSTUPOVÝ KLÍČ se označuje jako Přístupový token na stránce aplikace Twitter.
#! / usr / bin / env python. importovat sys. z Twythonu import Twythonu. CONSUMER_KEY = '**************** VAŠE ÚDAJE *****************' CONSUMER_SECRET = '***************** VAŠE ÚDAJE *****************' ACCESS_KEY = '**************** VAŠE ÚDAJE ****************** ACCESS_SECRET = '**************** VAŠE ÚDAJE *******************' api = Twython (CONSUMER_KEY, CONSUMER_SECRET, ACCESS_KEY, ACCESS_SECRET) api.update_status (status = sys.argv [1])
Stiskněte Ctrl-X a stisknutím Y ukončete a uložte soubor. Aby byl spustitelný pomocí následujícího příkazu (nahrazení názvu souboru Python, pokud jste si vybrali něco jiného)
sudo chmod + x SillyTweeter.py.
Nyní byste měli mít možnost otestovat svou schopnost zveřejňovat tweety takto:
python SillyTweeter.py 'Ahoj všichni, tohle je můj Raspberry Pi tweeting you more nonsense'
Tweeting váš procesor Temp
Nyní, když můžete zveřejnit jakýkoli nesmysl, upravte aplikaci tak, aby zachytila aktuální teplotu procesoru, protože budu zatracená, pokud to svět nebude potřebovat každou hodinu.
Začněte přidáním dalšího importu pro knihovnu os:
import os
Poté přidejte následující řádky a nahrazte předchozí api.update_status z výše uvedeného příkladu.
cmd = '/ opt / vc / bin / vcgencmd measure_temp' line = os.popen (cmd) .readline (). strip () temp = line.split ('=') [1] .split ("'") [0] api.update_status (status = 'Moje aktuální teplota procesoru je' + temp + 'C')
Tento kód příliš nevysvětlím, protože na tom opravdu nezáleží - spustí příkaz, který popadne teplotu, pak rozdělí výstup, aby extrahoval číslo, a tweety s vlastním zpráva. Najdete kompletní příklad kódu tady.
Fotografie Tweeting webové kamery
Nyní udělejme něco opravdu užitečného; jdeme tweetovat obrázky z webkamer. Naštěstí Twython podporuje funkci API update_status_with_media, což dělá věci poměrně jednoduchými.
Připojte webovou kameru USB k zařízení a zkontrolujte, zda byla rozpoznána příkazem:
ls / dev / video *
Pokud vidíte video0, máš štěstí. Použil jsem kameru Playstation 3 PSEye a fungovalo to dobře bez dalších nánoží.
Budeme také používat pygame knihovny pro fotografování; hned za existující příkazy k importu přidejte následující řádky:
importovat pygame. import pygame.camera. z importu pygame.locals * pygame.init () pygame.camera.init () cam = pygame.camera. Kamera ("/ dev / video0", (640 480)) cam.start () image = cam.get_image () pygame.image.save (obrázek, 'webcam.jpg')
Stručně řečeno, inicializovali jste webovou kameru ve specifickém rozlišení (možná budete muset upravit toto, je to opravdu stará kamera), uchopil obrázek a uložil jej jako jpg. Při každém spuštění aplikace přepíšeme stejnou webovou kameru.jpg.
Nakonec upravte řádek update_status na čtení:
photo = open ('webcam.jpg', 'rb') api.update_status_with_media (media = photo, status = 'Moje RPi budou tweeting images now =>')
Pokud chcete, můžete samozřejmě změnit stavový text na aktuální teplotu procesoru. Kompletní kód příklad je zde.
Můžeš to zopakovat?
Twitter bot je užitečný pouze v případě, že běží automaticky vícekrát; nechceš tam sedět a spouštět příkaz každou hodinu. Abychom toho dosáhli, použijeme funkci plánování CR CR od Pi (Co je CRON? Automatizujte zálohování Wordpressu pomocí jednoduchého skriptování prostředí a CRONKdyž jsme naposledy mluvili o zálohách Wordpressu, ukázal jsem vám, jak neuvěřitelně snadné bylo zálohovat celou databázi a soubory, i když SSH, pouze pomocí několika příkazů. Tentokrát ukážu ... Přečtěte si více )
sudo crontab -e
Vložte do tohoto řádku, aby se spouštěl každou hodinu.
* / 60 * * * * python /home/pi/SillyTweeter/SillyTweeter.py
Změňte to na * * * * * chcete-li, aby se spouštěl každou minutu, a buďte připraveni ztratit následovníky rychleji než účet Twitter, který následovníky rychle ztratí.
To je pro dnešek. Jsem rád, že jsem přispěl více zdvořilosti k obrovskému bohatství zbytečných bytů na internetu, a doufám, že i vy! Ukažte své uznání za tento tutoriál tweeting to, a dejte nám vědět, o čem bude váš komentář Twitter v komentářích tweetovat.
Obrazový kredit: adafruit / flickr
James má bakalářský titul v oboru umělé inteligence a je držitelem certifikátu CompTIA A + a Network +. Je hlavním vývojářem MakeUseOf a tráví svůj volný čas hraním VR paintballu a deskových her. Staví počítače od dětství.