Actualizar software de arduino de forma remota

Hola

Estoy trabajando en un proyecto que requiere que los arduinos estén bastante alejados.

El problema que se me plantea es poder actualizar el software de forma remota, a ser posible por ethernet.

Una de las ideas es que el mismo arduino se conecte a un servidor web, se descargue la nueva versión del software y que se actualice a si mismo.

Otra de las ideas es que un operador se conecte de forma remota por ethernet y lo actualice a mano.

¿Es posible?

Gracias.

Alfonso.

Hola Alfonso !

Bueno es muy complicado actualizar de forma remota los sketch de Arduino, tendrías que crear un script que se actualice a si mismo por la conexión ICSP de la placa Ethernet, pero como siempre... existe una forma que quizás sea un poco ams costo pero a la larga te va a convenir mucho mas, te recomiendo que empiezas a trabar con la placa Arduino YUN, esta si es capaz de actualizase de forma remota si lo configuras con un cliente DHCP.

Te dejo el link con la guia del Arduino YUN: http://arduino.cc/en/Guide/ArduinoYun

Espero que te sirva de algo, saludos y éxito en tu proyecto !

Esto lo veo difícil

No podría programarse solo, al programarse se borra todo lo que tenia antes y ahí esta el detalle donde queda el sketch nuevo y como programarse si no hay instrucciones o se sobrescribir.
tal vez un boot loader...

Lo que se me ocurre es un juego de dos Arduinos:
Uno que este trabajando arduamente haciendo lo que tenga que hacer y otro que este dormido y despierte cada cierto tiempo para actualizar si hay disponible una actualización, de lo contrario dormir de nuevo; cuando lo programe que espere por una confirmación del que hace el trabajo y que continué con el trabajo.

Aclaro que solo deje a mi imaginación que escribiera algo.
Si esto es posible de alguna manera, primero deberías de ver cuales son los pasos que hacen posible que el arduino se programe, yo no se mucho.

Hola Camilo,

Gracias por tu respuesta. Si bien es cierto que tiene la posibilidad de la actualización remota, YUN no se adapta a los requerimientos del proyecto. Continuaré investigando.

Feliz 2014.

Hola ehrja,

Quizá lo que dices del bootloader pueda servir, cuestión de investigarlo.

Lo de los dos arduinos va a disparar los costes.

Gracias por responder.

Feliz 2014.

Siguiendo con este tema se me ha ocurrido que podría enviarle el .hex a la tarjeta smd y buscar la forma que el bootloader cargue el código desde la tarjeta después de una orden de reinicio remota.

Investigaré.

Como poder se puede, pero no se en el caso de los avr, en los motorolas 68hcxxxx si se puede guardando en una posicion de la ram porciones de codigo que van sobreescribiendo la eeprom, pero esto es porque tiene internamente un elevador de tension para poder borrar y escribir en la eeprom. ayudado por un booloader que se encarga de esto.