.
Primero, poner el link de mi fuente de inspiración http://www.themagicclock.com/
Veamos un sencillo ejemplo de cómo sacarle más partido a éste hardware. (Asumimos que tienes instalado DD-WRT, con el hack del puerto serie e interfaz apropiada para cambiar niveles 3v3 a 5 voltios y tu router tiene conexión a internet).
Crearemos un script sencillo en el bash del router, el cual se conecta a la página xml de una cuenta Twitter y obtiene el "status" actual de dicho usuario. Una vez obtenido, enviará dicho status a nuestro Arduino por puerto serie.
Para ello, nuestro Arduino contendrá el programa de ejemplo explicado anteriormente aqui (mini protocolo serie).
En este caso concreto, según el status del usuario:
- Si status = S1F, entonces activará el pin 13.
- Si status = S0F, entonces desactivará el pin 13.
Podemos ver, que el status actual se encuentra entre
El código de nuestro script es:
#!/bin/sh while true do ping www.google.es -c 4 URL="http://twitter.com/users/show/real2electronic.xml" contenido=`wget -q -O - $URL|grep \<text|sed -e s/\<text\>//g -e s:\</text\>::g` echo $contenido echo $contenido > /dev/cua/1 for i in 1 2 3 4 5 do gpio disable 7 sleep 1 gpio enable 7 sleep 1 done done
1) Es script realiza un ping para forzar conexión con internet.
2) Obtiene la página, y extrae la linea que se encuentra entre <text> y </text>
3) Muestra y envia por puerto serie dicha cadena
4) Realiza un bucle de encendido/apagado del led de DMZ del router.
Para escribir dicho script, puedes hacerlo mediante vi (conectandote por telnet al router), o bien enviarlo usando WinSCP. Para usar este último,sigue instrucciones de http://www.dd-wrt.com/wiki/index.php/WinSCP
Algo curioso que he descubierto haciendo el script, es que no se pueden realizar más de 150 peticiones a la hora a la página xml de Twitter, asi que se debe modificar dicho script con un sleep de mayor duración. No lo he modificado, para que no sea pesado a la hora de probarlo.
Copia ó crealo con vi dicho script en el directorio /tmp/, el cual tiene permisos de escritura.
Dale permisos de ejecución al archivo: chmod 755 script_name, por ejemplo chmod 755 twitter.sh.
Para ejecutar en segundo plano: root@DD-WRT:/tmp# ./twitter.sh &
Recuerda, que dicha estructura de carpetas es RAM y perderás el script cuando reinicie el router.
Si quieres que permanezca en memoria => http://www.dd-wrt.com/wiki/index.php/Startup_Scripts#NVRAM_Method
A continuación, un video tutorial de todo el proceso:
Ahora ya puedes abrir/cerrar una puerta, encender/apagar una caldera, activar una bocina para asustar a tu pareja ... lo que se te ocurra desde Twitter !!!
.
.
No hay comentarios:
Publicar un comentario