Cum de a construi o Zmeură Pi Twitter Bot

Cum de a construi o Zmeură Pi Twitter Bot / DIY

Twitter este cel mai mare depozit din lume de mesaje scurte de la oameni care nu au nimic de spus - și acum și dvs. puteți contribui la acest proiect epic cu un bot automat Twitter, alimentat de către Raspberry Pi. Glumeam, desigur, unii oameni, de fapt, tweet lucruri interesante Cum să utilizați Twitter pentru a căuta mentori în zona dvs. de interes Cum să utilizați Twitter pentru a căuta mentori în zona dvs. de interes În lumea reală, un mentor este un înțelept profesor care susține și ghidează pe cineva și îi ajută să-și maximizeze potențialul. În lumea online, ați fi foarte norocoși să găsiți pe cineva care va ... Citește mai mult. Nu sunt unul dintre ei, totuși - îmi folosesc mina pentru promovarea produselor nerușinate în schimbul unor lucruri gratuite, intrări în competiții și auto-postarea unor noi episoade ale propriului nostru Podium Technophilia. Orice - adepții mei mă iubesc!

@ w0lfiesmith Îmi urăsc contul de Twitter. Atat de mult.

- Justin Pot (@jhpot) 21 august 2013

Acum voi adăuga la utilitatea fluxului meu personal de Twitter prin faptul că un Raspberry Pi va tweet automat temperatura curentă a CPU-ului la fiecare oră și o imagine a camerei web!

Noțiuni de bază

Acest proiect utilizează Python; un simplu limbaj de programare ideal pentru proiecte DIY. Vom începe prin instalarea lui Twython pe modulul Pi - a Python pentru interfața cu Twitter; crearea unui Twitter “cerere” pentru a obține o cheie API; apoi du-te pe a face chestii Pi tweet în numele nostru. Va fi atât de distractiv!

Fac acest lucru pe Raspian - dar ar trebui sa functioneze teoretic pe orice sistem de operare bazat pe Linux pe Pi 11 Sisteme de operare pe care le poti rula pe Raspberry Pi 11 Sisteme de operare pe care le poti rula pe Raspberry Pi Hardware-ul lui Raspberry Pi este doar unul laterală a monedei. Iată câteva sisteme de operare Raspberry Pi diferite pe care le puteți instala. Citeste mai mult . Dacă nu ați făcut-o deja, asigurați-vă că ați configurat SSH, astfel încât să putem conecta la distanță și să executăm comenzi de consola.

Instalarea Twython

Este o idee bună să rulați mai întâi actualizările. Copiați și lipiți următoarele comenzi una câte una - majoritatea vor necesita confirmare.

sudo apt-get actualizare sudo apt-get upgrade sudo apt-get instalare python-setuptools sudo easy_install pip sudo pip instalare twython 

Înregistrarea unei aplicații Twitter

Pentru a folosi API-ul Twitter - adică interfața REST pe care o vom folosi pentru a posta Tweets noi și, în general, pentru a interacționa cu Twitter în afara site-ului Twitter - va trebui să înregistrăm o nouă aplicație. Faceți acest lucru din acest link - nu este necesar să specificați o adresă URL de apel invers și să creați un site web dacă doriți.

Veți vedea ceva asemănător cu acest lucru odată ce ați terminat - aceste chei sunt unice pentru dvs..

În mod prestabilit, aplicația este setată numai pentru citire, deci nu vom putea publica tweet-uri fără a le schimba Citeste si scrie. Accesați fila Setări și schimbați Tipul aplicației.

După salvare, reveniți la Detalii și faceți clic pe butonul din partea de jos pentru a creați un jeton de acces OAuth - acest lucru oferă aplicației dvs. acces la propriul cont Twitter. Reîmprospătați și lăsați pagina deschisă pentru mai târziu - va trebui să copiați o parte din aceste chei într-un minut.

Creați-vă proiectul Python

Începeți prin a crea un nou director pentru a găzdui proiectul dvs. Tweet, apoi creați un fișier nou.

mkdir SillyTweeter cd SillyTweeter sudo nano SillyTweeter.py 

Poți să spui ceea ce îți place, evident.

În editorul de text care apare, copiați și lipiți următoarele, înlocuind cheia de consum cu cheia relevantă de pe pagina de aplicații Twitter pe care am lăsat-o deschisă mai devreme. Fiecare cheie este înconjurată de citate unice, deci nu uitați să nu le pierdeți. Rețineți că CHEIE DE ACCES este denumită Jeton de acces pe pagina aplicației Twitter.

