Twitter nämna Mood Light (3 / 7 steg)
Steg 3: bearbetning
Måste du installera twitter4j biblioteket så att den kan användas av bearbetning.
Få den här: http://twitter4j.org/en/index.html#download
Installera den här (eller motsvarande): C:\Program Files\processing-1.5.1\modes\java\libraries
Du är klar.
Komma åt det här: bearbetning > skiss > Importera bibliotek... > twitter4j
Och när du gör, det ska lägga detta till toppen av din kod:
import twitter4j.conf.*;
import twitter4j.internal.async.*;
import twitter4j.internal.org.json.*;
import twitter4j.internal.logging.*;
import twitter4j.http.*;
import twitter4j.api.*;
import twitter4j.util.*;
import twitter4j.internal.http.*;
import twitter4j.*;
Förresten, ska du också lägga till seriell I/O från skissen > bibliotek, men det är inte viktigt just nu.
Så varför behöver du twitter4j? Det korta svaret är att det ger dig enkla funktioner så du behöver inte skriva en hel massa galna koden varje gång du vill komma åt Twitter. Vi använder twitter4j eftersom det är häftigt och det gör vårt jobb lättare.
// ################################################################
// ################################################################
twitterMentionMoodLight_processing
för användning med twitterMentionMoodLight_arduino
//
Kommunicera med arduino över följetong
Kommunicera med twitter via twitter4j bibliotek
Ropa till Adafruit, twitter4j, lurkers och msg styrelser överallt.
Läs mer på
http://Twitter4J.org/en/javadoc/Twitter4J/Twitter.html
import processing.serial.*;
import twitter4j.conf.*;
import twitter4j.internal.async.*;
import twitter4j.internal.org.json.*;
import twitter4j.internal.logging.*;
import twitter4j.http.*;
import twitter4j.api.*;
import twitter4j.util.*;
import twitter4j.internal.http.*;
import twitter4j.*;
statisk String OAuthConsumerKey = "Din konsument nyckel";
statisk String OAuthConsumerSecret = "Din konsument hemlighet".
statisk String AccessToken = "Din TOKEN tillgång";
statisk String AccessTokenSecret = "Din tillgång TOKEN hemlighet".
Seriella arduino;
Twitter twitter = nya TwitterFactory().getInstance();
Sträng oldID = "";
void setup() {
storlek (125, 125);
frameRate(10);
Background(0);
println(Serial.list());
String arduinoPort = Serial.list() [0];
Arduino = ny följetong (denna, arduinoPort, 9600);
loginTwitter();
}
void loginTwitter() {
twitter.setOAuthConsumer (OAuthConsumerKey, OAuthConsumerSecret);
AccessToken accessToken = loadAccessToken();
twitter.setOAuthAccessToken(accessToken);
}
privata statisk AccessToken loadAccessToken() {
returnera nya AccessToken (AccessToken, AccessTokenSecret);
}
void draw() {
Background(0);
text (35, 65);
listenToArduino();
getMention();
Delay(15000); vänta 15 sekunder för att undvika Twitter hastighetsbegränsning
}
void listenToArduino() {
String msgOut = "";
String arduinoMsg = "";
om (arduino.available() > = 1) {
arduinoMsg = arduino.readString();
msgOut = arduinoMsg + "på"+ hour()+":"+minute()+":"+second() +"" + year()+month()+day();
updateStatus(msgOut);
}
}
void getMention() {
Lista nämner = null;
försök {
nämner = twitter.getMentions();
}
fånga (TwitterException e) {
println ("undantag:" e + "; statusCode: "+ e.getStatusCode());
}
Status status = (Status)mentions.get(0);
Sträng newID = str(status.getId());
om (oldID.equals(newID) == false) {
oldID = newID;
println(status.gettext() + ", av
Arduino.write(1); Arduino blir 1
}
}
void updateStatus(String s) {
försök {
Status status = twitter.updateStatus(s);
println ("ny tweet--: {" + status.getText() + "}:--");
}
fånga (TwitterException e) {
println ("Status fel:" + e + "; statusCode: "+ e.getStatusCode());
}
}