Oglas

Twitter je največje svetovno skladišče kratkih sporočil ljudi, ki jim nimajo ničesar povedati - in zdaj lahko tudi vi prispevajte k temu epskemu projektu z avtomatiziranim Twitter-jevim botom, ki ga poganja vaš Raspberry Pi. Šalim se seveda – nekateri dejansko tvitajo zanimive stvari Kako uporabljati Twitter za iskanje mentorjev na vašem območju zanimanjaV resničnem svetu je mentor modri učitelj, ki nekoga podpira in vodi in mu pomaga pri maksimiranju njihovih potencialov. V spletnem svetu bi imeli veliko srečo, da bi našli nekoga, ki bo ... Preberi več . Nisem pa eden izmed njih - svoj rudnik uporabljam za brezsramno promocijo izdelkov v zameno za brezplačne stvari, prijave na tekmovanja in samodejno objavljanje novih epizod našega lastnega Technophilia Podcast. Karkoli že - moji sledilci me imajo radi!

@ w0lfiesmith Sovražim vaš račun na Twitterju. Zelo.

- Justin Pot (@jhpot) 21. avgusta 2013

Zdaj bom dodal uporabnost mojega osebnega toka Twitterja, tako da bom Raspberry Pi vsako uro samodejno tvitnil svojo trenutno temperaturo CPU-ja in sliko v spletni kameri!

instagram viewer

Uvod

Ta projekt uporablja Python; preprost programski jezik, idealen za samostojne projekte. Začeli bomo z namestitvijo Twython na Pi - modul Python za povezovanje s Twitterjem; nastavitev Twitterjeve aplikacije za pridobitev ključa API; nato pa pojdite na Pi tweet stvari v našem imenu. To bo tako zabavno!

To delam na Raspianu - v teoriji pa bi moral delovati na katerem koli OS s sistemom Linux, ki ga imate v Pi 11 Operacijski sistemi, ki delujejo na vašem Raspberry PiNe glede na vaš projekt Raspberry Pi, zanj obstaja operacijski sistem. Pomagamo vam najti najboljše Raspberry Pi OS za vaše potrebe. Preberi več . Če še niste, se prepričajte, da ste nastavili SSH, da se bomo lahko na daljavo prijavili in izvajali ukaze konzole.

Namestitev Twythona

Dobro je najprej zagnati posodobitve. Kopirajte in prilepite naslednje ukaze enega za drugim - večina bo zahtevala potrditev.

sudo apt-get update. nadgraditi sudo apt-get. sudo apt-get install python-setuptools. sudo easy_install pip. sudo pip namestite twython. 

Registracija Twitter aplikacije

Za uporabo API-ja za Twitter - to je vmesnik REST, ki ga bomo uporabljali za objavljanje novih tvitov in na splošno interakcijo s Twitterjem zunaj spletnega mesta Twitter - bomo morali registrirati novo aplikacijo. Naredi to s te povezave - ne potrebujete naslova za povratni klic in preprosto sestavite spletno mesto, če želite.

nova-twitter-aplikacija

Ko končate, boste videli nekaj podobnega temu - ti ključi so za vas edinstveni.

twitter-app

Aplikacija je privzeto nastavljena samo na branje, zato ne bomo mogli objavljati tvitov, ne da bi to spremenili v Beri in piši. Pojdite na zavihek Nastavitve in spremenite Vrsta aplikacije.

branje-pisanje-dostop

Ko ste shranjeni, se vrnite nazaj v Podrobnosti in kliknite gumb na dnu do ustvarite dostopni žeton OAuth - to aplikaciji omogoča dostop do vašega Twitter računa. Osveži in pusti stran odprto za pozneje - nekaj minut bomo morali kopirati prilepiti.

dostopni žeton

Ustvari svoj Python Project

Začnite z ustvarjanjem novega imenika, v katerem boste nastavili svoj projekt Tweet, nato ustvarite novo datoteko.

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

Lahko ga pokličete, karkoli želite, očitno.

V urejevalniku besedil, ki se prikaže, kopirajte in prilepite naslednje, tako da potrošniški ključ zamenjate z ustreznim ključem na strani aplikacije Twitter, ki smo ga pustili odprtega prej. Vsako tipko obkrožajo posamezni narekovaji, zato jih ne pozabite. Upoštevajte to ACCESS_KEY se imenuje kot Dostopni žeton na strani aplikacije Twitter.

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

