Estou trabalhando em um dispositivo que detecta e coleta informações do ambiente, como temperatura, umidade etc.
O dispositivo não está conectado a nenhuma fonte de energia, mas possui uma bateria e um painel solar para carregá-lo.
Está quase em um estado de sono profundo na maioria das vezes, e só é ativado quando é necessário detectar e transferir dados. Esta operação leva cerca de 1-2 minutos e depois entra no modo de suspensão novamente.
Não sou especialista nesta área, mas acho que o MQTT deve ser uma boa opção se o dispositivo precisar estar acessível para receber mensagens de um tópico o tempo todo, mas, no meu cenário, ele apenas lê sensores e envia dados para um servidor periodicamente.
Atualmente, estou enviando os dados por HTTP, mas estou pensando se faz sentido implementar o MQTT? Devo ter alguma vantagem sobre HTTP para este cenário?
Respostas:
Se você estiver armazenando dados, basta manter o HTTP. HTTP é apenas um sinal de sentido único.
Se o seu servidor ou qualquer outra "coisa" reagir a um sinal específico (baixa temperatura, ...), use o MQTT. Assim, muitos dispositivos podem assinar o seu sinal de temperatura e reagir imediatamente sem usar o servidor.
fonte
Como você menciona um painel solar e uma bateria como parte do dispositivo, provavelmente deseja minimizar o uso de energia durante as transmissões para garantir que o dispositivo não fique completamente sem energia.
Portanto, você pode querer considerar Coap , o Co nstrained A APLICAÇÃO P rotocolo, que é projetado especificamente para dispositivos com restrições na Internet das Coisas.
No artigo Comparando a relação custo-benefício do CoAP e HTTP nos aplicativos Web of Things , você pode encontrar algumas evidências bastante convincentes de que o CoAP pode obter algumas economias de energia aqui. No Apêndice A (página 38), você pode dar uma olhada na duração esperada da bateria dos dispositivos na Tabela A.4. Por um intervalo de tempo de 120 segundos, como você espera no seu caso de uso:
Esses cálculos foram executados em um par de baterias AA de carbono-zinco, mas você pode ver claramente que o CoAP consome muito menos energia, portanto vale a pena considerar. Seu 'modo push', conforme descrito no artigo, parece exatamente o tipo de coisa que você planeja fazer.
Embora você não tenha perguntado especificamente sobre o CoAP, acho que vale a pena mencionar, pois o Goufalite já cobriu as diferenças essenciais entre o MQTT e o HTTP. Uma boa regra geral é: você planeja se comunicar individualmente ou um para muitos ? Se for o primeiro, HTTP e CoAP parecerão melhores ajustes. Se for o último, o MQTT provavelmente é mais conveniente.
fonte