Publicitate
Twitter este cel mai mare depozit mondial de mesaje scurte de la oameni fără nimic de spus - și acum și tu poți contribuie la acel proiect epic cu un bot automat Twitter, alimentat de Raspberry Pi. Glumesc, desigur – unii oameni de fapt tweet lucruri interesante Cum să folosiți Twitter pentru a căuta mentori în zona dvs. de interesÎn lumea reală, un mentor este un profesor înțelept care sprijină și îndrumă pe cineva și îi ajută să-și maximizeze potențialul. În lumea online, ai fi foarte norocos să găsești pe cineva care să ... Citeste mai mult . Cu toate acestea, nu sunt unul - îmi folosesc a mea pentru promovarea produsului rușinos, în schimbul lucrurilor gratuite, al participărilor la concurs și la postarea automată a unor noi episoade din propriul nostru Podcast Technofilia. Indiferent - adepții mei mă iubesc!
@ w0lfiesmith Urăsc contul tău de Twitter. Atat de mult.
- Justin Pot (@jhpot) 21 august 2013
Acum am să adaug la utilitatea fluxului meu personal de Twitter prin faptul că un Raspberry Pi își va returna automat temperatura actuală a procesorului în fiecare oră și o poză web!
Noțiuni de bază
Acest proiect utilizează Python; un limbaj simplu de programare ideal pentru proiecte DIY. Vom începe prin instalare Twython pe Pi - un modul Python pentru interfațarea cu Twitter; crearea unei „aplicații” Twitter pentru a obține o cheie API; apoi du-te pe fă chestii de tweet Pi în numele nostru. Va fi atât de distractiv!
Fac asta pe Raspian - dar în teorie ar trebui să lucreze la oricare Sistemul de operare bazat pe Linux pe care îl aveți pe Pi 11 sisteme de operare care rulează pe zmeura dvs. PiIndiferent de proiectul dvs. Raspberry Pi, există un sistem de operare pentru acesta. Vă ajutăm să găsiți cel mai bun sistem de operare Raspberry Pi pentru nevoile dvs. Citeste mai mult . Dacă nu ați făcut-o deja, asigurați-vă că configurați SSH, astfel încât să ne putem conecta de la distanță și să executăm comenzi ale consolei.
Instalarea Twython
Este bine să rulați actualizările mai întâi. Copiați și lipiți următoarele comenzi pe rând - majoritatea vor necesita confirmare.
Actualizare sudo apt-get. upgrade sudo apt-get. sudo apt-get install python-setuptools. pip sudo easy_install. sudo pip instala twython.
Înregistrarea unei aplicații Twitter
Pentru a utiliza API-ul Twitter - adică interfața REST pe care o vom folosi pentru a posta noi Tweeturi și, în general, pentru a interacționa cu Twitter în afara site-ului Twitter, va trebui să înregistrăm o nouă aplicație. Fa aia din acest link - nu trebuie să specificați o adresă URL de returnare și să alcătuiți doar un site web dacă doriți.
Veți vedea ceva care seamănă cu asta după ce ați terminat - aceste chei sunt unice pentru dvs.
În mod implicit, aplicația este setată doar în citire, astfel încât nu vom putea publica tweet-uri fără să le modificăm Citeste si scrie. Accesați fila Setări și schimbați Tipul cererii.
Odată salvat, îndreptați-vă înapoi spre Detalii tab și faceți clic pe butonul din partea de jos a creați un jeton de acces OAuth - acest lucru oferă aplicației acces la propriul cont Twitter. Reîmprospătați și lăsați pagina deschisă pentru mai târziu - va trebui să copiem lipiți unele dintre aceste taste într-un minut.
Creați-vă proiectul Python
Începeți să faceți un nou director pentru a adăposti proiectul dvs. Tweet, apoi creați un nou fișier.
mkdir SillyTweeter. cd SillyTweeter. sudo nano SillyTweeter.py.
Poți să-l numești orice îți place, evident.
În editorul de text care apare, copiați și lipiți următoarele, înlocuind cheia consumatorului cu cheia relevantă din pagina aplicației Twitter pe care am lăsat-o deschisă mai devreme. Fiecare cheie este înconjurată de ghilimele unice, așa că asigurați-vă că nu vă lipsesc. Rețineți că CHEIE DE ACCES este denumit Jeton de acces pe pagina aplicației Twitter.
#! / usr / bin / env python. import sys. din import twython import Twython. CONSUMER_KEY = '*************** DATELE DVS *****************' CONSUMER_SECRET = '*************** DATELE DVS *****************' ACCESS_KEY = '*************** DATELE DVS *****************' ACCESS_SECRET = '*************** DATELE DVS *****************' api = Twython (CONSUMER_KEY, CONSUMER_SECRET, ACCESS_KEY, ACCESS_SECRET) api.update_status (status = sys.argv [1])
Apăsați Ctrl-X și apăsați Y pentru a ieși și a salva fișierul. Faceți-o executabilă cu următoarea comandă (înlocuind numele fișierului dvs. Python dacă ați ales altceva)
sudo chmod + x SillyTweeter.py.
Acum ar trebui să vă puteți testa capacitatea de a posta tweet-uri astfel:
python SillyTweeter.py „Bună toată lumea, aceasta este zmeura mea de pe Zmeu care îți răspunde mai mult prostii”
Tweeting-ul dvs. Temp. CPU
Acum că puteți posta orice fel de prostie doriți, ajustați aplicația pentru a prelua temperatura curentă a procesorului, deoarece voi fi blestemat dacă lumea nu trebuie să știe asta la fiecare oră.
Începeți prin a adăuga un alt import pentru biblioteca OS:
import os
Apoi adăugați următoarele linii, înlocuind api.update_status anterior din exemplul de mai sus.
cmd = '/ opt / vc / bin / vcgencmd măsură_temp' line = os.popen (cmd) .readline (). strip () temp = line.split ('=') [1] .split ("'" ") [0] api.update_status (status = 'Temperatura curentă a procesorului meu este' + temp + 'C')
Nu voi explica prea mult acest cod pentru că nu contează cu adevărat - rulează o comandă care apucă temperatura, apoi divizează ieșirea pentru a extrage numărul, și tweet-uri cu un personalizat mesaj. Puteți găsi completul exemplu de cod aici.
Fotografii de webcam-uri
Acum să facem ceva cu adevărat util; vom viziona fotografii de pe webcam. Din fericire, Twython acceptă funcția API update_status_with_media, ceea ce face lucrurile destul de simple.
Conectați o cameră web USB la dispozitivul dvs. și verificați dacă a fost recunoscută cu comanda:
ls / dev / video *
dacă vezi video0, ai noroc. Am folosit o cameră PSEye Playstation 3 și a funcționat bine, fără a mai avea vreo legătură.
De asemenea, vom folosi pygame bibliotecile pentru a face o poză; adăugați următoarele linii imediat după declarațiile de import existente:
import pygame import pygame.camera. de la pygame.locals import * pygame.init () pygame.camera.init () cam = pygame.camera. Camera ( "/ dev / video0", (640480)) cam.start () image = cam.get_image () pygame.image.save (imagine, 'webcam.jpg')
Pe scurt, ați inițializat camera web la o rezoluție specifică (poate trebuie să ajustați aceasta, ci este o cameră cu adevărat veche), a surprins o fotografie și a salvat-o ca jpg. Vom rescrie același webcam.jpg de fiecare dată când rulează aplicația.
În cele din urmă, ajustați linia update_status pentru a citi:
fotografie = deschis ('webcam.jpg', 'rb') api.update_status_with_media (media = fotografie, status = 'RPi-ul meu va fi tweeting imagini acum =>')
Desigur, puteți schimba din nou textul de stare la temperatura procesorului curent, dacă doriți. Codul complet pentru aceasta exemplu este aici.
Poți sa repeti asta?
Un bot Twitter este util numai dacă rulează de mai multe ori automat; nu vrei să stai acolo executând comanda la fiecare oră. Pentru a realiza acest lucru, să utilizăm funcția de programare CRON a Pi (Ce este un job CRON? Automatizați backup-ul dvs. Wordpress cu script-uri Shell simple și CRONUltima dată când am vorbit despre backup-urile Wordpress, v-am arătat cât de incredibil de ușor a fost să faceți backup pentru întreaga dvs. bază de date și fișiere, deși SSH cu doar câteva comenzi. De data asta, voi arăta ... Citeste mai mult )
sudo crontab -e
Lipiți în această linie, pentru a rula în fiecare oră.
* / 60 * * * * python /home/pi/SillyTweeter/SillyTweeter.py
Schimbă asta în * * * * * dacă doriți să fie difuzat în fiecare minut și fiți pregătiți să pierdeți adepții mai repede decât un cont de Twitter care pierde adepții rapid.
Asta este pentru ziua de azi. Sunt fericit că am contribuit mult mai mult la bogăția vastă de octeți inutili de pe Internet și sper că și tu! Arată-ți aprecierea pentru acest tutorial tweeting-oși apoi anunțați-ne despre ce va răspunde propriul dvs. bot pe Twitter în comentarii.
Credit imagine: Adafruit / flickr
James are licență în inteligență artificială și este certificat CompTIA A + și Network +. Este dezvoltatorul principal al MakeUseOf și își petrece timpul liber jucând VR paintball și boardgames. Construiește calculatoare de când era mic.