MQTT 통합

2026-10-16

기본 소개

MQTT Bridge는 MQTT 브리징 및 포워딩 기능을 제공하며, FlightHub 2 온프레미스 버전을 통해 도크의 MQTT 정보를 타사 시스템으로 포워딩하는 것을 지원하여 산업 시나리오에서 타사 시스템과 FlightHub 2 온프레미스 버전을 위한 협업 임무 솔루션을 제공합니다.

시스템 토폴로지

시작 전 준비

  1. FlightHub 2 온프레미스 버전을 배포하려면 DJI FlightHub 2 온프레미스 버전 배포 매뉴얼을 참조하십시오.
  2. 타사 시스템의 MQTT 브로커를 호스팅하는 네트워크는 FlightHub 2 온프레미스 버전을 호스팅하는 네트워크에 연결되어야 합니다. MQTT 브로커는 EMQX 유형을 지원합니다. EMQX 이외의 MQTT 브로커를 사용하는 경우, 사용자는 호환성 및 기능성을 보장하기 위해 자체 테스트를 수행해야 합니다.
  3. 타사 시스템은 MQTT 서버와 웹훅 URL의 포트가 모두 열려 있는지 확인해야 합니다. 자세한 내용은 브릿지 구성 섹션을 참조하십시오.

구성 단계

브릿지 구성

터미널에 curl 명령어를 입력하여 MQTT 브리지 주소를 설정하고 장치 온라인 및 오프라인 상태를 모니터링하기 위한 웹훅을 구성합니다.

예시:

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"
    }
}'

매개변수 설명:

mqtt:

  • "http://10.94.98.15:38080": FlightHub 2 온프레미스 버전이 실행 중인 주소 및 포트로 대체해야 합니다.
  • id: 브리지의 고유 식별자입니다. 맞춤 설정할 수 있으며 문자 및 숫자만 포함해야 합니다.
  • username: 타사 MQTT에 연결이 허용된 사용자 이름입니다.
  • password: 타사 MQTT 연결을 위한 비밀번호입니다. 비워둘 수 없습니다.
  • proto_ver: MQTT의 프로토콜 버전 번호입니다. 현재 mqttv4만 지원합니다. 기본값은 mqttv4입니다.
  • 주소: 타사 MQTT의 접속 주소.
  • 클라이언트 ID: MQTT 클라이언트 식별자. 맞춤 설정할 수 있으며 문자 및 숫자만 포함해야 합니다.

웹훅:

  • URL: 타사 장치 온라인 및 오프라인 이벤트를 추적하는 인터페이스 URL.
  • 메서드: 타사 장치 온라인 및 오프라인 이벤트를 추적하는 인터페이스 메서드.
  • 경로: 타사 장치 온라인 및 오프라인 이벤트를 추적하는 인터페이스 경로.
  • 본문 템플릿: 장치 온라인 및 오프라인 이벤트에 대해 타사 인터페이스로 전송되는 콘텐츠의 문자열 템플릿. 인터페이스의 특정 요구 사항에 맞게 키를 수정할 수 있습니다.

구성 확인: 다음 정보는 구성이 성공했음을 나타냅니다. 실패를 반환하는 경우, 주소와 포트가 올바르게 구성되었는지, 그리고 네트워크가 연결되어 있는지 확인하십시오.

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

브리지 조회

터미널에 curl 명령을 입력하여 MQTT Bridge의 상태를 조회하십시오.

예시:

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

브리지 수정

터미널에 curl 명령을 입력하여 MQTT Bridge의 상태를 조회하십시오. 수정 시, MQTT ID와 웹훅 ID는 변경할 수 없음을 확인하십시오. 다른 매개변수 설명은 구성 브리지 명령의 매개변수 설명을 참조하십시오.

예시:

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"
    }
}
'

브리지 활성화 또는 비활성화

터미널에 curl 명령을 입력하여 브리지 기능을 활성화하거나 비활성화하십시오. 비활성화되면 MQTT 메시지는 타사 플랫폼의 MQTT 브로커로 전달될 수 없습니다.

예시:

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

타사 시스템에 도크 바인딩

타사 시스템에 도크를 바인딩하려면 Access to the Cloud Serveropen in new window 튜토리얼을 참조하십시오.

FlightHub 2에 도크 바인딩

FlightHub에서 도크를 조직에 바인딩하려면 FlightHub 2 사용자 매뉴얼 > 조직 관리 > 기기 관리 > Dock 관리 섹션을 참조하십시오.

브리지 확인

Mosquitto 확인:

  1. 두 개의 터미널을 열고 FlightHub 2와 타사 MQTT 브로커 모두에서 'thing/product/+/osd'를 구독하십시오.
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. 세 번째 터미널에서 해당 토픽에 'test' 메시지를 게시하십시오. 두 구독 터미널 모두에서 'test'가 나타나면 브리지 설정이 성공한 것입니다.
mosquitto_pub -h <FlightHub 2 Broker IP> -p <FlightHub 2 Broker Port> -t "thing/product/sn1/osd" -m "test"

FlightHub 2 확인: 타사 브로커가 수신한 MQTT 데이터가 FlightHub 2 온프레미스 인터페이스 데이터와 일치하면 브리지가 성공한 것입니다.

유의 사항

1. 타사 시스템 및 FlightHub 2와 함께 라이브 스트림 기능 사용 전략

타사 시스템의 우선순위가 더 높습니다. 타사 시스템이 시작된 후 FlightHub 2의 라이브 스트림을 인계할 수 있습니다. 타사 시스템이 스트리밍을 시작하면 FlightHub 2는 라이브 스트림을 시작할 수 없습니다. FlightHub 2에서 라이브 스트림을 활성화하려면 다음 명령을 사용하여 타사 시스템의 라이브 스트림을 비활성화하십시오.

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"  
}'

알림: sn은 도크의 일련 번호를 나타냅니다.

2. MQTT Bridge 기능을 활성화하면 도크는 기체에서 타사 시스템으로 미디어 파일을 자동으로 직접 전달합니다.

타사 시스템의 버킷 주소를 구성하려면 Media Managementopen in new window 튜토리얼을 참조하십시오.

Last Updated: