Canales populares

El primer Arduino conectado a Taringa [propio]

Gracias totales!! por los puntos, los comentarios, los seguidores, los recos, los favoritos, por pasarse a figurar gracias gracias gracias!, estoy grabando todo el streaming y cuando lo desactive voy a crear un video con los nombres de todos los que se pasaron

El Streaming de Arduingo va a estar apagado durante el día y lo encendere en las noches a partir de las 19:00 horas centrales los fines de semana, podran saber cuando esta encendido por el hashtag #ArduingoON en mi muro. los puntos, comentarios y seguidores durante el día quedan almacenados y se mostrarán a esa hora


El streaming esta ahora online
#arduingoON


Pues aquí me tienen creando este post para compartir con la comunidad un proyecto que arme para aprender del Arduino y termine aprendiendo muchas cosas más, creo que la mejor forma de aprender es creando algo asi que decidí hacer algo nuevo y tal vez nunca hecho (no encontre nada similar) y en el proceso aprender tanto como fuera posible por eso tal vez algunas cosas parezcan rebuscadas pero esa era justamente la idea.

Todo empezo cuando encontre una buena oferta en eBay para un Arduino y un Ethernet Shield, habia leido del Arduino pero no me habia animado a probarlos por falta de tiempo, al encontrar esta super oferta decidi comprarlo, un Arduino y su Shield Ethernet mas algunos accesorios por 20 USD con envio gratis es una ganga.

Si quiere saber más de Arduino visiten la página de Wikipedia



Llegado el paquete, instale el ambiente de programación y ejecute el clásico Blink Led, es como el Hello World pero del hardware y ahora que sabia que funcionaba era el momento de hacer algo mas sofisticado.



Encontre que mucha gente conecta su arduino a Twitter o la Web, el famoso movimiento "Internet of Things" o la internet de las cosas que habla de conectar todo a la nube para poder controlarlas y tener acceso.

Entonces pensé, y que tal si conecto el Arduino a Taringa!, así nació ARDUINGO y empezarón los retos.



Queria hacer algo que me indicara la actividad a mis posts sin tener que estar siempre conectado y dejarlo una vez depurado y colocado en una buena caja en la mesa de la compu como esas lamparas que cambian de color dependiendo del clima o que te avisan cuando recibes un Tweet.



Reto #1: Tomar info de la actividad de mis posts en Taringa

Taringa parace que no tiene un RSS con este tipo de actividad y el Arduino no es muy poderoso como para estar descargando toda la pagina y analizando el código HTML sin embargo recordé que Taringa si te puede enviar un email con cierta información, listo ya tengo entonces un email cuando me siguen, alguien deja un comentario o dejan puntos, no hay mucho mas que Taringa entregue pero es más que suficiente para mis propositos.



Reto #2: Leer los emails que envia Taringa y convertirlos en algún tipo de indicación



Ya tenia los emails en mi inbox de Gmail ahora como se los paso al Arduino?, hacer un cliente IMAP quedo descartado por las limitaciones de memoria y además del HTTPS que se requiere para autenticarse con gmail, además tenia que filtrar los mensajes de Taringa del Spam y de las otras cosas que llegan, muy complejo para el pobre Arduino. Pensando, leyendo e investigando me topo con Google Apps Scripts que me permite tener acceso a los servicios Google mediante programación en Javascript y crear scripts que se ejecutan bajo una agenda.

Perfecto!, El filtrado lo hago en gmail y ya que no sabia mucho Javascript me sirvio para aprender, problema solucionado.




Reto #3: Enviar la info de los emails al Arduino

Ya que todos conectan su arduino a Twitter dije, y si mi Script postea en una cuenta de Twitter y hago que el Arduino lo lea de allí, perfecto, aprendi como postear en Twitter desde un script de Google Apps Script, cosa que no es simple dado que Twitter cambio su API y ahora hay que hacer un monton de pasos por seguridad, autenticando el App con OAuth, creando una cuenta de desarrollador, en fin excelente xq aprendi todo eso y funcionó, ahora tengo una cuenta de Twitter que me muestra que pasa en mis posts.




Reto #4: Conectar Arduingo a Twitter

Esto que me parecio lo más fácil por la información que parecia haber disponible en la web resulto ser bastante complicado debido a los últimos cambios en la API de Twitter, la mayoría de la info disponible es vieja, me tocó estudiar y entender todas la especificaciones y hacer varias pruebas y gracias a lo que aprendi probando en Google Apps Script al final lo logré, pero no me senti satisfecho del todo así que decidí almacenar al info en mi propio servidor y descartar Twitter, en especial por que con las nuevas reglas tengo un número contados de accesos al API al mes de forma gratuita.



