Repository navigation
mqtt sn
mobius1qwe edited this page Oct 27, 2026
·
1 revision
Important
Em desenvolvimento (2.0). Ainda não está numa versão lançada e pode mudar. O MQTT-SN 2.0 é um rascunho da OASIS: pode mudar até ser publicado.
Nível: intermediário
Em uma frase: o MQTT-SN é o MQTT para UDP e redes de sensores: pacotes menores,
tópicos trocados por números e aparelhos que dormem; o TRALMQTTSNClient fala com
qualquer gateway, e o TRALMQTTSNGateway põe esses aparelhos dentro do broker do RAL.
Você vai precisar: o pacote RALModuleMQTTPackage; para DTLS, a OpenSSL.
- Com um
TRALMQTTBrokerno formulário, coloque umTRALMQTTSNGateway(paleta RAL - Server) e ligueBroker. -
Porté a porta UDP (1884).DTLSPortabre UDP com DTLS, com o certificado do broker. -
Versionsdiz quais versões aceita (1.2 e 2.0, juntas).PredefinedTopicslista os tópicos conhecidos dos dois lados (7=casa/porta). - Ligue o broker: o gateway sobe com ele.
Cada aparelho MQTT-SN vira uma sessão do próprio broker: um cliente MQTT que assina
casa/# recebe o que o aparelho publica, e o contrário.
RALMQTTSNClient1.Host := '192.168.0.10';
RALMQTTSNClient1.SNVersion := sv12;
RALMQTTSNClient1.Connect;
RALMQTTSNClient1.Subscribe('casa/porta', mqQoS1);
RALMQTTSNClient1.Publish('casa/sensor/1', '23.5', mqQoS1);- Sem
Hoste comGatewayDiscovery, o cliente procura o gateway pela rede. - QoS -1:
PublishMinusOnepublica sem conexão, num tópico predefinido ou de dois caracteres. - Dormir:
Sleep_(segundos)avisa o gateway, que guarda as mensagens;Wakebusca o que chegou e o cliente volta a dormir. - Um pedido por vez, como o padrão manda; cada um é reenviado a cada
RetryIntervalatéRetryCountvezes.
| sintoma | causa | o que fazer |
|---|---|---|
| "No MQTT-SN gateway answered" | a busca não achou ninguém | informe Host e Port
|
| QoS -1 não chega | tópico que não é predefinido nem de dois caracteres (1.2) |
PredefinedTopics iguais no cliente e no gateway |
| o aparelho some depois de dormir | dormiu mais que o combinado | o gateway espera 1,5 vez o tempo de Sleep_; acorde antes |
- MQTT 🚧
- Broker MQTT 🚧
- Rede ruim 🚧
Começar
Servidor
- Rotas e parâmetros
- Rotas avançadas: tipos, grupos, versões 🚧
- Ler o pedido e responder
- Resposta em fluxo 🚧
- Plugins 🚧
- Autenticação
- Banco de dados (DBWare)
- Servir site e arquivos
- Swagger e Postman
- Servidor SOAP 🚧
- HTTPS
- Criptografia ponto a ponto
- Segurança para produção
- Colocar no ar
- Desempenho
MQTT 🚧
- O que é e quando usar 🚧
- Cliente MQTT 🚧
- Broker MQTT 🚧
- MQTT-SN 🚧
- Ponte REST 🚧
- Segurança 🚧
- Rede ruim 🚧
Cliente
Motores
Avançado
Ajuda
- Problemas comuns
- Atualizar o Indy
- Várias versões do Delphi
- Vídeos e guias
- Módulos de terceiros
- Licenças
- Contribuir
- Roadmap e changelog
🚧 = em desenvolvimento, pode mudar