Skip to content

2. MQTT

2.1 인터페이스 개요

2.1.1 프로토콜 개요

2.1.1.1 전송 프로토콜
Layer Protocol
Application MQTT 3.1 기반 응용 계층 (본 규격서에서 정의)
SSL/TLS TLSv1.2
Transport TCP
Network IP
Data Link IEEE802.3/Ethernet, IEEE802.11/WiFi
Physical 10/100BaseT, ISM Band
2.1.1.2 연동 정보
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ
Server/Client MQTT Broker가 Server로 동작, 승강기 및 자동문 관제 시스템, 로봇 관제 시스템은 MQTT Client로 동작
Port 서버 포트: 11884(TLS), (변경 가능)
Connection 하나의 단말에서 하나의 연결만 허용 (복수 연결 가능하나 권하지 않음)
2.1.1.3 접속 제어
2.1.1.3.1 제한사항

info

통신은 안전한 TLS 연결을 통해서만 이루어져야 한다.

2.1.1.3.2 MQTT Broker

info

MQTT Broker의 TLS 인증서는 통신이 이루어지는 시점에 유효해야 한다.

2.1.1.3.3 MQTT Client

info

MQTT Client는 Broker와 접속이 이루어지는 시점에 TLS 인증서의 유효성을 검사하여야 한다.

2.1.1.3.4 인증

info

인증은 MQTT Broker에서 Username/Password Authentication을 이용해 수행하며,
사전에 발급된 Username과 Password를 사용한다.

2.1.1.4 흐름 제어

info

  • 통신 연결 상태를 유지하기 위해, ‘1 – 시스템 상태’ 오퍼레이션을 사용한다.
    1) 로봇 관제 시스템은 승강기 및 자동문 관제 시스템 서버에 접속한 이후, 시스템 상태 Topic을 Subscribe 한다.
    2) 승강기 및 자동문 관제 시스템은 시스템 상태가 변경되거나, 승강기 및 자동문과의 연동 상태가 변경되면 해당 Topic으로 현재 상태를 Publish 한다.
    3) MQTT Broker는 승강기 및 자동문 관제 시스템과의 접속이 예기치 않게 끊어질 경우 사전에 정의된 LWT(Last Will and Testament)를 Publish 한다.
  • 승강기 및 자동문 관제 시스템에서 Publish 하는 Topic은 Retain Flag를 설정하여 로봇 관제 시스템에서 MQTT Broker를 통해 최종 상태를 수신할 수 있도록 한다.
  • MQTT의 QoS Level은 At least once (1)을 사용한다.

2.2 인터페이스 규격

2.1.1 개요

2.1.1.1 전송 규격

info

전송 규격은 https://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html 에서
정의한 MQTT 3.1 규격을 표준으로 사용한다.

2.1.1.2 데이터 규격

info

데이터 규격은 https://www.json.org/에서 정의한 JSON 규격을 표준으로 사용한다.

2.2.2 오퍼레이션 정의

2.2.2.1 오퍼레이션 목록
No Operation Description
01 시스템 상태 승강기 및 자동문 관제 시스템의 상태를 확인한다.
02 엘리베이터 호출 무인배송체의 엘리베이터 탑승 또는 이동을 위해 엘리베이터 호출을 요청한다.
03 배송체 탑승 상태 무인배송체의 엘리베이터 탑승 또는 하차 상태를 승강기 및 자동문 관제 시스템에 전송한다.
04 엘리베이터 도어 상태 엘리베이터의 현재 도어 상태를 무인배송체에 전송한다.
05 엘리베이터 수직 이동 상태 엘리베이터의 수직 이동 상태를 무인배송체에 전송한다.
06 배정 엘리베이터 확인 군 관리 엘리베이터 요청시 배정된 엘리베이터 ID를 무인배송체에 전송한다.
07 엘리베이터 도착 상태 엘리베이터가 목적 층에 도착한 후, 무인배송체에 목적 층에 도착했음을 전송한다.
08 엘리베이터 예외 상태 엘리베이터 예외 상황 발생 시, 무인배송체에 예외 상태를 전송한다.
09 엘리베이터 하차 엘리베이터 예외 상황 발생 시, 무인배송체의 엘리베이터 하차를 위해 엘리베이터 호출을 요청한다.
10 자동문 열기 요청 무인배송체의 이동을 위해 자동문 열기를 요청한다.
11 배송체 통과 상태 무인배송체의 자동문 통과 상태를 승강기 및 자동문 관제 시스템에 전송한다
12 자동문 상태 자동문의 현재 상태를 무인배송체에 전송한다.
13 자동문 예외 상태 자동문 예외 상황 발생 시, 무인배송체에 예외 상태를 전송한다.
2.2.2.2 오퍼레이션 정의

바로가기