Quatro protocolos de comunicação baseados em TCP que são fundamentais para a IIoT – Parte 1: MQTT
Conteúdo deste artigo
Quatro protocolos de comunicação baseados em TCP que são fundamentais para a IIoT – Parte 1: MQTT
O futuro da automação é caraterizado por termos como Indústria 4.0, IIoT, fábricas inteligentes e dispositivos inteligentes. No cerne dessa nova era tecnológica está a conectividade: pirâmides de automação rígidas e hierárquicas com camadas divisórias sendo substituídas cada vez mais por estruturas de rede maiores, em que nós individuais estão interconectados e trocam dados.
Para essa rede inteligente, os dispositivos devem estar capacitados para IIoT, ou seja, padronizados, escaláveis, compatíveis com TI e OT e interoperáveis. Além disso, eles devem ser capazes de se comunicar em segurança. Vários protocolos de comunicação estão disponíveis para a implementação dessa comunicação inteligente, como MQTT, OPC UA, AMQP e API REST. Em nossa série de artigos de blog em várias partes, você pode descobrir quais propriedades caracterizam esses protocolos de comunicação IIoT e para quais aplicativos são particularmente adequados. A série de artigos inicia com MQTT.
O que é MQTT e como funciona?
MQTT (Message Queuing Telemetry Transport) é um protocolo de mensagens de publicação/assinatura compacto, binário, aberto e fácil de implementar. Possui certificação OASIS e ISO (ISO/IEC 20922:2016) gerenciada pelo Comitê técnico OASIS. O MQTT surgiu em 1999 como uma solução técnica para o problema da largura de banda e monitoramento eficiente de energia de baterias de oleodutos. Quatorze anos depois, em 2013, a IBM submeteu o MQTT ao Conselho de especificação OASIS, após o qual foi publicado como um padrão OASIS em 2014. Desde então, vem conquistando o mercado industrial, especialmente em áreas onde restrições como código enxuto, sobrecarga mínima e tráfego limitado de rede estão em alta na agenda. Os recursos básicos do MQTT estão descritos no gráfico abaixo (Figura 1). Os clientes do MQTT (tanto o editor quanto o assinante) se conectam ao agente do MQTT. Assim que o cliente MQTT de edição envia dados para o agente, este lembra que deve enviar essa mensagem a todos os clientes MQTT inscritos. A vantagem significativa desse tipo de topologia é o desacoplamento de editores e assinantes. Em vez de fazer inúmeras conexões entre eles, o agente é responsável por transportar os dados de uma extremidade para a outra.
A especificação MQTT contém vários recursos notáveis:
Tópico:
Um elemento básico no protocolo MQTT. Cada mensagem enviada pela rede consiste em um tópico e uma carga útil, além das informações do cabeçalho. O tópico é a informação que o agente pode usar para filtrar mensagens e que os assinantes assinam. Os tópicos podem incluir vários níveis, por exemplo “home/sensor1/identification” consiste em três níveis de tópicos e “home/sensor1/data/temperature” consiste em quatro níveis de tópicos. Cada nível de tópico é separado por uma barra e a estrutura de tópico diferencia letras maiúsculas e minúsculas. Os tópicos também podem conter espaços reservados em um ou mais níveis. O uso de um espaço reservado em um único nível é implementado usando o sinal de adição e pode ter o formato: “home/+/data/temperature”. Para isso, todos os valores de temperatura são registrados por todos os sensores internos e publicados em clientes MQTT inscritos. O segundo tipo de espaço reservado é o espaço reservado de vários níveis que usa o ícone de hashtag. Um exemplo seria “home/sensor1/#”, que transfere todos os dados publicados por sensor1 para os clientes MQTT inscritos.
Qualidade do serviço:
Use esta função para definir a segurança de entrega para cada mensagem. O objetivo desta função é definir diferentes níveis de segurança para garantir que a mensagem chegue ao lado do assinante. Esses níveis são: QoS 0 (no máximo uma vez), QoS 1 (pelo menos uma vez) e QoS 2 (exatamente uma vez). O QoS 2 é o mais alto nível de qualidade e requer a maioria das confirmações de comunicação e medidas de implementação.
Consciência de sessão:
Existem vários mecanismos no MQTT para garantir que a conexão entre o agente e o editor/assinante permaneça intacta. O mecanismo mais básico é a mensagem keep-alive. De vez em quando, o cliente envia uma mensagem keep-alive para confirmar ao agente que a conexão ainda está em vigor. Isso permite que o agente veja se o cliente ficou offline. Além disso, o cliente fornece ao agente uma declaração de “último desejo e testamento” (LWT, last will and testament) durante o processo de conexão inicial. Após o cliente ficar offline, essa mensagem é enviada pelo agente para os outros clientes na rede a fim de informá-los da ausência do cliente.
Sessão persistente:
Quando uma sessão persistente é estabelecida entre o agente e um assinante, o agente armazena as mensagens até que o assinante esteja pronto para recebê-las. Esse recurso é particularmente útil para redes instáveis.
Interoperabilidade do MQTT
O MQTT é o mais compacto de todos os protocolos e não define nenhum nível de padronização. A carga útil (mensagem) é enviada para um tópico específico e a ortografia incorreta de um tópico ou o envio de dados em um formato diferente do desejado não é considerado um erro. Desde o MQTT 5, os metadados podem ser enviados nos cabeçalhos. No entanto, dispositivos individuais não são impedidos de ter uma convenção de nomenclatura completamente diferente e informações de metadados diferentes. Como resultado, o MQTT é inadequado para interação máquina-a-máquina, a menos que todos os tópicos e mensagens sejam definidos por humanos. Para interação entre humano e máquina, o humano deve primeiro investigar para determinar quais tópicos estão disponíveis e como seus dados são estruturados antes de interagir com a máquina. A máquina não pode determinar os tópicos nos quais os usuários podem se inscrever.
Comportamento em tempo real do MQTT
Devido à baixa sobrecarga, o MQTT alcança tempos de transporte curtos. Se não houver atraso entre o editor e o agente, e o assinante estiver conectado ao agente e ouvir ativamente, a resposta prometida “quase em tempo real” e “sem atrasos” pode, em teoria, ser alcançada.
Segurança do MQTT
O MQTT oferece a capacidade de autenticar com um nome de usuário e senha durante a fase de inicialização da conexão. Desde o MQTT 5, apenas o campo de senha pode ser usado para uma transferência de token e os mecanismos de segurança adicionais são necessários, como autenticação de resposta de desafio.
Implementação do MQTT
O MQTT é o mais compacto de todos os protocolos. Ele requer trabalho mínimo na implementação e nos recursos do sistema, como espaço de armazenamento, potência de computação e capacidade de transmissão, são significativamente reduzidos durante o tempo de execução, em comparação com todos os outros protocolos. Apenas medidas de segurança adicionais podem aumentar o trabalho envolvido.
Aplicações do MQTT
O MQTT é perfeito, por exemplo, quando uma solução simples e compacta é tudo o que há de necessário. Esse é o caso de quando os dados são coletados de vários sensores ou a mesma informação é enviada para muitos sensores do mesmo tipo ao mesmo tempo, ou quando o baixo consumo de energia e os requisitos de memória muito baixos são necessários. O MQTT é implementado em vários cenários, como automóveis conectados, aplicações militares, redes de equipamentos industriais, controle de drones etc.
Protocolos de comunicação baseados em TCP
Você quer saber mais sobre os vários protocolos de comunicação baseados em TCP como tecnologias habilitadoras para IIoT? Obtenha seu Documento técnico grátis agora.
Assine nossa newsletter e receba regularmente notícias e fatos interessantes do mundo da automação.