Stap 3: verwerking
U wilt installeren van de bibliotheek van twitter4j zodat het kan worden gebruikt door te verwerken.
Download het hier: http://twitter4j.org/en/index.html#download
Installeer het hier (of gelijkwaardig): C:\Program Files\processing-1.5.1\modes\java\libraries
U bent klaar.
Toegang tot het hier: verwerking > schets > Import Library... > twitter4j
En wanneer je dat doet, zal het dit toevoegen aan het begin van uw code:
importeren van twitter4j.conf.*;
importeren van twitter4j.internal.async.*;
importeren van twitter4j.internal.org.json.*;
importeren van twitter4j.internal.logging.*;
importeren van twitter4j.http.*;
importeren van twitter4j.api.*;
importeren van twitter4j.util.*;
importeren van twitter4j.internal.http.*;
importeren van twitter4j.*;
Overigens zult u ook toevoegen seriële i/o van de schets > Library, maar dat is nu niet belangrijk.
Dus waarom moet u twitter4j? Het korte antwoord is dat het voorziet u van eenvoudige functionaliteit, zodat u niet hoeft te schrijven een hele hoop van gekke code elke keer als u toegang wilt tot Twitter. We gebruiken twitter4j omdat het is geweldig en het maakt onze taak gemakkelijker.
// #####################################################################
// #####################################################################
simpleTweet_00_p
/*
simpleTweet_00 processing schets (voor gebruik met
simpleTweet_00 arduino schets) door june2011
De Arduino is aangesloten op een circuit met een sensor die
activeert de code: Serial.write(n); waarbij n = 1 of 2.
De Processing Schets luistert voor dat bericht en vervolgens
de bibliotheek van twitter4j maakt verbinding met Twitter
via OAuth en post een tweet.
compareMsg() is toegevoegd in het geval dat u wilt vergelijken
de huidige en vorige tweets om te voorkomen dat retweets.
Deze verwerking code vereist de netwerkbibliotheek twitter4j
en uw geregistreerde app info van dev.twitter.com
Voor meer informatie over arduino, verwerking, twitter4j,
OAuth, en de registratie van uw app met Twitter...
Ga naar <
Ga naar < http://www.twitter.com/msg_box>
Deze code werd gemaakt mogelijk en verbeterde op met
helpen van mensen via het internet. Dank u.
Speciale shoutouts aan de nuttige gluurders op twitter4j,
Arduino, verwerking, en bloggers overal, en
aan de adafruit & ladydada crowdsource.
En bovenal mijn lieve vrouw, zonder
wie niets van dit zou mogelijk zijn geweest.
Wees niet een lul.
*/
importeren van processing.serial.*;
importeren van twitter4j.conf.*;
importeren van twitter4j.internal.async.*;
importeren van twitter4j.internal.org.json.*;
importeren van twitter4j.internal.logging.*;
importeren van twitter4j.http.*;
importeren van twitter4j.api.*;
importeren van twitter4j.util.*;
importeren van twitter4j.internal.http.*;
importeren van twitter4j.*;
statische String OAuthConsumerKey = "Uw consument sleutel";
statische String OAuthConsumerSecret = "Uw CONSUMER SECRET";
statische String AccessToken = "Uw ACCESS TOKEN";
statische String AccessTokenSecret = "Uw ACCESS TOKEN SECRET";
Seriële arduino;
Twitter twitter = nieuwe TwitterFactory().getInstance();
VOID Setup {}
grootte (125, 125);
frameRate(10);
Background(0);
println(Serial.List());
ArduinoPort koord = Serial.list() [0];
Arduino = nieuwe Serial (, arduinoPort, 9600);
loginTwitter();
}
ongeldig loginTwitter() {}
twitter.setOAuthConsumer (OAuthConsumerKey, OAuthConsumerSecret);
AccessToken accessToken = loadAccessToken();
twitter.setOAuthAccessToken(accessToken);
}
privé statische AccessToken loadAccessToken() {}
retourneren van nieuwe AccessToken (AccessToken, AccessTokenSecret);
}
VOID draw() {}
Background(0);
tekst ("simpleTweet_00", 18, 45);
tekst ("30, 70);
listenToArduino();
}
ongeldig listenToArduino() {}
MsgOut koord = "";
int arduinoMsg = 0;
Als (arduino.available() > = 1) {}
arduinoMsg = arduino.read();
Als (arduinoMsg == 1) {}
msgOut = "geopende deur" + hour()+":"+minute()+":"+second();
}
Als (arduinoMsg == 2) {}
msgOut = "gesloten deur" + hour()+":"+minute()+":"+second();
}
compareMsg(msgOut); deze stap is optioneel
postMsg(msgOut);
}
}
VOID postMsg(String s) {}
Probeer {}
Status status = twitter.updateStatus(s);
println ("nieuwe tweet--: {" + status.getText() + "}:--");
}
vangst (TwitterException e) {}
println ("Status fout:" + e + ";" statusCode: "+ e.getStatusCode());
}
}
VOID compareMsg(String s) {}
Vergelijk nieuwe msg tegen laatste tweet om te voorkomen dat reTweets
java.util.List statussen = null;
PrevMsg koord = "";
NewMsg koord = s;
Probeer {}
statussen = twitter.getUserTimeline();
}
vangst (TwitterException e) {}
println ("tijdlijn fout:" + e + ";" statusCode: "+ e.getStatusCode());
}
Status status = (Status)statuses.get(0);
prevMsg = status.getText();
String [] p = splitTokens(prevMsg);
String [] n = splitTokens(newMsg);
println("("+p[0]+") ->"+ n[0]); debug
Als (p[0].equals(n[0]) == false) {}
postMsg(newMsg);
}
println(s); debug
}