Reto #5: Almacenar la info en mi server

Tengo un server en internet donde hosteo mi blog y tiene soporte para PHP y MySQL así que esto me sirvio para aprender más de como hacer un script en PHP para almacenar datos en una base de datos y de la seguridad que hace falta al mismo tiempo aprendi a como integrar un script externo en PHP a Google App Script.




Reto #6: Hacer que Arduingo se conectara a mi server y mostrara la información

Con la experiencia de conectar el Arduino a Twitter conectarlo a mi server fue bastante fácíl, el Arduino se conecta a mi pagina, al URL del script y el script secuencialmente le envía la información que el Arduino procesa y muestra en un display LCD de 16 caracteres por 2 lineas que me vino con el Arduino, además le incluí un LED RGB que cambia de color dependiendo si son puntos, un comentario o me siguen.



Reto #7: Mostrarle a la comunidad todo funcionando

Quería hacer algo interactivo, que la gente pudiera entrar hacer algo en el Post y que pudiera verlo en vivo en el Arduino y que mejor que streaming!!!, si Arduingo tiene su propio canal de streaming en Vivo!, para esto probé varios servicios de streaming disponibles, LiveStream, Justin.tv, UStream, Qik, pero todos me cortaban el video despues de un tiempo, buscando encontré Streamago.tv, un servicio que te deja hacer streaming las 24h y gratis!, busque mi viejo iPhone 4, descargue el App, cree mi cuenta y listo Arduingo en vivo y directo.




Reto #8: No llega el cable Ethernet

Casi que me paso como a Ford con su primer auto que lo armo en su casa y luego no salia por la puerta; se me olvido un detalle básico para la conectividad a internet, la distancia entre la conexion y Arduingo era mucha y mi cable no llegaba, podía ir y comprar una más largo pero para que hacerla fácil si podemos complicarla no?, recordé que tenía un Airport Express de los viejos, que es un router wi-fi que se puede usar para extender tu red y que tiene un puerto Ethernet, asi que lo configure como bridge y listo conversor Wifi-Ethernet para colocar a Arduingo donde quiera en mi casa.



Ya para no hacerla más larga y se que muchos hace rato que dejaron de leer (lamentable es lo que pasa en Taringa, no hay inteligencia colectiva si no se lee gente) aquí van las fotos de la creación.













Aquí colocaré la foto del primer mensaje, punto o seguidor de este post y que aparezca en la pantalla de Arduingo, animate y se el primero!!!

Gracias Ricardd por pasar!!!, fuiste el primero en probarlo





ARDUINGO EN VIVO!!!




Ahora insertado al post por sus ultimas horas...






































Aquí les dejor el canal de Streaming para que lo vean funcionando en vivo. Atención recuerden que hay varios retardos involucrados (Taringa enviando el Email, el script revisando Gmail, Arduingo revisando mi site, retardo en el streaming, fallas en la conexión) y es posible que entre que hagan algo en el post y aparezca el nombre en la pantalla puede llegar a tomar de 1 a 9 min (La paciencia es una virtud), el usuario aparecerá durante 10 segs antes que el siguiente en la fila aparezca, si eres el último quedará en pantalla hasta que alguien más comente, me siga o deje puntos. Si por ejemplo comentas, me sigues y me dejas puntos apareceras 3 veces probablemente seguidas y cambiara el color del led para cada caso.

A veces es necesario dar un refresh para que el streaming conecte, cosas de Flash al parecer.



El color del LED abajo a la derecha de la pantalla varia así:

Rojo: Dejaron un comentario en alguno de mis posts
Verde: Alguien me sigue
Azul: Dejaron puntos en alguno de mis posts


Con la ayuda de todos los que entren al post voy a poder terminar de depurar el código y una vez listo eso hacerle una caja adecuada, la versión final tendrá conectividad Wi-Fi nativa con otro shield que consegui en super oferta en eBay y que viene en camino así como tal vez usar un display de 4x20 para mostrar además la nacionalidad del usuario y su rango.

Al final, cuando todo este perfecto agregare el código y el esquemático bajo licencia Creative Commons al post.

Espero aprecien el trabajo y me ayuden a probarlo, los comentarios estan abiertos, comentarios fuera de lugar o tadingas serán borrados.
10Comentarios