Sommario:

NodeMCU - Esempio di base MQTT: 4 passaggi
NodeMCU - Esempio di base MQTT: 4 passaggi

Video: NodeMCU - Esempio di base MQTT: 4 passaggi

Video: NodeMCU - Esempio di base MQTT: 4 passaggi
Video: Come e per cosa utilizzare MQTT via Mosquitto e Paho su Raspberry Pi 2024, Dicembre
Anonim
Image
Image

Questa lezione mostrerà l'utilizzo di base del protocollo MQTT sulla scheda NodeMCU. Utilizziamo MQTTBox come client MQTT qui e utilizzeremo NodeMCU per completare le seguenti operazioni:

Pubblica "hello world" sull'argomento "outTopic" ogni due secondi. Iscriviti all'argomento "inTopic", stampa tutti i messaggi ricevuti. Presuppone che i payload ricevuti siano stringhe e non binari. Se il messaggio sottoscritto è "1", accendi il LED di bordo. Spegnere il LED di bordo se il messaggio da sottoscrivere è “0”.

Preparazione: Osoyoo NodeMCU x1

Cavo USB x1

PC x1

Arduino IDE (versione 1.6.4+)

Collega il NodeMCU al PC tramite cavo USB.

Passaggio 1: installazione della libreria

Installazione della libreria
Installazione della libreria
Installazione della libreria
Installazione della libreria

Installa la libreria PubSubClient

Abbiamo bisogno di installare la libreria endpoint MQTT (PubSubClient) per comunicare con il broker MQTT, scarica la libreria dal seguente link:

Decomprimi il file sopra, sposta la cartella decompressa nella cartella della libreria IDE di Arduino.

Apri lo IED Arduino, puoi trovare il "pubsubclient" nella colonna "Esempi".

Installa il client MQTT:

useremo MQTTBox come client MQTT. si prega di scaricare da:

Passaggio 2: codice

Codice
Codice
Codice
Codice

apri Arduino IDE–>File–>Esempio–>pubsubclient–>mqtt esp8266, otterrai un codice di esempio.

Modifica il codice per adattarlo alle tue impostazioni WiFi e MQTT come segue: 1) Configurazione hotspot: trova sotto la riga del codice, inserisci il tuo ssid e la password.

const char* ssid = “your_hotspot_ssid”;const char* password = “your_hotspot_password”;

2) Impostazione dell'indirizzo del server MQTT, qui utilizziamo il broker MQTT gratuito "broker.mqtt-dashboard.com". È possibile utilizzare l'URL o l'indirizzo IP del proprio broker MQTT per impostare sopra il valore mqtt_server. Puoi anche utilizzare alcuni famosi server MQTT gratuiti per testare il progetto come "broker.mqtt-dashboard.com", "iot.eclipse.org" ecc.

const char* mqtt_server = “broker.mqtt-dashboard.com”;

3) Impostazioni client MQTT Se il tuo broker MQTT richiede l'autenticazione clientID, nome utente e password, è necessario

modificare

if (client.connect(clientId.c_str()))

Per

if (client.connect(clientId, userName, passWord)) //inserisci qui il tuo clientId/userName/passWord

In caso contrario, mantienili come predefiniti. Dopodiché, scegli il tipo di scheda corrispondente e il tipo di porta come di seguito, quindi carica lo schizzo sul NodeMCU.

  • Scheda: "NodeMCU 0.9 (modulo ESP-12)"
  • Frequenza CPU: "80 MHz" Dimensione flash: "4 M (3 M SPIFFS)"
  • Velocità di caricamento: "115200"
  • Porta: scegli la tua porta seriale per il tuo NodeMCU

Passaggio 3: configurazione del client MQTT (MQTTBOX)

Configurazione client MQTT (MQTTBOX)
Configurazione client MQTT (MQTTBOX)
Configurazione client MQTT (MQTTBOX)
Configurazione client MQTT (MQTTBOX)
Configurazione client MQTT (MQTTBOX)
Configurazione client MQTT (MQTTBOX)
Configurazione client MQTT (MQTTBOX)
Configurazione client MQTT (MQTTBOX)

In questo passaggio, mostreremo come creare un client MQTT su MQTTBox.

Apri il tuo MQTTBox e fai clic sul pulsante blu per aggiungere un nuovo client MQTT.

Configura le IMPOSTAZIONI CLIENT MQTT come di seguito:

  • Nome cliente MQTT: scegli il nome che preferisci
  • Protocollo -- Scegli "mqtt/tcp"
  • Host - Digita il tuo "mqtt_server" in questa colonna, assicurati che sia lo stesso del tuo schizzo. (Qui usiamo "broker.mqtt-dashboard.com")
  • Mantieni le altre impostazioni come predefinite
  • Fare clic per salvare le modifiche.

Successivamente, entrerai automaticamente nella nuova pagina. Se tutta la configurazione di cui sopra è corretta, "Non connesso" cambierà in "Connesso", il nome del tuo client MQTT e il nome dell'host verranno visualizzati nella parte superiore di questa pagina.

Impostazione dell'argomento: assicurati che l'argomento di pubblicazione del tuo client MQTT sia lo stesso dell'argomento di sottoscrizione dello schizzo Arduino (in Topic qui). Assicurati che l'argomento di iscrizione del tuo client MQTT sia lo stesso dell'argomento di pubblicazione dello schizzo Arduino (outTopic qui).

Passaggio 4: risultato del programma in esecuzione

Risultato in esecuzione del programma
Risultato in esecuzione del programma
Risultato in esecuzione del programma
Risultato in esecuzione del programma
Risultato in esecuzione del programma
Risultato in esecuzione del programma
Risultato in esecuzione del programma
Risultato in esecuzione del programma

Una volta completato il caricamento, se il nome dell'hotspot wifi e l'impostazione della password sono ok e il broker MQTT è connesso, apri Serial Monitor, vedrai il messaggio di pubblicazione "ciao mondo" sul monitor seriale.

Quindi apri il client MQTT e pubblica il payload "1" sull'argomento, questo NodeMCU riceverà questi messaggi iscrivendoti a "inTopic" e il LED si accenderà.

Pubblica payload "0" su questo argomento, il LED NodeMCU sarà spento.

Consigliato: