Mainos

Twitter on maailman suurin ihmisten lyhytsanomien säilytystila, jolla ei ole mitään sanottavaa - ja nyt sinäkin voit osallistu siihen eeppiseen projektiin automatisoidulla Twitter-botilla, jonka käyttö on Raspberry Pi -laitteesi. Teen tosissani – Jotkut ihmiset tweettivät mielenkiintoisia asioita Kuinka käyttää Twitteriä etsimään mielenkiintoisia alueesi mentoreitaTodellisessa maailmassa mentori on viisas opettaja, joka tukee ja ohjaa joku ja auttaa häntä maksimoimaan potentiaalinsa. Verkkomaailmassa olisi erittäin onnekas löytää joku, joka ... Lue lisää . En kuitenkaan ole yksi heistä - käytän kaivokseni häpeämättömään tuotteiden markkinointiin vastineeksi ilmaisista tavaroista, kilpailutyöhön ja uusien jaksojen automaattiseen lähettämiseen omaan Technophilia Podcast -sovellukseen. Mitä tahansa - seuraajat rakastavat minua!

@ w0lfiesmith Vihaan Twitter-tiliäsi. Niin paljon.

- Justin Pot (@jhpot) 21. elokuuta 2013

Nyt lisään henkilökohtaisen Twitter-streamini hyödyllisyyteen ottamalla Raspberry Pi-sävellautaan automaattisesti senhetkisen suorittimen lämpötilan joka tunti ja verkkokameran kuvan!

instagram viewer

Päästä alkuun

Tämä projekti käyttää Pythonia; yksinkertainen ohjelmointikieli, joka on ihanteellinen DIY-projekteihin. Aloitamme asentamalla Twython Pi: llä - Python-moduuli vuorovaikutukseen Twitterin kanssa; Twitter-sovelluksen perustaminen API-avaimen saamiseksi; siirry sitten tekemään Pi-tweet-tavara meidän puolestamme. Se tulee olemaan niin hauskaa!

Teen tämän Raspianilla - mutta sen pitäisi teoriassa toimia kaikissa Linux-pohjainen käyttöjärjestelmä, joka sinulla on Pi: ssä 11 Raspberry Pi -laitteella toimivia käyttöjärjestelmiäOlipa Raspberry Pi -projektisi mikä tahansa, sille on käyttöjärjestelmä. Autamme sinua löytämään paras Raspberry Pi-käyttöjärjestelmä tarpeitasi varten. Lue lisää . Jos et vielä ole, varmista, että olet määrittänyt SSH: n, jotta voimme kirjautua sisään etäyhteyden kautta ja suorittaa konsolikomentoja.

Asennat Twythonin

Kannattaa ajaa päivitykset ensin. Kopioi ja liitä seuraavat komennot kerrallaan - useimmat vaativat vahvistuksen.

sudo apt-get -päivitys. sudo apt-get päivitys. sudo apt-get install python-setuptools. sudo easy_install pip. sudo pip install twython. 

Twitter-sovelluksen rekisteröiminen

Twitter-sovellusliittymän, toisin sanoen REST-käyttöliittymän, jota käytämme uusien twiittien lähettämiseen ja yleensä vuorovaikutukseen Twitterin kanssa Twitter-verkkosivuston ulkopuolella, käyttämiseksi meidän on rekisteröitävä uusi sovellus. Tehdä tästä linkistä - sinun ei tarvitse määrittää takaisinsoitto-URL-osoitetta, vaan sinun tarvitsee vain luoda verkkosivusto, jos haluat.

uuden Twitter-sovelluksen

Näet jotain tämän kaltaista, kun olet valmis - nämä näppäimet ovat sinulle ainutlaatuisia.

Twitter-sovellus

Oletuksena sovellus on asetettu vain luku -sovellukseksi, joten emme voi julkaista twiitteja muuttamatta sitä Lue ja kirjoita. Siirry Asetukset-välilehteen ja muuta Sovelluksen tyyppi.

readwrite-yhteys

Kun olet tallentanut, siirry takaisin Yksityiskohdat -välilehti ja napsauta alareunassa olevaa painiketta luo OAuth-käyttöoikeustunnus - tämä antaa sovellukselle pääsyn omaan Twitter-tiliisi. Päivitä ja jätä sivu auki myöhempää käyttöä varten - joudumme kopioimaan liittämään jotkut näistä näppäimistä minuutissa.

pääsy-token

Luo Python-projekti

Aloita luomalla uusi hakemisto Tweet-projektisi talletusta varten, ja luo sitten uusi tiedosto.

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

Voit kutsua sitä mitä haluat, selvästi.

Kopioi ja liitä seuraava teksti näkyviin tulevassa tekstieditoriin korvaamalla kuluttaja-avain asianmukaisella avaimella Twitter-sovellussivulta, jonka jätimme auki aiemmin. Jokaista näppäintä ympäröivät yksittäiset lainausmerkit, joten älä missaa niitä. Ota huomioon, että PÄÄSYKOODI kutsutaan Käyttöoikeus Twitter-sovellussivulla.

#! / usr / bin / env python. Tuo sys. alkaen twython tuonti Twython. CONSUMER_KEY = '*************** TIETOSI *****************' CONSUMER_SECRET = '*************** TIETOSI *****************' ACCESS_KEY = '*************** TIETOSI *****************' ACCESS_SECRET = '*************** TIETOSI *****************' api = Twython (CONSUMER_KEY, CONSUMER_SECRET, ACCESS_KEY, ACCESS_SECRET) api.update_status (status = sys.argv [1])

