[!IMPORTANT]
Em desenvolvimento (2.0). Ainda não está numa versão lançada e pode mudar.Nível: iniciante
Em uma frase: o TRALMQTTRestModule deixa qualquer programa que fala HTTP
publicar no broker do RAL e consultá-lo, pelas rotas de um servidor RAL comum.
Você vai precisar: um servidor RAL de qualquer motor e um TRALMQTTBroker.
TRALMQTTRestModule (paleta RAL - Modules), ligue Server aoBroker ao broker.Domain é o começo das rotas (/mqtt).| rota | faz |
|---|---|
POST /mqtt/publish/<tópico> |
publica o corpo; qos e retain na query (ou nos cabeçalhos X-MQTT-QoS, X-MQTT-Retain); responde 204 |
GET /mqtt/retained/<tópico> |
a mensagem retida do tópico, ou 404 |
GET /mqtt/clients |
os clientes conectados, em JSON |
GET /mqtt/stats |
os contadores do broker, em JSON |
RALClient1.Request.Params.AddParam('ral_body', 'ligada', rpkBODY);
RALClient1.Post('/mqtt/publish/sala/luz?qos=1&retain=true', vResposta);
Os plugins e a autenticação do servidor valem para essas rotas, e o tópico passa pelas
Permissions do broker com o usuário do HTTP (o nome do Basic ou o sub do token).
| resposta | causa |
|---|---|
| 400 | tópico com + ou #, ou qos fora de 0 a 2 |
| 403 | as Permissions do broker não deixam esse usuário nesse tópico |
| 503 | o módulo está sem Broker |