답변:
MQTT는 장치 간 "메신저"입니다.
/domotics/myplace/mydevice/temperature
X
( "페이로드"로)집안 다른 곳 :
/domotics/+/+/temperature
를 구독 하여이 주제 형식을 사용하는 모든 장치에서 모든 온도 정보를 수신합니다. MQTT 주제 와일드 카드 ( 및 ) 에 대한 자세한 정보 는 MQTT 스펙 을 참조하십시오 .+
#
X
와 함께 메시지를 수신하고 원하는 것을 수행합니다!집안 다른 곳 :
/domotics/myplace/mydevice/#
를 구독 하여 디바이스에서 모든 정보를 가져 와서 기록합니다.X
와 함께 메시지를 수신하고 원하는 것을 수행합니다!MQTT는 웹 서비스와 소켓을 서버 주변에 두지 않도록하는 데 매우 유용합니다. Node-RED는 MQTT를 사용하며 신호 를 가져 in
오고 설정 하도록 Domoticz를 구성 할 수 있습니다 out
.
저는 개인적으로 집에서 MQTT를 사용하여 컴퓨터를 끕니다 /house/computers/mycomputer
.0
MQTT 라고하는 MQ Telemetry Transport Protocol 은 저전력 및 저 대역폭에서 실행되는 장치를 위해 설계되었습니다. 다른 발행물이 특정 주제를 구독 할 수 있음을 의미하는 경량 발행 / 구독 메시징 프로토콜입니다.
HTTP / HTTPS 는 전력 사용량을 신경 쓰지 않고 데이터 오버 헤드가 많은 클라이언트-서버 컴퓨팅을위한 요청-응답 프로토콜로 설계되었습니다.
다음과 같은 경우 MQTT를 사용하십시오.
MQTT는 HTTPS만큼 보안을 제공합니까?
MQTT는 TCP를 전송 프로토콜로 사용하므로 기본적으로 연결은 암호화 된 통신을 사용하지 않습니다. 전체 MQTT 통신을 암호화하기 위해 HiveMQ와 같은 대부분의 MQTT 브로커는 일반 TCP 대신 TLS를 사용할 수 있습니다.
참조 : HiveMQ
MQTT (Message Queue Telemetry Transport)는 제안 된 응용 프로그램에 적합합니다.
대역폭 (헤더가 2 바이트에 불과한 가장 작은 패킷 크기) 및 클라이언트 코드 풋 프린트 (일반적인 IoT 클라이언트 인 ESP8266과 같은 씬 클라이언트에서 실행 가능)와 관련하여 가볍습니다. 전송 데이터를 줄이면 센서와 같은 오프 그리드 배터리 구동 클라이언트의 배터리 수명 연장에 도움이됩니다.
MQTT는 또한 예기치 않은 클라이언트 연결 끊기 후에 연결을 복구하는 영구 가입과 같이 IoT 작업에 적합한 간단한 방법 ( 동사 )을 제공합니다 . HTTP / HTTPS와 비교하여 패키지에서 데이터를 추출하는 것이 더 간단합니다 (구문 분석기 필요 없음).
여기 에 우리 프로젝트에 사용 된 통신 시스템의 발전과 발전을 보여주는 기사 를 썼습니다 . 마이크로 서비스에 관한 것이지만 모든 종류의 원격 측정 데이터를 수집하고 게시하는 작업을 수행하는 센서는 마이크로 서비스라고 생각할 수 있습니다.
따라서 가장 중요한 결론은 이벤트를 어딘가로 보내야하고 수신자에 대해 아무것도 모르는 경우 MQTT를 사용하는 것이 좋습니다. 받는 사람에 대해 알고 있고 응답이 필요한 경우 (예 : 명령의 경우) HTTP (일반적으로 REST)를 사용하는 것이 훨씬 좋습니다.
트래픽, CPU, 메모리 및 에너지 소비 관점에서 MQTT와 HTTP는 기본적으로 동일합니다.
인용과 관련하여 MQTT는 "사물 인터넷 프로토콜"입니다.
예,이 프로토콜을 사용하는 개발자는 많지만 ( IoT Developer Survey 2018 참조) CoAP (UDP를 기반으로 IoT에 맞게 HTTP가 조정 됨)는 간단한 요청 / 응답 기능을 사용하려는 경우 HTTP에 대한 대안을 제공합니다. 너의 어플리케이션.
반면 MQTT 는 내장 된 발행 / 구독 로직을 제공하므로 확장에 유용합니다 (더 많은 장치에 더 많은 게이트웨이를 사용할 수 있음). MQTT-SN (센서 네트워크의 경우 MQTT )이라고하는 UDP 대안 (예 : CoAP to HTTP )도 있습니다. 이것은 CoAP보다 작은 오버 헤드를 제공하지만 R / R을 사용하지는 않습니다.