Pritisnite Ctrl-X in pritisnite Y, da zapustite datoteko in jo shranite. Naj bo izvedljivo z naslednjim ukazom (zamenjajte ime datoteke Python, če ste izbrali nekaj drugega)

sudo chmod + x SillyTweeter.py. 

Zdaj bi lahko preizkusili svojo sposobnost objavljanja tvitov tako:

python SillyTweeter.py "Pozdravljeni vsi, to je moj malin Pi, češ, še več neumnosti"

Tweing Your CPU Temp

Zdaj, ko lahko objavljate kakršnekoli neumnosti, ki jih želite, prilagodite aplikacijo tako, da bo prevzela trenutno temperaturo CPU-ja, ker bom prekleta, če svetu tega ne bo treba vedeti vsako uro.

Začnite z dodajanjem še enega uvoza za knjižnico os:

import os

Nato dodajte naslednje vrstice in nadomestite prejšnji api.update_status iz zgornjega primera.

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

Ne bom preveč razlagal te kode, ker v resnici ni pomembno - izvaja ukaz, ki ga zgrabi temperatura, nato pa razdeli izhod, da izvleče številko, in tweeta po meri sporočilo. Lahko najdete popolno Primer kode tukaj.

Tweeting Spletna kamera

Zdaj pa naredimo nekaj res koristnega; bomo tvitnili slike spletnih kamer. K sreči Twython podpira funkcijo API update_status_with_media, zaradi česar so stvari precej preproste.

Priključite spletno kamero USB v napravo in preverite, ali je prepoznana z ukazom:

ls / dev / video *

če vidiš video0, imaš srečo Uporabil sem kamero Playstation 3 PSEye in je deloval brezhibno, brez dodatnih nog.

Uporabili bomo tudi piragame knjižnice za fotografiranje; dodajte naslednje vrstice takoj za obstoječimi izjavami o uvozu:

uvozi piggame. uvoz pygame.camera. iz pygame.locals import * pygame.init () pygame.camera.init () cam = pygame.camera. Kamera ("/ dev / video0", (640.480)) cam.start () image = cam.get_image () pygame.image.save (slika, 'webcam.jpg')

Skratka, spletno kamero ste inicializirali z določeno ločljivostjo (morda boste morali prilagoditi, da gre za res staro kamero), posneli sliko in jo shranili kot jpg. Pravkar bomo prepisali isti webcam.jpg vsakič, ko se aplikacija zažene.

Končno prilagodite vrstico update_status tako, da se glasi:

fotografija = odprta ('webcam.jpg', 'rb') api.update_status_with_media (mediji = fotografija, status = 'Zdaj moje slike v tvitanju =>')

Seveda lahko po potrebi spremenite besedilo stanja na trenutno temperaturo CPU-ja. Celotna koda za to primer je tukaj.

Lahko ponovite?

Twitter bot je uporaben samo, če se samodejno zažene večkrat, samodejno; nočete sedeti tam in izvajati ukaz vsako uro. Da bi to dosegli, uporabite funkcijo načrtovanja CRON-a Pi (Kaj je CRON delo? Avtomatizirajte varnostno kopijo Wordpressa s preprostim skriptom školjk in CRONKo smo se zadnjič pogovarjali o varnostnih kopijah Wordpressa, sem vam pokazal, kako neverjetno enostavno je bilo varnostno kopirati celotno bazo podatkov in datotek, čeprav SSH z le nekaj ukazi. Tokrat bom pokazal ... Preberi več )

sudo crontab -e

Prilepi v to vrstico, da teče vsako uro.

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

Spremenite to v * * * * * če želite, da se začne izvajati vsako minuto, in bodite pripravljeni izgubiti sledilce hitreje kot Twitter račun, ki slednje hitro izgubi.

To je za danes Vesel sem, da sem prispeval večjo hudomušnost k ogromnemu bogastvu nekoristnih bajtov na internetu in upam, da tudi vi to storite! Izkažite svojo zahvalo za to vadbo tvitniti, nato pa nam v komentarjih sporočite, kaj bo vaš lastni Twitter bot tvitnil.

Kreditna slika: adafruit / flickr

James ima doktorat iz področja umetne inteligence in ima certifikat CompTIA A + in Network +. Je vodilni razvijalec MakeUseOf in svoj prosti čas preživlja z igranjem VR paintball in družabnih iger. Z računalniki gradi že od malih nog.