+ All Categories
Home > Technology > MQTT: Message Queuing Telemetry Transport (IoT)

MQTT: Message Queuing Telemetry Transport (IoT)

Date post: 15-Apr-2017
Category:
Upload: norberto-enomoto
View: 42 times
Download: 2 times
Share this document with a friend
31
DXC Proprietary and Confidential April 4, 2017 MQTT: Message Queuing Telemetry Transport (IoT) Norberto Enomoto Integration / SOA Architect [email protected] 04/04/2017
Transcript
Page 1: MQTT: Message Queuing Telemetry Transport (IoT)

DXC Proprietary and Confidential

April 4, 2017

MQTT: Message Queuing Telemetry Transport (IoT)

Norberto Enomoto

Integration / SOA Architect

[email protected]

04/04/2017

Page 2: MQTT: Message Queuing Telemetry Transport (IoT)

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)

DXC Proprietary and Confidential April 4, 2017

O que é Internet das Coisas – IoT?

Page 4: MQTT: Message Queuing Telemetry Transport (IoT)

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)

April 4, 2017 5DXC Proprietary and Confidential

O que é Internet das Coisas – IoT?

Page 6: MQTT: Message Queuing Telemetry Transport (IoT)

April 4, 2017 8DXC Proprietary and Confidential

Conceitos – Arduino Uno

Page 7: MQTT: Message Queuing Telemetry Transport (IoT)

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)

DXC Proprietary and Confidential April 4, 2017

Arquitetura IoT

Page 9: MQTT: Message Queuing Telemetry Transport (IoT)

April 4, 2017 12DXC Proprietary and Confidential

Arquitetura IoT

Page 10: MQTT: Message Queuing Telemetry Transport (IoT)

April 4, 2017 13DXC Proprietary and Confidential

Arquitetura IoT

Page 11: MQTT: Message Queuing Telemetry Transport (IoT)

DXC Proprietary and Confidential April 4, 2017

Aplicabilidade

Page 12: MQTT: Message Queuing Telemetry Transport (IoT)

April 4, 2017 15DXC Proprietary and Confidential

Aplicabilidade

Page 13: MQTT: Message Queuing Telemetry Transport (IoT)

April 4, 2017 16DXC Proprietary and Confidential

Aplicabilidade - Automação Residencial

Page 14: MQTT: Message Queuing Telemetry Transport (IoT)

April 4, 2017 17DXC Proprietary and Confidential

Aplicabilidade – Estufa Inteligente

Page 15: MQTT: Message Queuing Telemetry Transport (IoT)

DXC Proprietary and Confidential April 4, 2017

Motivação para utilizar MQTT

Page 16: MQTT: Message Queuing Telemetry Transport (IoT)

April 4, 2017 19DXC Proprietary and Confidential

Motivação para utilização MQTT

Page 17: MQTT: Message Queuing Telemetry Transport (IoT)

DXC Proprietary and Confidential April 4, 2017

Protocolo MQTT

Page 18: MQTT: Message Queuing Telemetry Transport (IoT)

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)

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)

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)

April 4, 2017 24DXC Proprietary and Confidential

Protocolo MQTT

Page 22: MQTT: Message Queuing Telemetry Transport (IoT)

April 4, 2017 25DXC Proprietary and Confidential

Protocolo MQTT

Page 23: MQTT: Message Queuing Telemetry Transport (IoT)

April 4, 2017 26DXC Proprietary and Confidential

Protocolo MQTT

Page 24: MQTT: Message Queuing Telemetry Transport (IoT)

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)

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)

April 4, 2017 29DXC Proprietary and Confidential

Protocolo MQTT

Page 27: MQTT: Message Queuing Telemetry Transport (IoT)

DXC Proprietary and Confidential April 4, 2017

Demostração

Page 28: MQTT: Message Queuing Telemetry Transport (IoT)

April 4, 2017 31DXC Proprietary and Confidential

Demonstração

Page 29: MQTT: Message Queuing Telemetry Transport (IoT)

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)

DXC Proprietary and Confidential April 4, 2017

Perguntas & Respostas

Page 31: MQTT: Message Queuing Telemetry Transport (IoT)

DXC Proprietary and Confidential

Obrigado


Recommended