Oglas

Twitter je najveće skladište kratkih poruka na svijetu od ljudi koji nemaju što za reći - a sada to možete i vi doprinijeti tom epskom projektu s automatiziranim Twitterovim botom, pokretan vašim Raspberry Pi. Šalim se, naravno – neki zapravo tweet zanimljivosti Kako pomoću Twittera potražiti mentore na svom području interesaU stvarnom svijetu mentor je mudri učitelj koji nekoga podržava i vodi i pomaže im u maksimalnom iskorištavanju svojih potencijala. U internetskom svijetu, bili biste sretni kada biste pronašli nekoga tko će ... Čitaj više . Ipak nisam jedan od njih - svoj rudnik koristim za besramnu promociju proizvoda u zamjenu za besplatne stvari, natječaje i automatsko objavljivanje novih epizoda našeg vlastitog Technophilia Podcasta. Što god - moji sljedbenici me vole!

'w0lfiesmith Mrzim vaš Twitter račun. Tako puno.

- Justin Pot (@jhpot) 21. kolovoza 2013

Sad ću dodati korisnosti mog osobnog Twittera tako što ću Raspberry Pi automatski tutiti trenutnu temperaturu CPU-a svaki sat i sliku web kamere!

instagram viewer

Početak rada

Ovaj projekt koristi Python; jednostavan programski jezik idealan za samostalne projekte. Počet ćemo instaliranjem Twython na Pi - Python modul za povezivanje s Twitterom; postavljanje Twitter aplikacije "aplikacija" za dobivanje API ključa; a zatim idite na izradu Pi tweet stvari u naše ime. Bit će tako zabavno!

Radim to na Raspianu - ali u teoriji bi to trebalo raditi na bilo kojem Na OS-u utemeljeni na Linuxu imate Pi 11 Operativni sustavi koji rade na vašem Raspberry PiBez obzira na projekt Raspberry Pi, za to postoji operativni sustav. Pomažemo vam da pronađete najbolje Raspberry Pi OS za svoje potrebe. Čitaj više . Ako već niste, postavite SSH kako bismo se mogli daljinski prijavljivati ​​i izvršavati naredbe konzole.

Instaliranje Twythona

Dobro je prvo pokrenuti ažuriranja. Kopirajte i zalijepite sljedeće komande jednu po jednu - većina će zahtijevati potvrdu.

sudo apt-get update. sudo apt-get nadogradnju. sudo apt-get install python-setuptools. sudo easy_install pip. sudo pip uvesti twython. 

Registracija Twitter aplikacije

Da bismo koristili Twitter API - odnosno REST sučelje koje ćemo koristiti za objavljivanje novih tweeta i općenito interakciju s Twitterom izvan Twitter web stranice - morat ćemo registrirati novu aplikaciju. Učiniti s ove veze - ne trebate odrediti URL povratnog poziva i samo napravite web mjesto ako želite.

Novi-twitter-app

Jednom kada završite, vidjet ćete nešto nalik ovom - ti su ključevi jedinstveni za vas.

twitter-app

Aplikacija je prema zadanim postavkama postavljena samo za čitanje, tako da nećemo moći objavljivati ​​tweetove bez da to promijenimo Čitati i pisati. Idite na karticu Postavke i promijenite Vrsta aplikacije.

čitanje i pisanje pristupom

Nakon spremanja vratite se natrag Detalji i kliknite gumb na dnu do stvorite OAuth pristupni token - ovo vašoj aplikaciji omogućuje pristup vašem Twitter računu. Osvježite i ostavite stranicu otvorenu za kasnije - trebat ćemo kopirati zalijepiti neke od tih tipki za minutu.

pristupa token

Stvorite svoj Python projekt

Započnite izradom novog imenika u kojem ćete smjestiti svoj Tweet projekat, a zatim stvorite novu datoteku.

mkdir SillyTweeter. cd SillyTweeter. sudo nano SillyTweeter.py. 

Očito ga možete nazvati kako god želite.

U uređivaču teksta koji se pojavi kopirajte i zalijepite sljedeće, zamjenjujući potrošački ključ odgovarajućim ključem sa stranice aplikacije Twitter, kojeg smo ostavili otvorenog ranije. Svaka tipka okružena je pojedinačnim navodima, stoga svakako ne propustite ih. Primjetite to PRISTUPNI KLJUČ naziva se Pristupni žeton na stranici aplikacije Twitter.

#! / usr / bin / env python. import sys. iz uvoza Twython. CONSUMER_KEY = '*************** VAŠI PODACI *****************' CONSUMER_SECRET = '*************** VAŠI PODACI *****************' ACCESS_KEY = '*************** VAŠI PODACI *****************' ACCESS_SECRET = '*************** VAŠI PODACI *****************' api = Twython (CONSUMER_KEY, CONSUMER_SECRET, ACCESS_KEY, ACCESS_SECRET) api.update_status (status = sys.argv [1])

