Integración MQTT

2026-10-16

Introducción básica

El MQTT Bridge proporciona funcionalidad de puente y reenvío MQTT, que respalda el reenvío de la información MQTT del dock a sistemas de terceros a través de la versión local de FlightHub 2. De este modo ofrece una solución de tareas colaborativa para sistemas de terceros y la versión local de FlightHub 2 en escenarios industriales.

Topología del sistema

Preparación antes de comenzar

  1. Consulte el Manual de despliegue de la versión local de DJI FlightHub 2 para desplegar la versión local de FlightHub 2.
  2. La red que aloja el MQTT Broker del sistema de terceros debe estar conectada a la red que aloja la versión local de FlightHub 2. El MQTT Broker admite el tipo EMQX. Si se utiliza un MQTT Broker diferente a EMQX, los usuarios deben realizar sus propias pruebas para garantizar la compatibilidad y funcionalidad.
  3. El sistema externo debe garantizar que estén abiertos los puertos tanto para el servidor MQTT como para la URL de webhook. Consulte la sección Configuración del Bridge para obtener más información.

Pasos de la configuración

Configuración del bridge

Introduzca el comando curl en su terminal para configurar la dirección de MQTT Bridge y configure los webhooks para monitorizar el estado de conexión y desconexión del dispositivo.

Ejemplo:

curl -X POST "http://10.94.98.15:38080/bridges/v1/resources" -H "Content-Type: application/json" -d '{
    "mqtt": {
        "id": "mqttbridge2",
        "config": {
            "username": "admin",
            "proto_ver": "mqttv4",
            "password": "",
            "address": "10.94.98.17:1883",
            "clientid": "fh2-bridge2"
        }
    },
    "webhook": {
        "config": {
            "url": "http://10.94.98.17:8080",
            "method": "POST",
            "path": "/",
            "body_template": "{ \"username\": \"${username}\", \"timestamp\": ${timestamp}, \"reason\": \"${reason}\", \"action\": \"${event}\", \"clientid\": \"${clientid}\" }"
        },
        "id": "webhook1"
    }
}'

Descripción de parámetros:

mqtt:

  • "http://10.94.98.15:38080": Debe reemplazarse por la dirección y el puerto donde se ejecuta la versión local de FlightHub 2.
  • id: Identificador único del bridge. Puede personalizarse y debe contener solo letras y números.
  • username: Nombre de usuario permitido para conectarse a MQTT de terceros.
  • password: Contraseña para conectarse a MQTT de terceros. No puede estar vacío.
  • proto_ver: Número de versión del protocolo MQTT. Actualmente solo se admite mqttv4. Por defecto es mqttv4.
  • address: Dirección de acceso de MQTT de terceros.
  • clientid: Identificador de cliente MQTT. Puede personalizarse y debe contener solo letras y números.

webhook:

  • url: URL para la interfaz que rastrea eventos de conexión y desconexión de dispositivos de terceros.
  • method: Método para la interfaz que rastrea eventos de conexión y desconexión de dispositivos de terceros.
  • path: Ruta para la interfaz que rastrea eventos de conexión y desconexión de dispositivos de terceros.
  • body_template: Una plantilla de strings para el contenido que se envía a la interfaz de terceros para eventos de conexión y desconexión de dispositivos. Puede modificar las claves para adaptarse a los requisitos específicos de su interfaz.

Verificación de configuración: La siguiente información indica que la configuración se ha realizado correctamente. Si devuelve un fallo, compruebe si la dirección y el puerto están configurados correctamente y si la red está conectada.

{"result":{"code":0,"message":"success"},"data":null}

Consultar estado del bridge

Introduzca el comando curl en su terminal para consultar el estado del MQTT Bridge.

Ejemplo:

curl -X GET "http://10.94.98.15:38080/bridges/v1/resources"

Modificar bridge

Introduzca el comando curl en su terminal para consultar el estado del MQTT Bridge. Al modificar, asegúrese de que el ID de MQTT y el ID del webhook no se cambien. Para conocer otras descripciones de parámetros, consulte la descripción de parámetros del comando de configuración del bridge.

Ejemplo:

curl -X PUT "http://10.94.98.15:38080/bridges/v1/resources" -H "Content-Type: application/json" -d '
{
    "mqtt": {
        "id": "mqttbridge2",
        "config": {
            "username": "admin",
            "proto_ver": "mqttv4",
            "password": "",
            "address": "10.94.98.17:1883",
            "clientid": "fh2-bridge2"
        }
    },
    "webhook": {
        "config": {
            "url": "http://10.94.98.17:8080",
            "method": "POST",
            "path": "/",
            "body_template": "{ \"username\": \"${username}\", \"timestamp\": ${timestamp}, \"reason\": \"${reason}\", \"event\": \"${event}\", \"clientid\": \"${clientid}\" }"
        },
        "id": "webhook1"
    }
}
'

Activar o desactivar bridge

Introduzca el comando curl en su terminal para activar o desactivar la función del bridge. Cuando está desactivado, los mensajes MQTT no podrán reenviarse al Broker MQTT de la plataforma de un tercero.

Ejemplo:

curl -X PUT "http://10.94.98.15:38080/bridges/v1/resources/switch" -H "Content-Type: application/json" -d '{
    "enabled": true
}
'

Vinculación del dock al sistema de un tercero

Consulte el tutorial de Access to the Cloud Serveropen in new window para vincular el dock al sistema de un tercero.

Vincular el dock a FlightHub 2

Consulte el manual del usuario de FlightHub 2 ->Gestión de la organización->Gestión de dispositivos ->Gestión del dock sección,para vincular el dock a una organización en FlightHub.

Comprobar bridge

Verificación de Mosquitto:

  1. Abra dos terminales y suscríbase a 'thing/product/+/osd' tanto en FlightHub 2 como en el Broker MQTT de un tercero.
mosquitto_sub -h <FlightHub 2 Broker IP> -p <FlightHub 2 Broker Port> -t "thing/product/+/osd"
mosquitto_sub -h <Third-Party Broker IP> -p <Third-Party Broker Port> -t "thing/product/+/osd"
  1. En un tercer terminal, publique el mensaje 'test' en el tema. Si 'test' aparece en ambos terminales suscriptores, habrá configurado correctamente el bridge.
mosquitto_pub -h <FlightHub 2 Broker IP> -p <FlightHub 2 Broker Port> -t "thing/product/sn1/osd" -m "test"

Verificación de FlightHub 2: Si los datos MQTT recibidos por el broker de un tercero coinciden con los datos de la interfaz local de FlightHub 2, el bridge será correcto.

Notas

1. Estrategia para usar la función de transmisión en directo con el sistema de un tercero y FlightHub 2

El sistema externo tiene mayor prioridad. Puede tomar el control de la transmisión en directo de FlightHub 2 después de que comience. Cuando el sistema externo empieza a transmitir, FlightHub 2 no puede iniciar una transmisión en directo. Para activar la transmisión en directo en FlightHub 2, utilice el siguiente comando para desactivar la transmisión en directo del sistema de un tercero.

curl -X POST http://10.94.98.15:38081/thing-access-service/inner/tas/bridges/live/release -H 'Content-Type: application/json'  -d '{
    "sn": "6QCDL870020196"  
}'

Nota: sn hace referencia al número de serie del dock.

2. Después de activar la función de MQTT Bridge, el dock reenviará automáticamente los archivos multimedia desde la aeronave directamente al sistema externo.

Consulte el tutorial de Media Managementopen in new window para configurar la dirección del bucket del sistema de un tercero.

Last Updated: