MQTT · 2026-02-13

MQTT-SN 이해와 센서네트워크 구현 예제

저전력 센서 네트워크에서 MQTT-SN의 개념과 동작을 예제로 풀어쓴 설명

작성일 : 2026-02-13 ㆍ 작성자 : 관리자
post
목차

소개

MQTT-SN은 무선 센서 네트워크에 적합하도록 경량화한 메시지 프로토콜이다. 기존 MQTT의 토픽 구조와 발행·구독 모델을 유지하면서도 브로커 대신 게이트웨이를 통해 MQTT와 연동한다. 이 글은 MQTT-SN의 핵심 개념을 정리하고, 센서 노드와 게이트웨이를 구성하는 간단한 예제를 단계별로 설명한다.

MQTT-SN 기초 개념

목적과 특징

MQTT-SN은 저전력 장치와 불안정한 무선 링크를 고려해 설계되었다. 패킷 크기 최소화, 토픽 ID 사용으로 전송 오버헤드 감소, 브로드캐스트 매커니즘 지원이 주요 특징이다. 센서 노드는 일반적으로 게이트웨이와 통신하고, 게이트웨이는 MQTT 브로커와 TCP/IP로 통합한다.

주요 메시지 타입

  • ADVERTISE: 게이트웨이 존재 알림
  • SEARCHGW: 게이트웨이 탐색 요청
  • CONNECT / CONNACK: 연결 설정
  • REGISTER / REGACK: 토픽 등록과 ID 할당
  • PUBLISH / PUBACK: 데이터 전송
  • SUBSCRIBE / SUBACK, UNSUBSCRIBE: 구독 관리

센서 노드 설계 포인트

토픽 관리 방식

무선 대역폭을 아끼려면 토픽 문자열 대신 토픽 ID를 사용한다. 초기에는 REGISTER 절차로 토픽을 등록해 고유 ID를 받고, 이후 PUBLISH에 ID만 포함한다. 이 방법이 mqtt-sn 사용법에서 핵심이다.

전력 및 재전송 전략

배터리 수명이 중요하므로 깨어나는 주기와 재전송 타임아웃을 조절한다. 확인 응답이 필요한 QoS는 신중히 선택하고, 가능한 경우 비확인 전송으로 전송 횟수를 줄인다.

간단한 센서 노드 예제

다음은 센서 노드가 게이트웨이에 토픽을 등록하고 주기적으로 센서 값을 전송하는 흐름 예제 코드이다.

/* pseudocode for MQTT-SN sensor node */
init_radio();
search_gateway(); /* SEARCHGW */
connect_to_gateway("node01"); /* CONNECT */
register_topic("sensors/temp"); /* REGISTER -> REGACK (topicId) */
while(true) {
  sleep(wake_interval);
  temp = read_temperature_sensor();
  publish(topicId, temp); /* PUBLISH with topicId */
}

게이트웨이 구성

역할 정리

게이트웨이는 무선 측의 MQTT-SN 패킷을 받아서 MQTT 브로커에 변환해 중계한다. 게이트웨이는 토픽 매핑과 세션 관리를 담당한다. 또한 브로커 측의 응답을 무선 포맷으로 재변환해 노드로 전달한다. 이 부분이 mqtt-sn gateway 구성의 핵심이다.

설정 예시

일반적으로 게이트웨이는 다음과 같은 설정을 포함한다.

  • 로컬 무선 인터페이스 설정
  • MQTT 브로커 호스트 및 포트
  • 토픽 매핑 테이블 유지
# gateway configuration pseudocode
gateway.listen_radio(port=1884);
gateway.connect_broker(host="mqtt-broker.local", port=1883);
# on REGISTER from node
# assign topicId and store mapping topicId <-> "sensors/temp"

통합 예제: 데이터 흐름

전체 흐름을 요약하면 다음과 같다.

  • 노드: SEARCHGW로 게이트웨이 탐색
  • 게이트웨이: ADVERTISE 응답
  • 노드: CONNECT 요청
  • 노드: REGISTER로 토픽 등록, 게이트웨이는 REGACK로 ID 전달
  • 노드: PUBLISH(토픽ID)로 데이터 전송
  • 게이트웨이: 수신한 PUBLISH를 MQTT 브로커에 토픽 문자열로 PUBLISH

디버깅과 문제 해결

연결 문제는 주로 무선 범위, 파라미터 불일치, 토픽 ID 미매칭에서 발생한다. 먼저 게이트웨이의 ADVERTISE가 도달하는지 확인한다. 다음으로 REGISTER/REGACK가 정상인지 로그로 점검한다. 브로커 연동 문제는 게이트웨이의 브로커 연결 상태와 인증 설정을 확인한다.

마무리

MQTT-SN은 센서 네트워크에 적합한 경량 메시징을 제공한다. 핵심은 토픽 ID 기반 통신과 게이트웨이를 통한 MQTT 통합이다. 위 예제를 통해 mqtt-sn 사용법과 mqtt-sn gateway 구성, 센서 네트워크 mqtt-sn 예제의 기본 흐름을 파악할 수 있다. 작은 장치에서 안정적으로 데이터를 주고받는 설계가 가능한 프레임워크라는 점이 장점이다.

mqtt-sn 사용법 mqtt-sn gateway 구성 센서 네트워크 mqtt-sn 예제 MQTT-SN 센서 네트워크 토픽 ID 게이트웨이 설정 저전력 통신