
Brian Curtis
0
4220
405
Twitter je najveće svjetsko spremište kratkih poruka od ljudi koji nemaju što za reći - i sada i vi možete doprinijeti tom epskom projektu s automatiziranim Twitter botom, koji pokreće vaš Raspberry Pi. Šalim se, naravno - neki ljudi zapravo tweetuju zanimljivosti Kako pomoću Twittera potražiti mentore u svom području interesa Kako pomoću Twittera potražiti mentore u vašem području interesa u stvarnom svijetu, mentor je mudar učitelja koji nekoga podržava i vodi i pomaže mu da poveća svoj potencijal. U internetskom svijetu, bili biste sretni kada biste našli nekoga ko ć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!
Početak rada
Ovaj projekt koristi Python; jednostavan programski jezik idealan za samostalne projekte. Počet ćemo instaliranjem Twythona na Pi - Python modul za povezivanje s Twitterom; postavljanje Twittera “primjena” dobiti ključ API-ja; a zatim idite na izradu Pi tweet stvari u naše ime. Bit će toliko zabavno!
Radim to na Raspianu - ali teoretski bi trebao raditi na bilo kojem Linux operativnom sustavu koji imate na operativnim sustavima Pi 11 Raspberry Pi Opera Operacijski sustavi Možete isprobati 11 Raspberry Pi operativnih sustava koji možete isprobati bez obzira na projekt Raspberry Pi, postoji operativni sustav sustav za to. Pomažemo vam da pronađete najbolje Raspberry Pi OS za vaše potrebe. , 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 install 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činite to s ove veze - ne morate navesti URL povratnog poziva, a samo želite napraviti web mjesto ako želite.
Čitat ćete nešto nalik ovom jednom kad završite - ti su ključevi jedinstveni za vas.
Aplikacija je prema zadanim postavkama postavljena samo za čitanje, tako da nećemo biti u mogućnosti objavljivati tweetove bez da to promijenimo u Čitati i pisati. Otvorite karticu Postavke i promijenite Vrsta aplikacije.
Nakon spremanja vratite se natrag Detalji i kliknite gumb na dnu do stvorite OAuth pristupni token - ovo omogućava vašoj aplikaciji pristup vlastitom Twitter računu. Osvježite i ostavite stranicu otvorenom za kasnije - morat ćemo kopirati zalijepiti neke od tih tipki za minutu.
Stvorite svoj Python projekt
Započnite izradom novog direktorija kako biste smjestili 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č s odgovarajućim ključem sa stranice aplikacije Twitter kojeg smo ostavili otvorene 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 from twython import 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 tweeting you more gluposti"
Tweetavanje vašeg temp. CPU-a
Sada kada možete objavljivati bilo kakve gluposti koje želite, prilagodimo aplikaciju tako da uhvati trenutnu temperaturu CPU-a, jer ću biti proklet ako svijet ne mora to znati svakih sat vremena.
Započnite dodavanjem drugog 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' line = 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 doista nije važno - on izvršava naredbu koja hvata temperaturu, a zatim raspodjeljuje izlaz da bi izvukao broj i podešava ga prilagođenom porukom. Kompletan primjer koda možete pronaći ovdje.
Tweetanje slika web kamere
Sada napravimo nešto stvarno korisno; idemo tweet slike 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:
import pygame import pygame.camera iz pygame.locals import * pygame.init () pygame.camera.init () cam = pygame.camera.Camera ("/ dev / video0", (640.480)) cam.start () image = cam.get_image () pygame.image.save (slika, 'webcam.jpg')
Ukratko, inicijalizirali ste web kameru u određenoj razlučivosti (možda ćete trebati podesiti da je to stvarno stara kamera), snimili sliku i spremili je kao jpg. Samo ćemo zamijeniti isti 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 (media = photo, status = "Moji RPi sad tweeting slike =>")
Naravno, možete ponovo promijeniti statusni tekst na trenutnu temperaturu CPU-a, ako želite. Kompletan kod ovog primjera nalazi se ovdje.
Možete li to ponoviti?
Twitter bot je koristan samo ako se pokreće više puta, automatski; ne želite sjediti ondje i izvršavati naredbu svakih sat vremena. Da bismo to postigli, iskoristimo značajku zakazivanja CRON-a Pi (Što je posao CRON-a? Automatizirajte sigurnosnu kopiju Wordpressa pomoću jednostavnog skripta školjke & CRON Automatizirajte sigurnosnu kopiju Wordpressa pomoću jednostavnog skriptiranja ljuske i CRON-a Posljednji put kad smo razgovarali o sigurnosnim kopijama Wordpressa, pokazao sam vam kako nevjerojatno lako bilo je sigurnosno kopirati cijelu bazu podataka i datoteka iako SSH sa samo nekoliko naredbi. Ovaj put ću pokazati ...)
sudo crontab -e
Zalijepite u ovaj redak 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 onda nam u komentarima javite o čemu će vaš vlastiti Twitter bot.
Kreditna slika: adafruit / flickr