Como usar o MQTT no Arduino, que usa serial com para enviar comandos AT para o ESP8266

10

Comecei a pesquisar no protocolo MQTT.

Situação

No meu projeto da faculdade, atualmente, uso o Arduino como principal MCU e faço todos os trabalhos nele e uso o Serial Comm. para enviar comandos AT para esp8266 (para solicitações HTTP, para executar scripts no servidor etc). Basicamente, eu precisava enviar alguns dados (do Arduino) para uma página da Web (hospedada por um servidor local). Pesquisei e descobri o protocolo MQTT , que permite publicar e assinar dados de clientes (exatamente o que eu queria). Mas a maioria dos tutoriais que estou encontrando é inteiramente no Arduino (com escudo wifi) ou totalmente no esp8266.

O que eu quero saber é que existe uma maneira possível de usar o MQTT como na minha configuração atual? Ou seja, usar o Arduino para fazer todo o trabalho e usar seu comm serial. Publicando dados apenas pelos comandos AT no MQTT.

Informações adicionais sobre o meu projeto são mencionadas aqui: Confusas sobre qual tecnologia usar no Smart Home System

Salim Shamim
fonte
Você pode enviar MQTT via wifi entre Arduino e ESP. Não há necessidade de fazer a conexão física.
Jimmy Westberg
por isso eu precisaria de wifi no Arduino também, não é? Não preciso enviar dados entre o Arduino e o ESP. Eu estou usando esp para o envio de dados de arduino ao servidor local, o meu arduino esquentar têm um escudo wi-fi
Salim Shamim
Ah, se você já tiver a conexão física, basta olhar para o FW ESP Easy, que possui uma integração MQTT bastante sólida.
Jimmy Westberg
sonyarouje.com/2016/03/15/… Encontrei este post, é o que você estava dizendo: P É o caminho a seguir? Desculpe, eu sou apenas super newb: D
Salim Shamim
11
Tentei MQTT sobre UART (para enviar comandos AT para esp8266) github.com/nopnop2002/MQTT_UNO
nopnop2002

Respostas:

4

Finalmente encontrei um tutorial da Sony Arouje . Acontece que eu tive que abandonar completamente o envio manual de comandos esp e tive que usar a biblioteca (WiFiEsp.h). Dica ... é melhor!

Embora inicialmente não funcionasse com o meu esp8266 porque tinha um firmware mais antigo e relatou o erro "firmware não suportado". Eu tive que piscar um firmware mais recente (funciona com a versão 1.54 no meu caso). Qualquer pessoa com problemas ao atualizar o firmware pode encontrar ajuda para consultar este tópico: Não é possível atualizar o firmware mais recente do ESP8266, diz "Erro de atualização rápida" e "Chefe de pacote inválido ('')"

Além disso, salvei uma cópia de todas as ferramentas de download e da própria página do tutorial; portanto, no futuro, a postagem será removida ou se alguém não encontrar as ferramentas para piscar. Entre em contato comigo ou nos comentários (não estou postando aqui, porque não sei se é bom postar o conteúdo de outra pessoa)

Salim Shamim
fonte