No Overflow de Pilha, há uma pergunta sobre a implementação da interação de solicitação / resposta no MQTT. Como uma resposta observa, você pode fazê-lo publicando a solicitação em um tópico e ouvindo a resposta em outro token que foi incluído na solicitação. É um pouco estranho, mas funciona.
Como o MQTT é usado extensivamente em toda a IoT, pergunto-me, houve alguma tentativa de padronizar essa interação do tipo RPC em prol da interoperabilidade?
Respostas:
Não conheço nenhum desses padrões.
Como apontado nas respostas para a outra pergunta, pub / sub não se presta a RPC, mas pode ser dobrado para caber.
Um dos pontos fortes do MQTT é que a carga útil pode ser qualquer coisa, permitindo que um desenvolvedor faça a melhor escolha para seu projeto.
fonte
Não tenho certeza de qual é o seu requisito para o método de comunicação RPC padronizado sobre o MQTT, mas ainda fiz uma pequena pesquisa e encontrei vários pontos a serem entregues a você.
Primeiro de tudo, sobre o método padrão. Em um projeto do Github rpc, a descrição meio que prega:
O objetivo é usar o modelo de pilha (o modelo OSI é um padrão) e apenas usar o MQTT como uma das camadas da pilha.
Este projeto no json-rpc sobre mqtt usa protocolo padronizado ou pelo menos bem conhecido sobre MQTT.
Sobre o constrangimento, você não precisa criar o MQTT e o RPC sobre ele do zero, mas usar uma das bibliotecas vinculadas ou alguma outra encontrada no Github.
OK, para todos os idiomas não existe uma base pronta no Github, mas, nesse caso, a conformidade se torna um critério de planejamento e pode afetar todo o outro projeto, infelizmente.
fonte
O Hub IoT do Azure tem um conceito de métodos diretos:
Isso é implementado no MQTT (o AMQP não é suportado), em que
Eles incluíram isso em seu SDK, para que os desenvolvedores não precisem se preocupar em monitorar especificamente o tópico. Você pode implementar uma abordagem semelhante.
Como em outras respostas, pub-sub não se presta a RPC, e não existem padrões, até onde eu saiba.
Mais documentação está aqui .
fonte