구성: MQTT 사용하기

MQTT는 Message Queuing Telemetry Transport의 약자로, 사물 인터넷(IoT)에서 장치 간 통신을 위해 널리 사용되는 가벼우면서도 효율적인 메시징 프로토콜입니다. 제한된 네트워크 대역폭과 저전력 장치에서 작동하도록 설계되어 원격 센서, 모바일 장치 및 다양한 소규모 기기를 인터넷에 연결하는 데 이상적입니다.

연결하기

Agent DVR를 MQTT 서버에 연결하려면 설정 메뉴를 사용하십시오. 연결한 후에는 MQTT 서버로 메시지를 게시하기 위해 경고 동작을 설정할 수 있습니다. 자세한 내용은 MQTT 서버 설정을 참조하십시오.

이를 구성하려면 장치를 편집하고 일반 탭으로 이동한 다음 동작을 선택하십시오. 경고 (또는 다른 이벤트)에 대한 동작을 추가하고 동작 유형으로 MQTT를 선택하십시오. 여기에서 게시할 주제와 메시지를 지정할 수 있습니다.

MQTT에 대한 동작 추가

게시할 주제를 지정하고 메시지를 적절하게 작성하십시오 (예: Agent/alerts).

명령 보내기

Agent DVR은 서버 이름이 표시되는 서버 메뉴(설정에서 편집할 수 있음)에서 SERVER/commands 채널에서 MQTT 메시지를 수신하고 처리할 수도 있습니다. 이 명령은 HTTP API와 유사한 형식으로 구성됩니다. /command를 cmd=로 바꿔주기만 하면 됩니다:

예를 들어, 모든 장치를 켜려면: cmd=allon.

특정 장치에서 사진을 찍으려면: cmd=snapshot&ot=2&oid=1.

mosquitto를 사용하여 다음과 같이 명령을 보낼 수 있습니다 (SERVER를 서버 이름으로 대체하세요): mosquitto_pub -t 'SERVER/commands' -m 'cmd=record&ot=2&oid=1'.

Agent DVR은 명령을 실행하고 SERVER/responses 채널로 JSON 응답을 보냅니다.

자동 MQTT

Agent DVR는 기본 이벤트, 상태 및 사용 통계를 전송하는 자동 MQTT 구성을 제공합니다. 이 기능을 활성화하려면 장치를 편집하는 동안 일반 탭에서 "MQTT 이벤트" 옵션을 활성화하십시오.

이 구성에는 움직임, 연결, 경고 및 녹화와 같은 주제에 대한 플래그가 포함됩니다.

문제 해결

MQTT에서 자주 연결 해제 및 재연결이 발생하는 경우, 일반적으로 MQTT의 서버 설정에서 지정된 클라이언트 ID가 여러 클라이언트에서 사용되고 있음을 나타냅니다. MQTT에 연결된 각 클라이언트가 고유한 클라이언트 ID를 가지고 있는지 확인하는 것이 중요합니다.