피드로 돌아가기
Dev.toInfrastructure
원문 읽기
MQTT v2/t 기반 데이터 전송 효율화 및 ThingsBoard 텔레메트리 구축
MQTT to ThingsBoard Setting Up Device Telemetry from Scratch
AI 요약
Context
ThingsBoard의 복잡한 설정 문서로 인한 초기 진입 장벽과 디바이스 프로필 및 전송 설정의 파편화 문제 분석. 단순 데이터 전송을 넘어 실시간 텔레메트리 수집을 위한 최적화된 MQTT 통신 구조 설계 필요.
Technical Solution
- Access Token을 MQTT Username으로 활용한 무암호 기반의 디바이스 식별 및 인증 체계 구축
- v1/devices/me/telemetry 대비 오버헤드를 줄인 v2/t 토픽 채택을 통한 네트워크 대역폭 최적화
- QoS 1 설정을 통한 최소 한 번의 전송 보장으로 데이터 누락 방지 및 신뢰성 확보
- 클라이언트 사이드 ts 필드(milliseconds) 정의를 통한 오프라인 데이터 배치 업로드 시 시계열 데이터 정밀도 유지
- Python paho-mqtt 라이브러리의 loop_start() 기반 비동기 통신 구조를 통한 지속적 데이터 스트리밍 구현
실천 포인트
- 네트워크 비용 절감이 필요한 Cellular 환경인 경우 v2/t 토픽 우선 검토 - 디바이스 내 자체 시계가 있는 경우 서버 수신 시간 대신 ts 필드를 포함하여 데이터 정밀도 확보 - 초기 연결 검증을 위해 Python 스크립트 작성 전 mosquitto_pub를 활용한 통신 테스트 수행 - 데이터 유실 방지를 위해 서비스 중요도에 따른 MQTT QoS 레벨 설정 확인