IoT
MQTT(Message Queuing Telemetry Transport) 정의
너드나무
2024. 4. 20. 12:20
반응형
서론
회사에 진행하고 있는 프로젝트에 IoT를 활용하여 하드웨어를 원격으로 제어 및 배포하는 신규 제품을 출시하려고 한다.
기존에 라즈베리파이, 아두이노 등 사물인터넷을 활용한 경험은 있지만,
MQTT 등 IoT에 특화된 메세징 프로토콜을 연동하여 원격 제어하는 방식이 아닌 중계 서버를 구축하여 운영하는 방식으로 진행하였다.
신규 프로젝트의 요구사항에 맞는 기능 중 MQTT을 활용한 메세징 방식으로 경량화된 패킷으로 IoT 제어를 수행하는 것을 목표로 한다.
이론적 배경
MQTT는 머신 대 머신 통신에 사용되는 표준 기반 메시징 프로토콜 또는 규칙 세트입니다.
스마트 센서, 웨어러블 및 기타 사물 인터넷(IoT) 디바이스는 일반적으로 리소스 제약이 있는 네트워크를 통해 제한된 대역폭으로 데이터를 전송하고 수신해야 합니다.
이러한 IoT 디바이스는 MQTT를 데이터 전송에 사용하는데, 구현이 쉽고 IoT 데이터를 효율적으로 전달할 수 있기 때문입니다. MQTT는 디바이스에서 클라우드로, 클라우드에서 디바이스로의 메시징을 지원합니다.
- AWS
가설
- AWS에서는 2019년 OASIS에서 오픈소스로 개방한 MQTT v5를 활용하고 있다.
- AWS IoT Core 서비스를 사용하여 Certificate 및 Network에 대한 책임을 AWS에 일부 위임한다.
- (구현 시) 메세징 통신 보장을 위한 방법은
QoS Level 2 기준(미지원)으로, 최소 1번 이상 Subscriber에게 전달되어 원격 제어가 필요한 IoT가 인터넷 연결이 되어 있는 상태라면 동작하게끔 구성해야 한다. - (구현 시) 만약 QoS Level 2가 무한 Loop에 걸리지 않도록 Session Timeout 설정 등을 강구하여 장기간 미연결에 대한 이슈를 해결해야 한다.
검증
AWS IoT Core 서비스 특장점
MQTT v5.0 기준 QoS Level 2 명세
결론
- 위에서 언급한 MQTT 정의 관련 내용은 실제 개발을 통해 검증하지 않은 내용으로 환경별 이슈를 고려하면서 구축해야 한다.
- 1단계 : AWS IoT Core 서비스 가입
- 2단계 : AWS IoT Core 서비스 IoT 관리 방법 습득
- 3단계 : 연계 정보 시스템화 (Certificate, Deivce - Database Sync 등)
- 4단계 : IoT 원격 제어 테스트 (Backend -> AWS IoT Core -> IoT Nodes)
- 위 내용은 가설 및 검증 단계를 반복적으로 수행하면서 실제 Product 환경에 맞게끔 수정될 수 있다.
참고 및 인용 출처
- AWS. Internet of Things (IoT). (2024). https://aws.amazon.com/ko/what-is/mqtt/
- MDS인텔리전스. MQTT 프로토콜 분석 (1) – 개요 및 패킷 구조 분석. (2020). https://blog.naver.com/mds_datasecurity/221989800838
- OASIS. MQTT Version 5.0. (2019). https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html
728x90
반응형