Visto el universo de posibilidades que se abre con el Arduino lógicamente en nuestro caso el próximo «pasito» hacia delante ha sido investigar la interacción del mundo «real» a través de los sensores que se le pueden conectar … al mundo virtual de Internet. Por eso hoy os presentamos la primera (y desde luego no la única) posibilidad para subir información de forma automática a la «nube»… y con un producto chino totalmente compatible con el producto Arduino «original» pero más barato lo que en la situación actual siempre es de agradecer ¿no?.
ENVIO
La historia de esta muestra es cuando menos curiosa ya que tardó varios meses en llegar a nuestras manos ya que aunque de China a Móstoles necesitó únicamente unos diez días para llegar… desgraciadamente, los chinos olvidaron poner el nombre del destinatario por lo que el paquete estuvo perdido más de mes y medio en los Almacenes de una gran empresa. Al final «alguien» consiguió relacionar el envío de un extraño producto con un personaje un tanto «friki» que hacía que trabajaba por allí y que por otra parte últimamente estaba recibiendo sin paras paquetes de los lugares más recónditos del planeta. Acertó… y finalmente conseguimos «recepcionar» el envío que estábamos reclamando a sus fabricante chinos
SEEDUINO ETHERNET
Aunque nuestros amigos chinos tenían una «shield» Ethernet que podríamos haber utilizado directamente «pinchada» a uno de nuestros múltiples Arduinos preferimos pedir el modelo Seeduino Ethernet que resulta más barato y voluminoso ya que en una única «placa» incorpora la capacidad de conexión a sensores… y a Ethernet cableada incluyendo además una ranura microSD para poder leer / escribir información en la misma.
CONFIGURACION / PROGRAMACION
No os vamos a aburrir de nuevo con nociones básicas de programación del Arduino ya que os lo hemos contado en un par de revisiones anteriores y únicamente comentaros que esta tarjeta es compatible con el Arduino Duemilanove a/ATmega 328 …
PRUEBA ACCESO A LA MICRO SD… O SOBRE LA IMPORTANCIA DE LEERSE ANTES LAS INSTRUCCIONES
Lógicamente lo primeros que hemos hecho antes de intentar conectarnos a Ethernet ha sido comprobar las posibilidades de la SD y para ello, como novatos en la materia que todavía éramos / somos en este mundo del «hardware» Arduino hemos aprovechado los ejemplos del excelente WiKi de Seeedstudio de donde hemos copiado / pegado el código ejemplo que os hemos dejado aquí.
Al ir «acelerados» como siempre hemos utilizado la primera SD que teníamos para pruebas sin preocuparnos del formato de la misma… por lo que al lanzar el programa en el Arduino / Seeeduino hemos recibido un mensaje de «Inicialización fallida» que se ha resuelto simplemente al hacer lo que teníamos que haber hecho desde el principio… formatearla FAT32. A partir de ese momento se podía leer o escribir en la misma sin problema alguno.
PRUEBA ETHERNET: CONSTRUYE TU PROPIA ESTACION CLIMATOLOGICA EN LA NUBE ¿?
Una vez realizadas con éxito tanto la conexión para la programación como el acceso a la SD nos hemos lanzado a probar la conectividad a la red … montando un «datalogger» subiendo los datos a un servicio gratuito en la nube… que antes se llamaba PATCHUBE y ahora COSM tras su compra por la conocida empresa LogMeIn y que permite albergar datos subidos a la nube desde dispositivos de todo tipo… incluyendo Arduinos, claro está.
Viendo el código generado nos preocupó la necesidad de conocer la MAC address de la placa por cuanto la IP en nuestra red evidentemente es un dato «ajustable» por nosotros y la APIKEY y el FEEDID datos generado al dar de alta en el servicio nuestro nuevo dispositivo. Tras una búsqueda por Google vimos que la MAC Address no es necesario (al menos con esta tarjeta) por lo que sin tocar nada de esta variable funciona sin problemas.
En nuestro caso y aprovechando el montaje del sensor de temperatura que ya hemos venido utilizando en nuestras anteriores revisiones hemos modificado convenientemente el «código» que genera el propio PATCHUBE / COSM cuando creas tu cuenta / sensor. Por ejemplo, en nuestra versión del programa (no optimizado) y que os hemos dejado aquí hemos hecho un par de cambios.
Otra modificación que hemos hecho en el código ha sido la introducción de dos LED (de color verde y rojo) que nos indiquen en diferentes puntos del programa el funcionamiento del mismo sin necesidad de tener conectado el PC vía USB al Seeduino.
Para hacer un poco más interesante el montaje hemos añadido también un sensor de iluminación (célula fotoeléctrica) más por probar el envío de la información de múltiples sensores que por el valor de la misma y por eso ni hemos filtrado, ni promediado ni siquiera calibrado la misma… y de ahí esos extraños números fluctuando de 0 a más de 700… lo que sea 😉
A pesar de las modificaciones de código, etc el sistema es tan inestable que en pocas horas no sólo se corta la comunicación con la red sino que la tarjeta ni se entera por lo que la única solución es resetearla (e incluso a veces, cortar la alimentación) para que se rearme y se reanude el envío de datos a la nube. Desgraciadamente parece que este es un tema «conocido» y del que se ha hablado mucho en los Foros para este tipo de aplicaciones siendo la única «solución» sugerida «modificar» el firmware de algunos modelos incluyendo uno que disponga de la posibilidad de «watchdog» que vigile (y resetee sn su caso) la tarjeta una vez que se haya vuelto loca. En nuestro caso y con el firmware original hemos conseguido bloqueos de todo tipo y sin haber encontrado un solución para los mismos … al menos hasta ahora
PUNTUACIÓN: 8.5
Nota: Muchas gracias a Hao por habernos ayudado a encontrar la mejor tarjeta Ethernet para nuestra aplicación y, lógicamente también por el envío de las otras que revisaremos en las próximas semanas.
Pharizna que ha aprovechado la festividad de la Almudena para empezar a publicar la gran cantidad de revisiones que tiene pendientes y que aparte de llenar la buhardilla están obligando a ocupar la habitación de su hija
705