#! / usr / bin / env Python import sys din twython import Twython CONSUMER_KEY = '*************** DATELE DUMNEAVOASTRĂ *************** ** 'CONSUMER_SECRET =' *************** DATELE DUMNEAVOASTRĂ ***************** 'ACCESS_KEY =' ****** ********* DATELE DUMNEAVOASTRĂ ***************** '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 pe Y pentru a ieși și a salva fișierul. Faceți-o executabilă cu următoarea comandă (înlocuind numele fișierului Python dacă ați ales altceva)

sudo chmod + x SillyTweeter.py 

Acum ar trebui să vă puteți testa capacitatea de a posta tweets așa:

python SillyTweeter.py "Buna ziua tuturor, aceasta este Raspberry My tweeting tu mai prostii"

Tweeting Tempul CPU-ului

Acum, că puteți posta orice prostie de genul pe care doriți, să-l ajustăm pentru a apuca temperatura curentă a procesorului, pentru că voi fi blestemat dacă lumea nu are nevoie să știe că la fiecare oră.

Începeți prin adăugarea unui alt import pentru biblioteca os:

import os

Apoi adăugați următoarele linii, înlocuind api.update_status anterioară din exemplul de mai sus.

cmd = '/ opt / vc / bin / vcgencmd measure_temp' line = os.popen (cmd) .readline () 0] api.update_status (status = 'Temperatura curentă a procesorului este' + temp + 'C') 

Nu voi explica acest cod prea mult pentru că nu contează cu adevărat - rulează o comandă care captează temperatura, apoi împarte ieșirea pentru a extrage numărul și tweet-urile cu un mesaj personalizat. Puteți găsi exemplul complet aici.

Tweeting Webcam Pics

Acum hai să facem ceva cu adevărat util; vom face tweet webcam pics. Din fericire, Twython acceptă funcția API update_status_with_media, ceea ce face lucrurile destul de simple.

Conectați o cameră web USB în dispozitiv și verificați dacă a fost recunoscută cu comanda:

ls / dev / video *

dacă vezi video0, ai noroc. Am folosit o camă Playstation 3 PSEye și a funcționat foarte bine fără nici o lucrare suplimentară.

Vom folosi de asemenea pygame bibliotecile să facă o fotografie; adăugați următoarele linii imediat după declarațiile de import existente:

importul pygame importul pygame.camera de la pygame.locals importul * pygame.init () pygame.camera.init () cam = pygame.camera.Camera ("/ dev / video0", (640,480) cam.get_image () pygame.image.save (imagine, 'webcam.jpg') 

Pe scurt, ați inițializat camera web la o anumită rezoluție (este posibil să fie necesar să ajustați acest lucru este un cam foarte vechi), a rupt o imagine și a salvat-o ca jpg. Pur și simplu vom suprascrie același webcam.jpg de fiecare dată când aplicația este rulată.

În final, ajustați linia update_status pentru a citi:

photo = open ('webcam.jpg', 'rb') api.update_status_with_media (media = photo, status = "My RPi fi tweeting imagini acum =>") 

Desigur, puteți modifica din nou textul stadiului la temperatura curentă a CPU, dacă doriți. Codul complet al acestui exemplu este aici.

Poți sa repeti asta?

Un bot de Twitter este util numai dacă rulează de mai multe ori, automat; nu vrei să stai acolo, să conduci comanda în fiecare oră. Pentru a realiza acest lucru, sa folosim functia de planificare CRON a lui Pi (Ce este o sarcina CRON?) Automatizati-va Wordpress Backup cu Scripting Simplu Shell & CRON Automatizati-va Wordpress Backup cu Simple Shell Scripting & CRON Ultima data cand am vorbit despre Wordpress backups, v-am aratat cum incredibil de ușor a fost de a copia întreaga bază de date și fișiere, deși SSH cu doar câteva comenzi .. De data aceasta, am de gând să arate ... Citește 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 la * * * * * dacă doriți să ruleze în fiecare minut, și să fie pregătit să-și piardă adepții mai rapid decât un cont Twitter care pierde adepții rapid.

Asta e pentru ziua de azi. Sunt fericit că am contribuit cu mai multă prostie la bogăția bogată de inuți inutili de pe Internet și sper că și tu faci și tu! Afișați aprecierea dvs. pentru acest tutorial de tweeting-o, și apoi să ne comunicați ceea ce bot dvs. de Twitter propriu este de gând să tweet despre în comentariile.

Credit de imagine: adafruit / flickr

Explorați mai multe despre: Raspberry Pi, Twitter.