Skip to content
mobius1qwe edited this page Oct 27, 2026 · 1 revision

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

Clone this wiki locally