Menu ▾ ▴

mqtt

Mobius One

Home > MQTT

MQTT

[!IMPORTANT]
Em desenvolvimento (2.0). Ainda não está numa versão lançada e pode mudar.

Nível: iniciante

Em uma frase: o pacote MQTT do RAL traz cliente e broker MQTT (3.1.1 e 5.0),
cliente e gateway MQTT-SN e uma ponte para o servidor REST, tudo em Pascal, nos
mesmos componentes de arrastar e soltar do resto do RAL.

Você vai precisar: RAL 2.0 com o pacote RALModuleMQTTPackage instalado (e o
RALModuleMQTTDsgn para a IDE). Para TLS, a OpenSSL 1.1 ou 3 ao lado do executável
(dependências). Nenhuma outra biblioteca.

MQTT ou REST?

você quer use
pedir algo e receber a resposta daquele pedido REST (rotas, cliente)
receber avisos assim que acontecem, sem perguntar de tempo em tempo MQTT
muitos aparelhos pequenos mandando leituras MQTT (ou MQTT-SN, se for UDP ou rádio)
que a mensagem chegue mesmo com a rede caindo MQTT com QoS 1 ou 2
as duas coisas o broker do RAL com a ponte REST

No MQTT ninguém chama ninguém: quem tem uma notícia publica num tópico
(casa/sala/temperatura), e quem quer saber assina o tópico (ou um filtro como
casa/+/temperatura ou casa/#). O broker fica no meio e entrega.

Os componentes

componente paleta para
TRALMQTTClient RAL - Client conectar a qualquer broker MQTT (o do RAL, Mosquitto, EMQX, HiveMQ, nuvens)
TRALMQTTSNClient RAL - Client MQTT-SN, para UDP e redes de sensores
TRALMQTTBroker RAL - Server ser o broker
TRALMQTTSNGateway RAL - Server receber clientes MQTT-SN no broker do RAL
TRALMQTTRestModule RAL - Modules publicar e consultar o broker por HTTP
TRALMQTTBasicAuth, TRALMQTTSCRAMAuth, TRALMQTTNetTokenAuth, TRALMQTTSelfTokenAuth, TRALMQTTSASAuth, TRALMQTTCustomAuth RAL - Client como o cliente se identifica (segurança)
TRALMQTTDataSetLink RAL - DAO mostrar as mensagens num grid (pacote opcional RALModuleMQTTDBPackage)
ações TRALMQTTConnect, TRALMQTTDisconnect, TRALMQTTPublish (ActionList) botões e menus sem código

Versões e transportes

  • MQTT 5.0 é o padrão; 3.1.1 por escolha (ProtocolVersion) ou sozinho, quando o
    broker não aceita 5.0 (VersionFallback).
  • TCP (mqtt://, porta 1883), TLS (mqtts://, 8883), WebSocket (ws://, wss://),
    e por proxy HTTP ou SOCKS5.
  • MQTT-SN 1.2 e 2.0 (este ainda é rascunho da OASIS) sobre UDP, com DTLS.

Veja também


Related

Wiki: Home
Wiki: _Sidebar
Wiki: broker mqtt
Wiki: cliente mqtt
Wiki: cliente
Wiki: guia_dependencias
Wiki: mqtt confiabilidade
Wiki: mqtt rest
Wiki: mqtt seguranca
Wiki: mqtt sn
Wiki: roadmap
Wiki: rotas