Stap 2: Met behulp van verwerking om te luisteren naar het web voor commando's (met volledige code)
De hersenen dat gegevens om te activeren Twitr_janus hoofd ontvangt is een programma (schets) uitgevoerd in de verwerking. Dit wordt uitgevoerd op een computer aangesloten op het hoofd. De computer is verbonden met het web.
Verwerking is eenvoudig te leren en heeft een grote open Gemeenschap en de gemakkelijke en toegankelijke documentatie. De makers van Processing beschrijven als...
"een open source programmeertaal en omgeving voor mensen die willen maken van afbeeldingen, animaties en interacties. In eerste instantie ontwikkeld om te dienen als een schetsboek software en om te leren van de grondbeginselen van programmeren van computers binnen een visuele context, Processing ook uitgegroeid tot een instrument voor het genereren van voltooide professionele werk. Vandaag zijn er tienduizenden studenten, kunstenaars, ontwerpers, onderzoekers en hobbyisten die gebruik maken van verwerking voor leren, prototyping en productie."
Verwerking is gratis te downloaden en te gebruiken. Bezoek verwerking .org
De belangrijkste verwerking eigenschappen gebruikt voor het maken van Twitr_janus hersenen omvatten:
- een handige methode genaamd loadStrings(); die, die kan trekken in de feed gegevens van een externe URL (bijvoorbeeld RSS-feed of API-aanroep)
- diverse handige manieren om parse de feed tekenreeksen om uit te pakken van de feitelijke controlegegevens ontvangen
- de mogelijkheid om een seriële verbinding met de USB-poort instellen om gegevens te verzenden naar de Arduino
- een derde partij text-to-speech bibliotheek GOEROE TTS die tekst in spraak audio omzetten kan
Zie http://www.local-guru.net/blog/pages/ttslib
De volledige Processing schets is beschikbaar hier downloaden van GitHub als een tekstbestand:
github.com/downloads/rosemarybeetle/Twitr-Janus/twitr_janus_code15.txt
Het bevat code aan:
- de goeroe text-to-speech bibliotheek importeren
>>>
invoer guru.ttslib.*; / / NB dit ook moet worden geladen (beschikbaar vanaf http://www.local-guru.net/projects/ttslib/ttslib-0.3.zip)
Seriële poort;
TTS tts;
<<< - verwijzen naar Twitter API-aanroepen
>>>
String twitterApiString = "https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true & include_rts = true & screen_name ="+ twitterUsername +"& tellen = 0";
<<< - verwijzen naar Google Spreadsheet RSS oproepen
>>>
String gssApiString = "https://spreadsheets.google.com/feeds/list/0AgTXh43j7oFVdFZJdklXTU1lTzY5U25sc3BJNjRLRUE/od6/public/basic?alt=rss";
<<< - parseren van de feed gegevens extraheren van controlegegevens (dit is de gegevens van de google-spreadsheet wordt ontleed in een array van de RSS-feed)
>>>
String [] texty = loadStrings(gssApiString);
String [] texty2 = split (texty [0], '¬'); trekken uit de gegevens met stop tekenString [] texty3 = split (texty2 [4], ' <'); Get rid van tekst na achterstand <
gssText = texty3 [0];
gssTextLength = gssText.length();
<<< - seriële poortverbinding maken met >>>
println(Serial.list()); / / display communicatiepoorten (gebruik deze test om vast te stellen vergoeding poorten)
Als (Serial.list() [2]! = null) {/ / foutafhandeling voor poort dood op PC
poort = nieuwe Serial (dit, Serial.list() [2], 115200);
//}
<<< - verzenden van gegevens naar de Arduino via de seriële poort
>>>
(deze code is het schrijven van de positie van de oogbol gestript van de Google gegevens aan op de poort. De Arduino zal gebruiken om te verwijzen naar een matrix van vooringestelde posities)
port.write(gssEyeballUpDown); / / Stuur beneden de waarde aan boordDeze code is het verzenden van een codenummer naar de Arduino, die, indien gedetecteerd zal leiden tot de blauwe LED...
Port.write(30);
<<< - Omzetten van de gegevens in de toespraak door te bellen naar de TTS-bibliotheek
>>>
De google-tekstgegevens, gebruikt als toespraak...
TTS.Speak(gssText);De Twitter tweet gebruikt als toespraak...
TTS.Speak(tweetText);<<<
Downloaden van de volledige verwerking schets
Het is niet perfect, maar de volledige Processing schets is beschikbaar hier downloaden van GitHub als een tekstbestand:
github.com/downloads/rosemarybeetle/Twitr-Janus/twitr_janus_code15.txt
Voor het gemakkelijke bekijken is hier een facsimile van de afbeelding van de tekst