Paina Ctrl-X ja paina Y poistuaksesi ja tallentaaksesi tiedoston. Tee siitä suoritettava seuraavalla komennolla (korvaa Python-tiedostonimesi, jos valitsit jotain muuta)

sudo chmod + x SillyTweeter.py. 

Sinun pitäisi nyt pystyä testaamaan kykysi lähettää tweettejä kuten:

python SillyTweeter.py 'Hei kaikki, tämä on minun vadelma-pi, joka tweetti sinulle enemmän roskaa'

Tweetit prosessorin lämpötila

Nyt kun voit lähettää mitä tahansa hölynpölyä, mukautetaan sovellusta tarttumaan CPU: n nykyiseen lämpötilaan, koska minä tuomitaan, jos maailman ei tarvitse tietää sitä joka tunti.

Aloita lisäämällä uusi tuonti os-kirjastoon:

tuonti os

Lisää sitten seuraavat rivit korvaamalla edellinen api.update_status yllä olevasta esimerkistä.

cmd = '/ opt / vc / bin / vcgencmd Measure_temp' rivi = os.popen (cmd) .readline (). strip () temp = line.split ('=') [1] .split ("'") [0] api.update_status (status = 'Nykyinen CPU-lämpötilani on' + temp + 'C')

En selitä tätä koodia liikaa, koska sillä ei ole oikeastaan ​​merkitystä - se suorittaa komennon, joka tarttuu lämpötila, jakaa sitten tulosteen numeron purkamiseksi, ja tweettivät sen mukautetulla tavalla viesti. Löydät täydellisen esimerkkikoodi tässä.

Tweettaa verkkokameran kuvia

Tehdään nyt jotain todella hyödyllistä; aiomme twiittiä webbikamerakuvia. Onneksi Twython tukee API-toimintoa update_status_with_media, mikä tekee asioista melko yksinkertaisia.

Kytke USB-verkkokamera laitteeseen ja tarkista, tunnistetaanko se komennolla:

ls / dev / video *

jos näet Video0, sinulla on onnea. Käytin Playstation 3 PSEye-nokkaa ja se toimi hienosti ilman ylimääräistä jalkatyötä.

Aiomme myös käyttää pygame kirjastot ottamaan kuvaa; lisää seuraavat rivit heti olemassa olevien tuontilausuntojen jälkeen:

tuo pygame. tuo pygame.camera. maasta pygame.locals tuo * pygame.init () pygame.camera.init () cam = pygame.camera. Kamera ( "/ dev / Video0", (640480)) cam.start () image = cam.get_image () pygame.image.save (kuva, 'webcam.jpg')

Lyhyesti sanottuna, olet alustanut verkkokameran tietyllä tarkkuudella (joudut ehkä säätämään, että se on todella vanha nokka), napsautit kuvan ja tallensit sen JPG-muodossa. Korvaamme vain saman webcam.jpg-tiedoston joka kerta, kun sovellus suoritetaan.

Säädä lopuksi update_status-rivi lukeaksesi:

kuva = avoin ('webcam.jpg', 'rb') api.update_status_with_media (media = kuva, status = 'Minun RPi: n tweeting images now =>')

Voit tietysti muuttaa tilatekstin nykyiseen suorittimen lämpötilaan, jos haluat. Täydellinen koodi tähän esimerkki on täällä.

Voitko toistaa tuon?

Twitter-robotti on hyödyllinen vain, jos se ajaa useita kertoja, automaattisesti; et halua istua siellä suorittamalla komentoa joka tunti. Käytämme Pi: n CRON-aikataulutusominaisuutta (Mikä on CRON-työ? Automatisoi Wordpress-varmuuskopiosi yksinkertaisella Shell Scripting & CRON -sovelluksellaViime kerralla kun puhuimme Wordpress-varmuuskopioista, osoitin sinulle, kuinka uskomattoman helppoa oli varmuuskopioida koko tietokanta ja tiedostot SSH: n kautta vain muutamalla komennolla. Tällä kertaa aion näyttää ... Lue lisää )

sudo crontab -e

Liitä tähän riviin juoksemaan joka tunti.

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

Vaihda se * * * * * jos haluat sen toimivan joka minuutti ja olet valmis menettämään seuraajia nopeammin kuin Twitter-tili, joka menettää seuraajat nopeasti.

Se on tänään. Olen iloinen siitä, että olen myötävaikuttanut lisää typeräisyyttä laajaan määrään hyödyttömiä tavuja Internetissä, ja toivon, että teet myös! Näytä arvostanne tästä opetusohjelmasta tweeting se, ja kerro sitten meille, mistä oma Twitter-botisi aikoo twiittiä kommentteissa.

Kuvaluotto: Adafruit / Flickr

Jamesilla on teknisen älykunnan kandidaatin tutkinto ja hän on CompTIA A + ja Network + -sertifioitu. Hän on MakeUseOfin johtava kehittäjä ja viettää vapaa-aikansa pelaamalla VR-paintballia ja lautapelejä. Hän on rakennettu tietokoneita lapsuudestaan ​​asti.