Paso 3: procesamiento
Usted tendrá que instalar la librería twitter4j así que puede ser utilizado por procesamiento.
Consíguelo aquí: http://twitter4j.org/en/index.html#download
Instalar aquí (o equivalente): C:\Program Files\processing-1.5.1\modes\java\libraries
Estamos listos.
Accede aquí: procesamiento > Sketch > Import Library... > twitter4j
Y cuando lo haga, añadiremos esto a la parte superior de tu código:
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.*;
Por cierto, también a añadir Serial entrada-salida del bosquejo > Biblioteca, pero eso no es importante ahora.
Así que ¿por qué necesita twitter4j? La respuesta corta es que le proporciona funcionalidad simple para que no tenga que escribir un montón de código loco cada vez que quieras acceder a Twitter. Utilizamos twitter4j porque es impresionante y que hace nuestro trabajo más fácil.
// #####################################################################
// #####################################################################
simpleTweet_00_p
/*
simpleTweet_00 proceso de bosquejo (para uso con
simpleTweet_00 arduino sketch) por june2011
Arduino está conectado a un circuito con un sensor que
activa el código: Serial.write(n); donde n = 1 o 2.
El bosquejo del proceso de escucha de ese mensaje y luego
utiliza la librería twitter4j conectarse a Twitter
por medio de OAuth y puesto un tweet.
compareMsg() se agrega en caso de que desee comparar
los tweets actuales y anteriores para evitar retweets.
Este proceso requiere la librería twitter4j
y su información registrada de la aplicación del dev.twitter.com
Para aprender más sobre arduino, procesamiento, twitter4j,
OAuth y registrar tu aplicación con Twitter...
visita <
visita < http://www.twitter.com/msg_box>
Este código fue hecho posible y mejorada con
la ayuda de personas a través de internet. Gracias.
Especial shoutouts a los lurkers útiles en twitter4j,
Arduino, el procesamiento y bloggers en todas partes, y
a la crowdsource adafruit & ladydada.
Y sobre todo, a mi adorable esposa, sin
que nada de esto hubiera sido posible.
No seas una polla.
*/
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.*;
Static String OAuthConsumerKey = "Su clave de consumo";
Static String OAuthConsumerSecret = "Su consumo secreto";
Static String LiveConnectSession = "Su acceso TOKEN";
Static String AccessTokenSecret = "Su acceso TOKEN secreto";
Arduino serial;
Twitter twitter = nuevo TwitterFactory().getInstance();
void setup() {}
tamaño (125, 125);
frameRate(10);
Background(0);
println(serial.List());
String arduinoPort = Serial.list() [0];
Arduino = serie nueva (este, arduinoPort, 9600);
loginTwitter();
}
void loginTwitter() {}
twitter.setOAuthConsumer (OAuthConsumerKey, OAuthConsumerSecret);
LiveConnectSession LiveConnectSession = loadAccessToken();
twitter.setOAuthAccessToken(accessToken);
}
LiveConnectSession estática privada loadAccessToken() {}
volver nuevo LiveConnectSession (LiveConnectSession, AccessTokenSecret);
}
void draw() {}
Background(0);
texto ("simpleTweet_00", 18, 45);
texto ("30, 70);
listenToArduino();
}
void listenToArduino() {}
String msgOut = "";
int arduinoMsg = 0;
Si (arduino.available() > = 1) {}
arduinoMsg = arduino.read();
Si (arduinoMsg == 1) {}
msgOut = "puerta abierta" + hour()+":"+minute()+":"+second();
}
Si (arduinoMsg == 2) {}
msgOut = "puerta cerrada" + hour()+":"+minute()+":"+second();
}
compareMsg(msgOut); Este paso es opcional
postMsg(msgOut);
}
}
void postMsg(String s) {}
trate de {}
Estado = twitter.updateStatus(s);
println ("nuevo tweet--: {" + status.getText() + "}:--");
}
catch (TwitterException e) {}
println ("estado de Error:" + e + "; statusCode: "+ e.getStatusCode());
}
}
void compareMsg(String s) {}
Comparar nuevo msj contra último tweet para evitar reTweets
Estados de java.util.List = null;
String prevMsg = "";
String newMsg = s;
trate de {}
Estado = twitter.getUserTimeline();
}
catch (TwitterException e) {}
println ("Error de línea de tiempo:" + e + "; statusCode: "+ e.getStatusCode());
}
Estado = (Status)statuses.get(0);
prevMsg = status.getText();
String [] p = splitTokens(prevMsg);
String [] n = splitTokens(newMsg);
println("("+p[0]+") ->"+ n[0]); de depuración
Si (p[0].equals(n[0]) == false) {}
postMsg(newMsg);
}
println(s); de depuración
}