Pritisnite Ctrl-X i pritisnite Y za izlaz i spremanje datoteke. Učinite ga izvedljivom sljedećom naredbom (zamijenite ime datoteke Python ako ste odabrali nešto drugo)

sudo chmod + x SillyTweeter.py. 

Sada biste trebali testirati svoju sposobnost objavljivanja tweeta poput:

python SillyTweeter.py "Pozdrav svima, ovo je moj Raspberry Pi koji tweeting vas više gluposti"

Tweetavanje vašeg temp. CPU-a

Sada kada možete objavljivati ​​bilo kakve gluposti koje želite, prilagodimo aplikaciju tako da ugrabi trenutnu temperaturu CPU-a, jer ću biti proklet ako svijet ne treba to znati svakih sat vremena.

Započnite dodavanjem još jednog uvoza za os biblioteku:

import os

Zatim dodajte sljedeće retke, zamjenjujući prethodni api.update_status iz gornjeg primjera.

cmd = '/ opt / vc / bin / vcgencmd mjera_temp' linija = os.popen (cmd) .readline (). strip () temp = line.split ('=') [1] .split ("'") [0] api.update_status (status = 'Moja trenutna temperatura CPU-a je' + temp + 'C')

Neću previše objašnjavati ovaj kôd jer to zapravo i nije važno - izvršava naredbu koja hvata temperatura, a zatim podijeli izlaz da biste izvukli broj i tweeta s prilagođenim poruka. Možete pronaći kompletan primjer kod ovdje.

Tweetanje slika web kamere

Sada napravimo nešto stvarno korisno; idemo tweet slika web kamere. Srećom, Twython podržava API funkciju update_status_with_media, što stvari čini prilično jednostavnima.

Uključite USB web kameru u vaš uređaj i provjerite je li prepoznata sa naredbom:

ls / dev / video *

ako vidiš video0, imaš sreće Koristio sam Playstation 3 PSEye kameru i ona je radila sasvim u redu bez ikakvih dodatnih nogu.

Također ćemo koristiti pygame knjižnice za fotografiranje; dodajte sljedeće retke odmah nakon postojećih izjava o uvozu:

uvoz pigame. uvoz pygame.camera. s uvoza pygame.locals * pygame.init () pygame.camera.init () cam = pygame.camera. Kamera ( "/ dev / video0", (640480)) cam.start () image = cam.get_image () pygame.image.save (slika, 'webcam.jpg')

Ukratko, inicijalizirali ste web kameru u određenoj rezoluciji (možda ćete trebati podesiti da je to stvarno stara kamera), snimili sliku i spremili je kao jpg. Upravo ćemo zamijeniti istu webcam.jpg pri svakom pokretanju aplikacije.

Na kraju, prilagodite liniju update_status na sljedeće:

photo = open ('webcam.jpg', 'rb') api.update_status_with_media (medija = fotografija, status = 'Moje RPi sad tweeting slike =>')

Naravno, možete ponovo promijeniti statusni tekst na trenutnu temperaturu CPU-a, ako želite. Kompletan kod za to primjer je ovdje.

Možete li to ponoviti?

Twitter bot je koristan samo ako se pokreće više puta, automatski; ne želite sjediti tamo izvršavajući naredbu svaki sat. Da bismo to postigli, upotrijebimo značajku planiranja CRON-a Pi (Što je posao CRON-a? Automatizirajte sigurnosnu kopiju Wordpressa pomoću jednostavnog skriptiranja Shell & CRONProšli put kad smo razgovarali o sigurnosnim kopijama Wordpressa, pokazao sam vam kako je nevjerojatno lako stvoriti sigurnosnu kopiju cijele baze podataka i datoteka, iako SSH sa samo nekoliko naredbi. Ovaj put ću pokazati ... Čitaj više )

sudo crontab -e

Zalijepite u ovu liniju, da biste radili svaki sat.

* / 60 * * * * python /home/pi/SillyTweeter/SillyTweeter.py

Promijenite to u * * * * * ako želite da se pokreće svake minute i budite spremni izgubiti sljedbenike brže od Twitter računa koji brzo gubi sljedbenike.

To je za danas Sretna sam što sam doprinijela većoj budnosti ogromnom bogatstvu beskorisnih bajtova na Internetu, a nadam se da i vi! Izrazite zahvalnost za ovaj tutorial od cvrkut, a zatim nam javite o čemu će vaš vlastiti Twitter-ov bot objavljivati ​​u komentarima.

Kreditna slika: adafruit / flickr

James je diplomirao iz umjetne inteligencije i certificiran je CompTIA A + i Network +. Vodeći je programer MakeUseOf-a, a svoje slobodno vrijeme provodi igrajući VR paintball i boardgames. Gradio je računala još od djeteta.