Come usare MQTT su Arduino che usa la seriale per inviare comandi AT a ESP8266


10

Ho appena iniziato a esaminare il protocollo MQTT.

Situazione

Nel mio progetto universitario, attualmente, utilizzo Arduino come MCU principale e faccio tutto il lavoro e utilizzo la comunicazione seriale. per inviare comandi AT a esp8266 (per richieste HTTP, per eseguire script sul server ecc.). Fondamentalmente avevo bisogno di inviare alcuni dati (da Arduino) su una pagina web (ospitata da un server locale). Ho cercato e trovato il protocollo MQTT che consente di pubblicare e sottoscrivere dati sui client (esattamente quello che volevo). Ma la maggior parte dei tutorial che sto trovando sono o interamente su Arduino (con protezione wifi) o interamente su esp8266.

Quello che voglio sapere è che esiste un modo possibile di utilizzare MQTT come con la mia configurazione attuale? Cioè, usando Arduino per fare tutto il lavoro e usando la sua comunicazione seriale. Pubblicazione dei dati solo tramite comandi AT su MQTT.

Ulteriori informazioni sul mio progetto sono menzionate qui: confuso su quale tecnologia utilizzare in Smart Home System


Puoi inviare MQTT tramite Wi-Fi tra Arduino ed ESP. Non è necessario eseguire la connessione fisica.
Jimmy Westberg

per questo avrei bisogno del wifi anche su Arduino, no? Non ho bisogno di inviare dati tra Arduino ed ESP. Sto usando esp per inviare dati da arduino al server locale, il mio arduino non ha uno scudo wifi
Salim Shamim

Aha, se hai già fatto la connessione fisica, guarda FW ESP Easy, che ha un'integrazione MQTT piuttosto solida pronta all'uso.
Jimmy Westberg

sonyarouje.com/2016/03/15/… Ho trovato questo post, è quello che stavi dicendo: P È la strada da percorrere? Mi dispiace, sono solo un principiante: D
Salim Shamim

1
Ho provato MQTT su UART (per inviare comandi AT a esp8266) github.com/nopnop2002/MQTT_UNO
nopnop2002

Risposte:


4

Alla fine ho trovato un tutorial di Sony Arouje . A quanto pare ho dovuto abbandonare completamente l'invio manuale dei comandi esp e ho dovuto usare la libreria (WiFiEsp.h). Suggerimento ... è meglio!

Sebbene inizialmente non funzionasse con il mio esp8266 perché aveva un firmware più vecchio e riportava l'errore "firmware non supportato". Ho dovuto eseguire il flashing di un firmware più recente (nel mio caso funziona con la versione 1.54). Chiunque abbia problemi a eseguire il flashing del firmware può trovare aiuto facendo riferimento a questo argomento: Impossibile aggiornare il firmware ESP8266 più recente, dice "Errore flash veloce" e "Headset del pacchetto non valido ('')"

Inoltre, ho salvato una copia di tutti gli strumenti di download e della stessa pagina tutorial, quindi se in futuro il post viene rimosso o se qualcuno non trova gli strumenti per il flash. Ricevi commenti o altro (non pubblicare qui perché non so se pubblicare contenuti di qualcun altro)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.