9 votos

Puedo reprogramar mi Arduino a través de un wifi shield?

Mi Arduino está conectado a algunas luces sobre mi acuario y me lo puede controlar desde un navegador web en mi LAN. Me pregunto si se puede modificar el programa en el Arduino sin tener que conectarlo a un ordenador a través de USB que sería un poco incómodo. Debe haber alguna manera de que pueda tomar ventaja de la conexión wifi.

He utilizado Pololu del wixel escudo para enviar los programas de forma inalámbrica (sólo actúa como un puerto serial de la radio), pero que es una tecnología diferente de mi WiFi shield.

¿Alguien sabe de una manera que me puede hacer esto a través de WiFi? Tal vez si subo un nuevo código a la memoria flash en la WiFi shield, entonces podría cargar desde la memoria flash? No estoy seguro de cómo hacerlo o si incluso es posible.

Tal vez un enfoque completamente diferente podría ser más sencillo?

8voto

Es posible, en teoría, pero no trivial en la práctica. El trozo de código responsable por la carga de su nuevo sketch en el Arduino se llama el gestor de arranque. Todas las versiones populares de gestores de arranque que yo conozco son de serie/USB basado. Para cargar un sketch sobre el WiFi shield, el gestor de arranque tendría que ser reescrito para comunicarse con el WiFi shield en lugar de en serie. Esto tomará algo de trabajo, pero no imposible en la práctica.

Tenga en cuenta que usted tiene que hacer esto, independientemente de si se va a almacenar el boceto en el WiFi shield (que creo que sería difícil: no estoy seguro de si esto es posible) o subir el boceto directamente a la placa Arduino: el gestor de arranque deberá comunicarse con el escudo de leer el boceto de datos.


Hay una manera de volver a programar tu Arduino de forma inalámbrica fácilmente, y que el Bluetooth. Usted necesita para obtener un módulo Bluetooth (no sé si Bluetooth escudo de trabajo) y conectar el hardware de los puertos serie. El gestor de arranque que está en el Arduino ya puede hablar de serie, por lo que el problema está resuelto. Usted tendrá que (potencialmente) resolver otros dos problemas:

  • El menor costo de módulos bluetooth puedes encontrar en Ebay son de 3.3 V. Esto significa que usted tendrá que suministrar con 3.3 V de alimentación, y el envío en línea de tu Arduino tendrá que ser de tensión-pasó de 5V a 3.3 V. puede resolver el primer encendido (power) sub-problema mediante la compra de un módulo Bluetooth que se hace para 5V de comunicación, o si el Arduino tiene 3V3 poder usar eso para alimentar el módulo Bluetooth. Una 5V-listo módulo también se resuelve el segundo problema; alternativamente, usted puede voltaje de cambio de los 5V de salida de tu Arduino utilizando cualquiera de las técnicas que se describen en esta pregunta.
  • Con el fin de programar tu Arduino de forma automática, el Arduino se debe restablecer la derecha antes de que el dibujo se carga: cuando el Arduino se ejecuta normalmente el gestor de arranque no se activa. Restablecer el Arduino se activa el gestor de arranque, permitiendo la carga de nuevos bocetos. en el Arduino USB hábilmente utiliza la línea DTR para restablecer el dispositivo. La mayoría de Bluetooth de serie de los módulos, sin embargo, sólo proporcionan TS/RX, entonces usted probablemente tendrá que reiniciar el Arduino de forma manual para cargar un programa, a menos que usted puede encontrar algunos de la señal de salida en el módulo de Bluetooth que puede marshall para conectarse a un circuito de reinicio.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X