Echolot
요청

MQTT

MQTT 3.1.1 또는 5.0 브로커에 연결하고, QoS를 지정해 토픽을 구독하며, 메시지를 게시하고 로그에서 확인합니다.

MQTT 요청은 브로커에 연결하고, 토픽 필터를 구독하며, 메시지를 게시합니다. 작업하는 동안 연결을 유지하며, 로그에는 구독 중인 토픽의 모든 메시지가 표시됩니다. Echolot은 MQTT 3.1.1과 5.0을 지원합니다.

로컬 브로커에 연결된 Realtime › Warehouse sensors: QoS 1의 warehouses/+/temperature가 있는 구독 탭과 토픽별 온도 측정값이 있는 메시지 로그

Alpenglow로 시험해 보기

Realtime › Warehouse sensors는 문서 저장소의 examples/servers 폴더에 있는 localhost의 로컬 브로커에 연결합니다(bun run realtime).

연결

  1. 파일 › 새로운 MQTT 요청을 선택하거나, 사이드바의 요청 옆 + 메뉴에서 새로운 MQTT 요청을 선택합니다.
  2. 브로커의 주소를 입력합니다.
  3. 주소 앞의 MQTT 배지 메뉴에서 프로토콜을 고릅니다. MQTT 5.0(기본값) 또는 MQTT 3.1.1입니다.
  4. 연결(⌘R)을 선택합니다. 연결되어 있는 동안에는 연결 해제로 표시됩니다.
주소연결 방식기본 포트
mqtt://brokerTCP1883
mqtts://brokerTLS8883
ws://brokerWebSocket. 주소에 경로가 없으면 /mqtt다른 ws:// 주소와 같음
wss://brokerTLS 위의 WebSocket. 주소에 경로가 없으면 /mqtt다른 wss:// 주소와 같음

주소에는 {{variables}}를 쓸 수 있습니다. Alpenglow의 센서 요청은 mqtt://{{mqttHost}}를 사용합니다.

편집기의 탭은 문서, 구독, 게시, 연결, 인증, 변수, 테스트, 스크립트, 설정입니다. TLS 확인, 프록시, 인증서 같은 설정은 HTTP 요청과 같이 적용됩니다.

사용자 이름과 비밀번호

MQTT의 사용자 이름과 비밀번호는 인증 탭에 있는 요청의 Basic 인증입니다. 비밀번호는 {{mqttPassword}} 같은 비밀 변수에 넣어 키체인에 보관하고 요청 파일에는 남기지 마십시오. 다른 인증과 마찬가지로 폴더나 작업 공간에 한 번 설정할 수 있습니다. 다른 종류의 인증은 MQTT에 적용되지 않습니다.

연결 설정

연결 탭에는 CONNECT의 나머지 항목이 있습니다.

필드동작
클라이언트 ID클라이언트의 ID이며 {{variables}}를 쓸 수 있습니다. 비워 두면 echolot-와 무작위 접미사를 사용합니다
Clean Start(5.0) 또는 Clean Session(3.1.1)이 클라이언트 ID로 브로커가 보관해 둔 구독과 메시지 없이 시작합니다. 기본으로 켜져 있습니다
Keep Aliveping 사이의 간격(초). 0이면 없음. 기본값은 60
Will연결이 끊기면 Will 메시지 게시와 함께 Will 토픽, Will 페이로드, QoS, Retain을 지정합니다. 이 클라이언트가 인사 없이 사라졌을 때 브로커가 게시하는 메시지입니다

구독

구독 탭에는 요청이 구독하는 토픽 필터가 나열됩니다.

  1. 맨 아래 필드에 warehouses/+/temperature 같은 필터를 입력합니다. +는 한 레벨과, #는 나머지 전체와 일치하며 logs/#처럼 씁니다.
  2. QoS 0, QoS 1, QoS 2 중 하나를 고릅니다.
  3. 구독을 선택하면 한 번 구독하고, +를 선택하면 필터를 요청과 함께 저장합니다.

연결 시 구독이 체크된 저장된 필터는 요청이 연결될 때마다 구독됩니다. 앱에서, 실행에서, 명령줄에서, 에이전트에서 모두 마찬가지입니다. 연결되어 있는 동안 저장된 필터마다 구독과 구독 해제 버튼이 있습니다. MQTT 5.0에서는 No Local이 이 클라이언트 자신이 게시하는 메시지를 제외합니다.

게시

게시 탭은 메시지를 보냅니다.

  1. 토픽과 페이로드를 입력합니다. 둘 다 {{variables}}를 쓸 수 있습니다.
  2. QoS를 고르고, 브로커가 이후 구독자를 위해 메시지를 보관하게 하려면 Retain을 체크합니다.
  3. 게시를 선택합니다.

+를 선택하면 메시지가 요청과 함께 저장됩니다. 실행 시 게시가 체크된 저장된 메시지는 사용자 없이 요청이 실행될 때 순서대로 게시됩니다. 실행과 명령줄은 연결하고, 사용 설정된 필터를 구독하고, 사용 설정된 메시지를 게시하고, 10초 동안 수신한 다음 닫습니다.

메시지 로그

응답 패널의 메시지 탭은 세션을 보여 줍니다. 받은 메시지와 게시한 메시지, 구독, 브로커의 확인 응답이 시간순으로 나열되고 가장 최근 항목이 맨 아래에 옵니다. 각 항목에 시간과 크기가 있습니다.

  • 메시지에는 토픽, QoS, 보관(retain) 여부, 패킷 ID가 표시됩니다.
  • 모든 토픽은 로그를 하나의 토픽으로 좁힙니다.
  • 모두, 보냄, 받음은 방향별로 거르고, 메시지 필터링은 텍스트로 메시지를 찾습니다.
  • 더 보기는 JSON 페이로드를 보기 좋게 정렬합니다.
  • 첫 줄에는 어떤 클라이언트 ID로 어떤 프로토콜로 연결되었는지, 브로커가 이전 세션을 유지했는지가 표시됩니다. 브로커가 연결을 끊으면 로그에 MQTT의 사유와 함께 이유가 표시됩니다.

QoS 1과 2의 전달은 양방향 모두 자동으로 확인 응답됩니다.

연결이 닫히면 세션은 로그를 응답 본문으로 하여 기록에 보관되므로 본문에 대한 검사가 동작합니다.

MQTT 5.0

브로커의 사유 코드는 두 버전 모두에서 로그와 연결이 거부될 때 Success나 Not authorized 같은 이름으로 표시됩니다. MQTT 5.0을 선택하면 다음과 같습니다.

  • 구독의 No Local은 이 클라이언트 자신의 메시지를 제외합니다.
  • Clean Start가 3.1.1의 Clean Session을 대신합니다.
  • 저장된 메시지에 콘텐츠 유형(요청 파일의 content-type)을 지정할 수 있으며 Content Type 속성으로 전송됩니다.

명령줄에서

echolot mqtt subscribe와 echolot mqtt publish는 터미널에서 브로커와 통신하며, 비밀번호는 ECHOLOT_MQTT_PASSWORD에 둡니다. echolot mqtt를 참고하십시오.

이 페이지에서