He estado desarrollando código para este controlador de vuelo de código abierto , y lo único que me gustaría mejorar con mi flujo de trabajo es poder para flashear el firmware de forma inalámbrica.
Soy capaz de realizar todas las operaciones de depuración y E / S que se interconectan con el dispositivo de forma inalámbrica a través de la red WiFi de Raspberry Pi, sin embargo, el único enlace que falta es que debo conectar la placa físicamente a través de USB para actualizar el firmware construir.
Opción 1: Empuje el código de la computadora portátil a la computadora de escritorio a través de la red. Esta computadora está conectada al controlador y puede hacer el parpadeo. De hecho, probablemente podría usar una tercera Raspberry Pi para realizar esta tarea también, pero el costo de rendimiento de la ejecución de la cadena de herramientas de compilación de firmware en un dispositivo tan lento no es atractivo.
Opción 2: Hardware USB inalámbrico
Estaré usando la Opción 1 porque claramente no hay suficiente soporte para la Opción 2, y también sucede que necesito un enlace de datos confiable y robusto.
Sin embargo, me gustaría explorar las posibilidades de la Opción 2 porque creo que hay cierto potencial en ella. Me parece que esto debería ser posible hacer USB inalámbrico de manera transparente en el nivel de hardware, por ejemplo. utilizando RF. ¿Cuáles serían algunos de los desafíos para realizar esto?
Es muy práctico que esto no sea así, y tampoco es posible alcanzar prácticamente las tasas de USB 3 (o tal vez incluso 2), pero considerando solo el gran volumen de dispositivos USB que existen, tal gadget sería útil.
No estoy muy familiarizado con el protocolo USB, pero tal vez algún aspecto se volverá difícil cuando la capa física introduzca la latencia. Mi esperanza es que esto se pueda hacer de forma transparente con hardware para que el cable USB inalámbrico se muestre en los dispositivos host como nada más que un cable algo largo. Ahora parece que el USB está limitado en este aspecto, ya que el USB 2.0 tiene un límite de 5 metros de cable, por lo que el requisito de latencia por sí solo puede descartar la posibilidad de hacerlo. Sorprendentemente para mí, USB 1.0, 1.1 y 3.0 también limitan la longitud del cable a 5 metros o incluso más.