MQTT
MQTT란?
M2M, IOT를 위한 프로토콜로, 최소한의 전력량과, 패킷량으로 통신하는 것
M2M이란?
Machine to Machine으로 기계 간 통신하는 것을 의미
IOT와 M2M의 차이
IOT는 사물, 기기들이 Network에 연결되어 정보가 공유, 수집된다면, M2M은 이러한 Internet 없이 오직 기기끼리만 통신을 하는 것
Ex:) 인체 감지 센서를 통한 자동 조명 제어 시스템
MQTT 통신 구조
기존의 Server와 Client간 통신하던 구조와 달리, 중계자(Broker)를 거쳐서, 수신자와, 발행자로 나뉘어, Topic으로 들어온 Message를 수신하고, 발행하는 역할로 나뉨
Server, Client
flowchart LR; id1((Server)) --> id2; id2((Client)) --> id1;MQTT
flowchart LR; id1((Subscriber)); id2((Broker)) --> id1; id3((Publisher)) --> id2;
기초 예제
- MQTT 설치 폴더에서 CMD 실행
- MQTT Broker 실행
- MQTT Subscriber 실행
- MQTT Publisher가 메세지 발행
- 수신 결과
Broker 화면
Broker 화면
Subscriber 화면
Subscriber 화면
기기 간 통신 예제
상황
- 밝기 센서와 스위치가 서로 통신을 하는 상황이라고 가정
- 밝기가 20이하면 전등 ON, 초과일 경우 전등 OFF 로직 구현
방법
- Broker 실행
- 통신 위한 Code 작성
Subscriber(Switch)
Publisher(Light)
Subscriber(Switch) 실행
Publisher(Light) 실행
수신 결과
Switch 수신 결과
IOT 통신 예제
상황
- Light가 Light 관련 정보를 송신
- Light의 정보를 Broker를 통해 IOT 서버에서 수신
- 서버에서 크기에 따라 Switch On, Off Logic 구현
- 서버에서 판단 후 Switch에게 On, Off 정보를 송신
- Switch에서 정보를 수신 후 Logic 수행 후, 서버에게 다시 Logic 수행 메세지 송신
- 서버에서 메세지 송신
방법
- Broker 실행
- 통신 위한 Code 작성
Light
IOT
Switch
Iot실행
Switch 실행
Light 실행
수신 결과
IOT에서 Light 값 수신 및 Switch에서 Logic 수신
IOT에서 Operation 수신 및 Logic 출력