El problema y el proyecto:
He estado parado con mi piloto automático porque no puedo comunicarme con él usando mi transmisor de alta potencia: el Ubiquity Rocket M5. Pero todo el tema de las comunicaciones no es tan simple como dividirlo en un solo componente, tiene éxito en varias secciones por varias razones, como veré en la siguiente sección. Pero antes de seguir adelante, este es el objetivo final y la configuración actual de por proyecto:
- Ardupilot con software personalizado (comunicaciones a través de serie)
- Arduino Ethernet para convertir Serial a Ethernet [estática: 192.168.2.30]
- Interruptor en el plano
- Ubiquity Rocket, esto está en el plano como el "punto de acceso / enrutador" [estática: 192.168.2.1]
- Ubiquity Rocket, esto está en el suelo y el "puente / estación" [estática: 192.168.2.21]
- Laptop con interfaz de usuario personalizada [estática: 192.168.2.10]
Los paquetes se envían en el puerto 8888 a través de UDP. El suelo lee los paquetes a través de Python canalizados como XML a través de CherryPy a una página web en la misma computadora. El avión también contiene una cámara de red conectada al interruptor a bordo (3). Tiene una IP de 192.168.2.20.
Mis ensayos:
¿Qué sucede con todo lo que está enchufado adecuadamente?
- La cámara de red proporciona una transmisión en vivo
- Puedo hacer ping al módulo ethernet arduino
- Envio paquetes al ardupilot, pero no hay respuesta
Ok, entonces pensé que rompí algo en algún lugar. Así que omití el enlace inalámbrico y conecté la conexión de mi computadora portátil directamente al conmutador (omitiendo las conexiones 4 y 5):
- Todo funciona correctamente
Estaba desconcertado, nunca me ha pasado nada malo entre mis cohetes de ubicuidad. Así que después de un tiempo descubrí una manera de probar la conexión. Desconecté mi piloto automático de Arduino ethernet para conectar un cable FTDI a mi computadora y abrí el monitor SERIL para verificar los paquetes.
- Sin embargo, los paquetes se envían y muestran el monitor serial muy bien
- Abrí un programa de prueba en mi computadora para leer paquetes para el puerto 8888. Envié algunos paquetes desde el Arduino Ethernet a mi computadora y funcionaron bien.
Estoy arrebatado de ideas en este punto. Si tienes una idea que te gustaría probar, házmelo saber y publicaré los resultados.