Hur man gör en fjärrkontroll kännande web-docka av hacka Twitter, Google, Skype, Arduino och bearbetning! (2 / 16 steg)
Steg 2: Använda bearbetning för att lyssna på webben för kommandon (med full kod)
Hjärnan som tar emot data om du vill aktivera Twitr_janus' huvud är ett program (skiss) körs i bearbetning. Då körs på en dator ansluten till huvudet. Datorn är ansluten till webben.
Behandlingen är enkel att lära sig och har en stor öppen gemenskap och lätt och tillgänglig dokumentation. Skaparna av bearbetning beskriver det som...
"en öppen källkod programmeringsspråk och miljö för människor som vill skapa bilder, animeringar och interaktioner. Ursprungligen utvecklades att fungera som en programvara skissbok och lära grunderna i programmering i visual-sammanhang, har bearbetning också utvecklats till ett verktyg för att skapa färdiga professionella arbete. Idag finns tiotusentals studenter, konstnärer, designers, forskare och entusiaster som använder bearbetning för lärande, prototyper och produktion."
Behandlingen är gratis att ladda ner och använda. Besöka bearbetning .org
De viktigaste bearbetning funktionerna används för att göra Twitr_janus' hjärna inkluderar:
- en praktisk metod som kallas loadStrings(); som, som kan dra in foder data från en extern URL (e.g. RSS-flöde eller API-anrop)
- olika praktiska sätt att tolka foder strängarna mottagit för att extrahera data från den faktiska
- förmågan att ställa in en seriell anslutning med USB-porten kan skicka data till Arduino
- en tredje part text-to-speech bibliotek GURU TTS som kan förvandla text till ljud tal
Se http://www.local-guru.net/blog/pages/ttslib
Komplett bearbetning skissen finns att ladda ner här från GitHub som en textfil:
github.com/downloads/rosemarybeetle/Twitr-Janus/twitr_janus_code15.txt
Den innehåller kod för att:
- importera Guru tal-bibliotek
>>>
import guru.ttslib.*; / / NB detta också behöver laddas (tillgänglig från http://www.local-guru.net/projects/ttslib/ttslib-0.3.zip)
Seriell port;
TTS-tts;
<<< - referera till Twitter API-anrop
>>>
String twitterApiString = "https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true & include_rts = true & screen_name ="+ twitterUsername +"& count = 0",
<<< - referera till Google Spreadsheet RSS-samtal
>>>
String gssApiString = "https://spreadsheets.google.com/feeds/list/0AgTXh43j7oFVdFZJdklXTU1lTzY5U25sc3BJNjRLRUE/od6/public/basic?alt=rss";
<<< - tolkning av foder data för att extrahera data från (detta är google spreadsheet data tolkas i en matris från RSS-flöde)
>>>
String [] texty = loadStrings(gssApiString);
String [] texty2 = dela (texty [0], "¬"); dra ut data med stopp teckenString [] texty3 = dela (texty2 [4], "<'); bli av med avslutande text efter <
gssText = texty3 [0];
gssTextLength = gssText.length();
<<< - att göra en seriell anslutning >>>
println(Serial.list()); / / Visa kommunikationsportar (använder detta i test för att fastställa avgiften portar)
om (Serial.list() [2]! = null) {/ / felhantering för port död på PC
Port = ny följetong (denna, Serial.list() [2], 115200);
//}
<<< - Skicka data till Arduino via serieporten
>>>
(här koden skriver ögongloben position bort från Google data till porten. Arduino kommer att använda den för att referera till en matris med förinställda positioner)
port.write(gssEyeballUpDown); / / skicka ner värdet till styrelsenDenna kod skickar ett kodnummer till Arduino, som om upptäckt utlöser den blå lampan...
port.write(30);
<<< - Omvandla data till tal genom att ringa TTS-biblioteket
>>>
Google textdata används som tal...
TTS.Speak(gssText);Twitter tweet används som tal...
TTS.Speak(tweetText);<<<
Hämta full Processing skiss
Det är inte perfekt, men komplett bearbetning skissen finns att ladda ner här från GitHub som en textfil:
github.com/downloads/rosemarybeetle/Twitr-Janus/twitr_janus_code15.txt
För enkel visning är här en bild faksimil av texten