Requisição Do Cliente Para Conectar Ao Servidor
Por: matheusousaten • 4/3/2024 • Relatório de pesquisa • 1.593 Palavras (7 Páginas) • 41 Visualizações
[pic 1]
[pic 2]
[pic 3][pic 4]
[pic 5]O protocolo MQTT é um dos padrões de comunicação disponíveis nos equipamentos da HI Tecnologia.
Esta sessão apresenta o protocolo, define os conceitos associados e os recursos disponíveis nas bibliotecas do HIstudio para utilização do protocolo MQTT em aplicações.[pic 6]
Nome Direção Descrição
CONNECT – Cliente para Servidor – Requisição do cliente para conectar ao servidor
CONNACK – Servidor para Cliente – Reconhecimento da conexão
PUBLISH – Cliente para Servidor ou Servidor para Cliente – Publicar mensagem PUBACK – Cliente para Servidor ou Servidor para Cliente – Reconhecimento da publicação
PUBREC – Publicação recebida – Publicação recebida (parte 2 do QoS=1)
PUBREL – Cliente para Servidor ou Servidor para Cliente – Publicação lançada (parte 2 do
[pic 7]QoS=2)
PUBCOMP – Cliente para Servidor ou Servidor para Cliente – Publicação completa (parte
3 do QoS=2)
SUBSCRIBE – Cliente para Servidor – Pedido de inscrição
SUBACK – Servidor para Cliente – Reconhecimento de inscrição
UNSUBSCRIBE – Cliente para Servidor – Pedido de desinscrição
UNSUBACK – Servidor para Cliente – Reconhecimento desinscrição
PINGREQ – Requisição – Requisição PING
PINGRESP – Servidor para Cliente – Resposta PING
DISCONNECTy – Cliente para Servidor – Cliente está desconectado
[pic 8]
O MQTT (Message Queue Telemetry Transport) é um protocolo de comunicação entre máquinas (Machine to Machine - M2M) desenvolvido através de uma parceria entre a IBM e Eurotech em 1999.
[pic 9]Seu objetivo original foi viabilizar a comunicação de sensores fisicamente distribuídos em oleodutos com sistema de satélites para permitir o monitoramento remoto do transporte do petróleo pelas tubulações. Foi projetado com as seguintes premissas:
- Ser incorporado em equipamentos (sensores) com poucos recursos computacionais;
- Possuir baixa largura de banda pois o custo da comunicação via satélite era elevado;
- Operar em equipamentos com baixo consumo de energia.
[pic 10]
Este protocolo permaneceu restrito às empresas desenvolvedoras até 2010, quando foi liberado para utilização pública gratuitamente. Em 2014, a versão 3.1 tornou-se um protocolo padrão aberto da OASIS (Organization for the Advancement of Structured Information Standards).
[pic 11]Sendo um padrão aberto, um grande número de empresas começaram a se interessar em implementar o padrão em suas soluções de conectividade.
Com surgimento dos conceitos de Internet das Coisas (IoT) e indústria 4.0 na última década, a conectividade entre dispositivos passou a ser mandatória, tornando hoje o MQTT, um dos protocolos de comunicação mais utilizados para a interconexão de equipamentos e sistemas através da internet.
COMO FUNCIONA O MQTT[pic 12]
[pic 13]Como mencionado na introdução, o protocolo MQTT foi criado para permitir a troca de dados entre 2 ou mais dispositivos. Vamos considerar um cenário real para entendermos como o protocolo MQTT funciona. Imagine que uma pessoa deseje monitorar a temperatura da água de seu aquário de casa através do seu smartwatch.
[pic 14] 20°C [pic 15] [pic 16]
F2 - Sensor de temperatura envia valor (20 oC) para um smartwatch.
[pic 17]O valor da temperatura, que denominaremos TEMP, é a informação que o protocolo de comunicação será responsável por transferir do dispositivo aquário (DEV_A) para o dispositivo smartwatch (DEV_B). Sendo assim podemos representar o nosso cenário da seguinte forma:
[pic 18] TEMP. [pic 19] [pic 20]
DEV_A DEV_B
F3 - Dispositivo DEV_A envia valor TEMP para dispositivo DEV_B
O principal problema para conseguir que a informação do sensor chegue ao smartwatch é que o sensor de temperatura não tem nenhuma informação sobre o que é, e tão pouco onde esta o dispositivo smartwatch e, analogamente o smartwatch também não “conhece” o sensor de temperatura.
[pic 21]Para solucionar este problema o protocolo MQTT propõe um terceiro elemento denominado BROKER que é conhecido tanto pelo dispositivo Aquário quanto pelo dispositivo smartwatch.
[pic 22]
F4 - Dispositivo DEV_A se comunica com o dispositivo DEV_B através de um BROKER
O Broker é um programa de aplicação que roda em um servidor dentro de uma intranet ou na nuvem e aceita conexões de clientes em uma porta específica.
[pic 23]Desta forma, todos os dispositivos que necessitarem enviar dados (sensor de temperatura) ou receber dados (smartwatch) se comunicam com o Broker e este será o responsável por receber a informação gerada pelo sensor de temperatura e envia-lá para o smartwatch. Note que, com esta abordagem o sensor não necessita de nenhuma informação do smartwatch para enviar o valor da temperatura (TEMP). Da mesma forma o smartwatch também não necessita de nenhuma informação sobre o sensor de temperatura. Os dois dispositivos necessitam saber apenas como acessar o Broker e isto é definido pelo protocolo MQTT.
...