En efecto es posible escribir un ‘tuit’ y accionar cualquier dispositivo eléctrico por ejemplo una cafetera y ademas el sistema para conseguirlo es bastante sencillo
En el caso del cafe , sólo necesita una cafetera eléctrica , un interruptor electronico( basicamente un relé sólido ) , un ordenador , una placa Arduino , un script en python y convertir su cuenta de Twitter (como desarrollador) en una cuenta que accione lo que desee.
En el ejemplo qeu nos proponen desde Instructables, vemos como es posible hacer que su cafetera se encienda cuando esté en la cama o en el autobús solamente escribiendo un ‘tuit’. Además de ahorrar tiempo, podrá presumir de que su cuenta del pájaro azul es más inteligente que las demás.
Por supuesto esta idea es extrapolable a cualquier otro sistema que quiera acccionar o liberar de forma remota, como puede ser un calentador eléctrico,la calefacción de casas,o simplemente una lámpara para simular actividad en su vivienda.
Veamos un vídeo de la cafetera accionada por twitter:
Como vemos Tweet-a-pot es una sencilla aplicación para el control de dispositivos a distancia que usa muy poco de código y también muy poco hardware, para tener su propia cafetera accionada por twitter.
Para hacer su propio Tweet-a-pot necesitará la siguiente:
- 1 interrruptor electronico :esto es básicamente un relé que se utiliza para interactuar con el voltaje de corriente alterna mediante una pequeña señal de control de 5VDC
- 1 placa Arduino (cualquiera sirve)
- 1 Equipo que ejecute el IDE de Arduino y Python
- 1 Cafetera goteo
Lo primero que necesitará será configurar su ordenador como receptor.
Para interconectar entre el Arduino y Twitter, vamos a utilizar pyton. Hay una biblioteca que ya está elaborada, que nos permite utilizar la API de Twitter. Se llama pitón-twitter .
Después de haber instalado Python , instale la biblioteca de Python-twitter y todas sus dependencias. Si se encuentra con problemas consultela documentación en el sitio web de python-twitter.
A continuación, instalar el IDE de Arduino para que pueda programar el Arduino y comunicarse con él a través del puerto serie.
Una vez que ambos se configuran y funcionan , es tiempo para ir a tomar sus credenciales de twitter.com
Interactuar con Twitter solía ser fácil, todo lo que tenía que hacer era poner su nombre y contraseña en su código y ya funcionaba. Ahora Twitter se lo ha tomado más en serio mediante OAuth, y debiendo registrar su aplicación con twitter y obtener una clave de API.
En primer lugar, cree una cuenta de twitter para este proyecto que edeberia estar separado de su cuenta principal de Twitter. En el ejemplo es , driptwit.
Luego, vaya a dev.twitter.com y registre su aplicación, esto le permitirá tomar 4 piezas importantes de información:
-Access Token
-Access Token Secret
-Consumer Key
-Consumer Secret
Se necesitarán estos tokens en el código python más tarde para interactuar con la API de Twitter. Una vez que tenga los 4 códigos, usted ya puede continuar.
En primer lugar vamos a repasar nuestro código Python. El código python básicamente utiliza la biblioteca de python -twitter para pedir a Twitter los estados de usuario ” x ” , despues toma el último estado y busca el término ” #driptwit ” .
Si se encuentra ” #driptwit ” envía el valor ASCII del 1 al puerto serie ( para Arduino ) , y si se encuentra “#driptwitstop” , envía un valor ASCII de 0 .
Por último se realiza un bucle que comprueba la cuenta de twitter cada 15 segundos en busca de cambios .
Como se puede ver , también en el código es donde se introducen las claves que obtuvo de Twitter en el último paso .
Aquí está el código real :
#******************************************#
# Tweet-a-Pot by Gregg Horton 2011 #
# Please email changes or #
# updates to [email protected] #
# *****************************************#
##Import Libraries
import twitter
import serial
import time
##authenticate yourself with twitter
api = twitter.Api(consumer_key=’consumerkeyhere’, consumer_secret=’consumersecrethere’, access_token_key=’accesskey’, access_token_secret=’accesssecret’)
##set to your serial port
ser = serial.Serial(‘/dev/ttyUSB0’, 19200)
## check serial port
def checkokay():
ser.flushInput()
time.sleep(3)
line=ser.readline()
time.sleep(3)
if line == ‘ ‘:
line=ser.readline()
print ‘here’
## Welcome message
print ‘Welcome To Drip Twit!’
print ‘Making Coffee..’
def driptwit():
status = [ ]
x = 0
status = api.GetUserTimeline(‘X’) ##grab latest statuses
checkIt = [s.text for s in status] ##put status in an array
drip = checkIt[0].split() ##split first tweet into words
## check for match and write to serial if match
if drip[0] == ‘#driptwit’:
print ‘Tweet Recieved, Making Coffee’
ser.write(‘1’)
elif drip[0] == ‘#driptwitstop’: ##break if done
ser.write(‘0’)
print ‘stopped, awaiting instructions.’
else:
ser.write(‘0’)
print ‘Awaiting Tweet’
while 1:
driptwit() ## call driptwit function
time.sleep(15) ## sleep for 15 seconds to avoid rate limiting
CODIGO ARDUINO
La única conexión entre el código python y Arduino es un valor único del puerto serie. Python envía esto como un valor ASCII , por lo que Arduino interpreta esto como un número de bit , en nuestro caso 1 = 49 .
Aquí está el código:
/*
Tweet-a-pot Gregg Horton 2011
Please email changes to [email protected] so i
can improve this code!
Enables blinking/relay control over twitter, using python code
Based off of Blink and Serial demo code
*/
int relayPin = 13; // LED connected to digital pin 13
int incomingByte = 0; //declare incoming byte
// The setup() method runs once, when the sketch starts
void setup() {
// initialize the digital pin as an output:
pinMode(relayPin, OUTPUT);
Serial.begin(19200); // set up Serial library at 19200 bps
Serial.println(“Arduino is ready!”);
}
// the loop() method runs over and over again,
// as long as the Arduino has power
void loop()
{
if (Serial.available() > 0) {
// read the incoming byte:
incomingByte = Serial.read();
Serial.println(incomingByte);
if (incomingByte == 49){
digitalWrite(relayPin, HIGH);
} else {
digitalWrite(relayPin, LOW);
}
// say what you got:
Serial.print(“I received: “);
Serial.println(incomingByte, DEC);
}
}
El hardware requerido es bastante simple, ya que el control de voltaje de CA está siendo manejado por el interruptor electrónico.
El interruptor electronico ( llamado tambien relé sólido) le permite conectando sólo 2 cables, uno a tierra y otro para la señal de control de Arduino, poder encender y apagar el relé y como se ve en el código, todo lo que necesita es una simple señal de control baja / alta.
Conecte el Arduino al ordenador y asegúrese de que el puerto serie está configurado, y conecte al interruptor electrónico el terminal 13 y tierra de Arduino
A continuación conecte la cafetera al interruptor electrónico y conecte el interruptor electrónico a una toma de corriente normal. Lógicamente la cafetera tiene que tener el café y el agua en ella, antes de empezar.
Si el mensaje contiene la palabra #driptwit el café comenzará a hacerse ,pero si recibe #driptwitstop,se detendrá.
A continuación, ya sólo le queda disfrutar de su taza de café bien caliente accionada por un tweet.
Esta idea tambien puede emplearse en cualquier otro sistema que quiera acccionar o liberar de forma remota, como puede ser un calentador eléctrico, la calefacción de casa, un control de acceso ,la puerta electrica del grage o como deciamos al principio simplemente una lámpara para simular actividad en su vivienda.
Fuente aqui,