Menú
Foros
Nuevos mensajes
Buscar en foros
Novedades
Nuevos mensajes
Nuevos recursos
Última actividad
Recursos
Últimas revisiones
Buscar recursos
Acceder
Registrarse
Novedades
Buscar
Buscar
Buscar sólo en títulos
De:
Nuevos mensajes
Buscar en foros
Menú
Acceder
Registrarse
Install the app
Instalar
Foros
Diseño digital
Microcontroladores y sistemas embebidos
Arduino y Raspberry Pi
Transmitir imagenes con Arduino por RF
JavaScript está desactivado. Para una mejor experiencia, por favor, activa JavaScript en el navegador antes de continuar.
Estás usando un navegador obsoleto. No se pueden mostrar este u otros sitios web correctamente.
Se debe actualizar o usar un
navegador alternativo
.
Responder al tema
Mensaje
[QUOTE="Miembro eliminado 356005, post: 1248252"] El problema que tienes es el de definir un protocolo. Estamos partiendo del supuesto que tienes dos Arduinos con módulos RF que son capaces de comunicarse. El problema es cómo transmitir vía serie un archivo binario que tenemos en uno de los ordenadores, al otro. Si simplemente envías el flujo de bytes que componen la imagen, ¿cómo sabría el Arduino destino cuánto de esos bytes corresponden al propio archivo binario, o se trata de otra información, como el nombre, fecha de adquisición... o un comando, como: repetir el envío, cortar la transmisión, dormir durante X tiempo... Lo más sencillo es hacer que se intercambien bytes ¿de acuerdo? Te has leído la documentación de los dispositivos RF y sabes cómo Arduino tiene que hablar con ellos para que se conecten y se intercambien información. A partir de ahí, debes crear un protocolo de comunicación entre ellos. Se podría usar alguno de los estándares, como MQTT, pero para algo sencillo como lo que pides, que es transmitir un archivo, puedes inventarte una serie de comandos, como estos [B]HELO from #1[/B] (saludo desde el emisor) [B]HELO from #2[/B] (saludo desde el receptor) [B]PUT imagen.jpg 20181130034111 98654[/B] (el emisor envía los datos de un archivo a enviar, con el nombre, tiempo y tamaño en bytes) [B]OK[/B] (respuesta del receptor) ... (transmisión en binario de 98654 bytes) [B]MD5 58496548f75a274adc47626d93fded5f[/B] (el receptor envía la suma md5 del archivo para comprobar que se ha enviado bien) [B]OK[/B] (respuesta del emisor confirmando que el md5 es correcto) Se parece un poco al protocolo FTP. No tienes por qué usar algo como MD5 para saber si una transmisión es incorrecta: si no llega la cifra exacta de bytes, es debido a un corte en la transmisión, por lo que solicitarás el reenvío. Debes pensar en los peores casos. ¿Qué hacer si se corta la transmisión a la mitad? El Arduino que recibe debe marcarse un tiempo máximo de espera sin recibir nada. Si pasa ese tiempo, vuelve al modo de comando, y espera el saludo del emisor. Todo lo que llegue antes de ese saludo, se descarta. ¿Qué hacer si la suma md5 no es correcta? Mandar un mensaje BADCHK. El emisor deberá volver a hacer el PUT. [/QUOTE]
Verificación
Responder
Foros
Diseño digital
Microcontroladores y sistemas embebidos
Arduino y Raspberry Pi
Transmitir imagenes con Arduino por RF
Arriba