Back&Front End/Server, AWS
MQTT메시지 형식에 대해
SeokjunMan
2023. 12. 9. 23:38
MQTT메시지는 경량메시지로 이번 트래킹맵 프로젝트를 진행할 때, 웹소캣으로 받은 gps의 데이터 형태이다.
< 트래킹맵 프로젝트 >
MQTT메시지 내용이 포함된 포스트이다.
https://jayindustry.tistory.com/82
#3 [2단계] 파이프라인 + 서버코드2
이번 포스트에서는 최근경로를 지도맵상에 계속 업데이트하며 표시해주는 기능을 구현하고 지난시간의 서버코드를 개선하도록 하겠다. < 지난 1단계 포스팅 > https://jayindustry.tistory.com/79 #1 프로
jayindustry.tistory.com
[ 개념 ]
MQTT(Message Queue Telemetry Transport)
IoT(Internet of Things) 장치에서 많이 사용되는 경량 메시징 프로토콜이다.
가볍기 때문에 이러한 프로토콜형태는 낮은 대역폭과 불안정한 네트워크 환경에서도 효율적으로 메시지를 전달할 수 있다. 트래킹 프로젝트에서는 RabbitMQ를 사용하여 MQTT를 브로커로써 받고 전송하였다.
내 프로젝트에서 mqtt를 브로커로써 사용하는 이유
1. 로깅확인 가능, 지속적인 데이터가 들어오는지 등등 확인가능
2. 로봇에서 바로 psql에 데이터를 쏘려면 psql정보를 로봇마다 일일히 다 줘야하는데, 그럴 필요가 없다.
3. 모두 저장할 필요가 없는 데이터를 받아올때 좋음. mqtt는 구독하면 그때그때 그 메시지의 데이터만 가져오면 되니까
4. mqtt는 그라파나 외에도 다양한 툴에 대해 지원을 많이하여 추후, 다른 툴을 사용할때도 적용이 가능하다.
5. 중앙집중으로 mqtt데이터를 모으고 거기서 필요한정보만 구독하여 사용하니 관리가 편하다.
MQTT의 주요 특징
경량 프로토콜 : MQTT는 매우 작은 메시지 크기와 최소한의 네트워크 대역폭 사용한다.
발행/구독 모델: 발행자는 메시지를 토픽(topic)에 발행하고, 구독자는 필요한 토픽을 구독하여 메시지(데이터)를 받는다.
메시지 큐잉: 네트워크가 불안정하거나 장치가 오프라인일 때 메시지를 저장하고 장치가 다시 연결되면 전송한다.
MQTT의 작동 방식
연결: MQTT 클라이언트는 브로커에 연결을 요청
발행: 클라이언트는 특정 토픽에 메시지를 발행
구독: 다른 클라이언트는 관심 있는 토픽을 구독
메시지 전달: 브로커는 해당 토픽의 구독자에게 메시지를 전달