Duda sketch como .exe (solucionado)

Pues es una duda que no he encontrado por hay o no he sabido buscarlo.

Mi duda es la siguiente... Es teorica pero para que me entendais.

Yo hago un aparato basado en arduino, el usuario final me pide que haga al sketch unas modificaciones, tendría que darme el aparato y yo cargar el nuevo sketch...

Existe alguna forma de crear un ejecutable en el que el usuario solo tenga que conectar la placa arduino y se actualice?

Espero haberme explicado.

:slight_smile:

No sé si lo he entendido bien.

¿El cliente te pide una modificación, tu la haces sin el aparato, y le pasas un fichero para que él conecte el aparato al ordenador y lo haga?

Obviamente, puede hacerse, pero complicado es un rato. La manera mas fácil que se me ocurre es crear un fichero .bat, y copiar el avrdude y el .hex también. Ese fichero .bat tiene los comandos necesarios para programar el arduino, y aun así le veo problemas por que no sabemos cuan ducho va a ser el que lo vaya a hacer y seguro, dará problemas.

Hay que tener en cuenta que la plataforma arduino es un microcontrolador, no un ordenador de sobremesa, que copias un fichero y ya está. Hay escribir el programa, compilar, programar el dispositivo y comprobar que funciona.

Otra idea que se me ocurre, es crear un interprete. El programa de arduino interpreta comandos que puede leer, por ejemplo, de una tarjeta SD conecta. Este sistema sería más fácil para el cliente, puesto que mete la tarjeta enciende y ya está. Ahora bien, no se si existe un interprete-libreria ya creado, y si tienes que hacerlo, puede ser una ardua tarea.

Gracias victorjam por tu respuesta...
Es exactamente eso a lo que me refería, es una mera curiosidad, preguntaba si existia algo ya hecho o no, así que tu información a resultado muy util.

De todas formas si alguien conoce si esto es posible que lo comente por aquí.
Gracias :slight_smile:

Creo que sí sería posible lo que dice victorjam, partiendo de que su sistema operativo tenga el driver instalado, y que conozcas en qué puerto com se ha instalado.
He hecho un par de pruebas, y aunque no tengo aquí el arduino para probar, creo que funciona.
Primero sería meter en la misma carpeta los archivos avrdude.exe, avrdude.conf, cygwin1.dll (se pueden encontrar todos buscando dentro de las carpetas de arduino) y el propio archivo.hex a subir. Luego sería crear un archivo bat o un acceso directo dentro de dicha carpeta con este comando:

avrdude -cd:avrdude.conf -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:archivo.hex:i

Muchas gracias por la información, lo veo complicado por el tema de que el usuario tenga los drivers y saber el com en el que se instala, pero a nivel teorico me vale la respuesta... Gracias!!

oscarescalante:
Muchas gracias por la información, lo veo complicado por el tema de que el usuario tenga los drivers y saber el com en el que se instala, pero a nivel teorico me vale la respuesta... Gracias!!

Es difícil si usas un ordenador, es mas fácil si no lo usas

Pones a tu proyecto un modulo para ranura SD

usas este bootloader

Y cuando el cliente requiere actualizar el código tu le mandas un archivo .hex por mail, el lo mete en la SD, mete la SD en el arduino y lo pone en marcha y pulsas reset, apagar arduino y quitas la SD, la próxima vez que enciendas se ejecutara el sketch nuevo

Genial Go_zalo, muchas gracias!