mqtt: message queuing telemetry transport (iot)
TRANSCRIPT
![Page 1: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/1.jpg)
DXC Proprietary and Confidential
April 4, 2017
MQTT: Message Queuing Telemetry Transport (IoT)
Norberto Enomoto
Integration / SOA Architect
04/04/2017
![Page 2: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/2.jpg)
April 4, 2017 2DXC Proprietary and Confidential
Agenda
1. O que é Internet das Coisas – IoT?
2. Conceitos
3. Arquitetura
4. Aplicabilidade
5. Motivação para utilizar MQTT
6. Protocolo MQTT
7. Arquitetura MQTT
8. Comparação MQTT x HTTP
9. Demostração
10. Perguntas e Respostas
![Page 3: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/3.jpg)
DXC Proprietary and Confidential April 4, 2017
O que é Internet das Coisas – IoT?
![Page 4: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/4.jpg)
April 4, 2017 4DXC Proprietary and Confidential
O que é Internet das Coisas – IoT?
• Qualquer objeto que possui tecnologia embarcada que esta conectado a internet
• Este objeto pode interagir com o mundo através de sensores ou atuadores
![Page 5: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/5.jpg)
April 4, 2017 5DXC Proprietary and Confidential
O que é Internet das Coisas – IoT?
![Page 6: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/6.jpg)
April 4, 2017 8DXC Proprietary and Confidential
Conceitos – Arduino Uno
![Page 7: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/7.jpg)
April 4, 2017 9DXC Proprietary and Confidential
Conceitos – ESP8266
ESP8266
Características
32-bit RISC CPU: Tensilica Xtensa LX106 running at 80 MHz*
64 KiB of instruction RAM, 96 KiB of data RAM
External QSPI flash: 512 KiB to 4 MiB* (up to 16 MiB is supported)
IEEE 802.11 b/g/n Wi-Fi
Integrated TR switch, balun, LNA, power amplifier and matching network
WEP or WPA/WPA2 authentication, or open networks
16 GPIO pins
SPI and I²C
I²S interfaces with DMA (sharing pins with GPIO)
UART on dedicated pins, plus a transmit-only UART can be enabled on GPIO2
1 10-bit ADC
![Page 8: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/8.jpg)
DXC Proprietary and Confidential April 4, 2017
Arquitetura IoT
![Page 9: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/9.jpg)
April 4, 2017 12DXC Proprietary and Confidential
Arquitetura IoT
![Page 10: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/10.jpg)
April 4, 2017 13DXC Proprietary and Confidential
Arquitetura IoT
![Page 11: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/11.jpg)
DXC Proprietary and Confidential April 4, 2017
Aplicabilidade
![Page 12: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/12.jpg)
April 4, 2017 15DXC Proprietary and Confidential
Aplicabilidade
![Page 13: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/13.jpg)
April 4, 2017 16DXC Proprietary and Confidential
Aplicabilidade - Automação Residencial
![Page 14: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/14.jpg)
April 4, 2017 17DXC Proprietary and Confidential
Aplicabilidade – Estufa Inteligente
![Page 15: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/15.jpg)
DXC Proprietary and Confidential April 4, 2017
Motivação para utilizar MQTT
![Page 16: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/16.jpg)
April 4, 2017 19DXC Proprietary and Confidential
Motivação para utilização MQTT
![Page 17: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/17.jpg)
DXC Proprietary and Confidential April 4, 2017
Protocolo MQTT
![Page 18: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/18.jpg)
April 4, 2017 21DXC Proprietary and Confidential
Protocolo MQTT
MQTT, acrônimo de Message Queuing Telemetry Transport [1] (anteriormente conhecido como MQ
Telemetry Transport), é um protocolo de mensagens leve para sensores e pequenos dispositivos
móveis otimizado para redes TCP/IP não confiáveis ou de alta latência.[2] . O esquema de troca de
mensagens é fundamentado no modelo Publicador-Subscritor.
Fonte: https://pt.wikipedia.org/wiki/MQTT
![Page 19: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/19.jpg)
April 4, 2017 22DXC Proprietary and Confidential
Protocolo MQTT
• O protocolo de mensagens MQTT é projetado para um baixo consumo de banda de rede e
requisitos de hardware sendo extremamente simples e leve.
• Foi desenvolvido pela IBM e Eurotech e é projetado para enviar dados através de redes
intermitentes ou com baixa banda de dados, para isso o protocolo é desenvolvido em cima de
vários conceitos que garantem uma alta taxa de entrega das mensagens.
• O protocolo MQTT é baseado no TCP/IP e ambos, cliente e broker, necessitam da pilha TCP/IP
para o seu funcionamento.
• O MQTT está na mesma camada OSI que o HTTP, porém a maior diferença entre os dois
protocolos é o tamanho do payload. No HTTP, o payload é maior, o que inviabiliza o seu uso em
conexões de baixa qualidade, como GSM por exemplo
• http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html
![Page 20: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/20.jpg)
April 4, 2017 23DXC Proprietary and Confidential
• O MQTT utiliza o paradigma publish/subscribe (pub/sub) para a troca de mensagens
• O paradigma pub/sub implementa um middleware chamado de broker
• O broker é responsável por receber, enfileirar e disparar as mensagens recebidas dos publishers para os subscribers
• O publisher é responsável por se conectar ao broker e publicar mensagens
• Já o subscriber é responsável por se conectar ao broker e receber as mensagens que ele tiver interesse
• O paradigma pub/sub utiliza o conceito de tópicos para processar as mensagens, em que cada mensagem é enviada para um determinado tópico
Protocolo MQTT
![Page 21: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/21.jpg)
April 4, 2017 24DXC Proprietary and Confidential
Protocolo MQTT
![Page 22: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/22.jpg)
April 4, 2017 25DXC Proprietary and Confidential
Protocolo MQTT
![Page 23: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/23.jpg)
April 4, 2017 26DXC Proprietary and Confidential
Protocolo MQTT
![Page 24: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/24.jpg)
April 4, 2017 27DXC Proprietary and Confidential
QoS 0 - at Most Once (Fire and Forget): o nível maisbaixo é um serviço não reconhecido. A mensagem éentregue no máximo uma vez. Não tem garantia deentrega. A mensagem não é persistida. A mensagempode ser perdida se o cliente estiver desconectado ouse o servidor falhar. Este é o modo mais rápido detransferência.
QoS 1 - at Least Once: o nível do serviço éreconhecido. Aqui cada receptor reconhece a recepçãodas informações publicadas. Se não for recebido, asinformações podem ser enviadas novamente. Istogarante que as informações sejam entregues pelomenos uma vez;
Qos 2 - exactly once: o nível mais alto e chamado deserviço assegurado. Aqui as informações não só sãoreconhecidas, mas enviadas em duas etapas. Primeiroele é transmitido e depois entregue. Cada passo éreconhecido. Isso é possível para garantir que oconteúdo seja entregue exatamente uma vez paracada assinante. Este é o modo mais demorado detransferência.
Protocolo MQTT
![Page 25: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/25.jpg)
April 4, 2017 28DXC Proprietary and Confidential
Brokers MQTT
https://mosquitto.org/
http://www.hivemq.com/
Linguagens com suporte ao MQTT
• Java
• JavaScript
• Python
• C
• C++
• C#
• Golang
Protocolo MQTT
![Page 26: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/26.jpg)
April 4, 2017 29DXC Proprietary and Confidential
Protocolo MQTT
![Page 27: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/27.jpg)
DXC Proprietary and Confidential April 4, 2017
Demostração
![Page 28: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/28.jpg)
April 4, 2017 31DXC Proprietary and Confidential
Demonstração
![Page 29: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/29.jpg)
April 4, 2017 32DXC Proprietary and Confidential
Demonstração
http://www.electrodragon.com/product/wifi-iot-relay-board-based-esp8266/
![Page 30: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/30.jpg)
DXC Proprietary and Confidential April 4, 2017
Perguntas & Respostas
![Page 31: MQTT: Message Queuing Telemetry Transport (IoT)](https://reader031.vdocuments.us/reader031/viewer/2022030309/58f1a0cc1a28abf06a8b45c9/html5/thumbnails/31.jpg)
DXC Proprietary and Confidential
Obrigado