MQTT Last Will 설정
연결할 때 브로커에 등록한 Will 메시지와 retain을 결합하여 online/offline 상태 토픽을 구성한다.
브로커를 사이에 둔 발행·구독의 QoS, 세션, 토픽 설계.
연결할 때 브로커에 등록한 Will 메시지와 retain을 결합하여 online/offline 상태 토픽을 구성한다.
Mosquitto 2.0은 설정이 없으면 로컬 접속만 허용하므로 listener, 비밀번호 파일, ACL 파일을 함께 설정한다.
구독은 세션에 포함되어 세션이 새로 시작되면 삭제되므로 on_connect 내부에서 다시 구독한다.
손실을 허용하면 0, 누락을 방지하려면 1, 중복도 방지하려면 2를 사용하며, 실제 전달은 구독 QoS와 비교해 낮은 값을 따른다.
VDA 5050 표준은 관제와 차량이 MQTT와 JSON으로 교환하는 토픽과 메시지 형식을 규정한다.
고정 Client ID, Clean Start 0, 세션 만료 시간, QoS 1 구독을 모두 갖추어야 단절 중의 메시지를 수신한다.
Sparkplug B는 MQTT 위에 토픽 구조, 메시지 종류, Protobuf 페이로드, 상태 관리 규칙을 규정한다.
토픽은 /로 단계를 구분하고, 구독할 때만 +와 #으로 여러 토픽을 한 번에 수신한다.
retain으로 발행한 마지막 값은 브로커가 토픽마다 하나씩 보관하고 새 구독자에게 즉시 전송한다.