Indholdsfortegnelse:

NodeMCU - MQTT Grundeksempel: 4 trin
NodeMCU - MQTT Grundeksempel: 4 trin

Video: NodeMCU - MQTT Grundeksempel: 4 trin

Video: NodeMCU - MQTT Grundeksempel: 4 trin
Video: How to Publish DHT11 Sensor Data from NodeMCU to Mosquitto MQTT Broker over LAN | NodeMCU | MQTT | 2024, Juli
Anonim
Image
Image

Denne lektion viser den grundlæggende MQTT -protokolbrug på NodeMCU -kortet. Vi bruger MQTTBox som MQTT -klienten her, og vi vil bruge NodeMCU til at fuldføre følgende operationer:

Udgiv "hej verden" til emnet "outTopic" hvert andet sekund. Abonner på emnet "inTopic", udskriv alle modtagne meddelelser. Det forudsætter, at de modtagne nyttelast er strenge, ikke binære. Hvis den abonnerede meddelelse er "1", tænd for onboard LED. Sluk den indbyggede LED, hvis meddelelsen om at abonnere er “0”.

Forberedelse: Osoyoo NodeMCU x1

USB -kabel x1

PC x1

Arduino IDE (Versin 1.6.4+)

Tilslut NodeMCU til pc via USB -kabel.

Trin 1: Installation af bibliotek

Installation af bibliotek
Installation af bibliotek
Installation af bibliotek
Installation af bibliotek

Installer PubSubClientlibrary

Vi har brug for at installere MQTT-endepunktsbibliotek (PubSubClient) for at kommunikere med MQTT-mægler, download biblioteket fra følgende link:

Udpak filen ovenfor, flyt den udpakkede mappe til Arduino IDE bibliotekmappe.

Åbn Arduino IED, du kan finde "pubsubclient" i kolonnen "Eksempler".

Installer MQTT -klient:

vi vil bruge MQTTBox som MQTT -klient. download venligst fra:

Trin 2: Kode

Kode
Kode
Kode
Kode

åbn Arduino IDE–> File–> Eksempel–> pubsubclient–> mqtt esp8266, får du prøvekode.

Rediger koden, så den passer til dine egne WiFi- og MQTT -indstillinger som følgende operationer: 1) Hotspot -konfiguration: Find nedenfor kodelinjen, sæt din egen ssid og adgangskode der.

const char* ssid = "your_hotspot_ssid"; const char* password = "your_hotspot_password";

2) MQTT Server Address Setting, her bruger vi gratis MQTT-mægler "broker.mqtt-dashboard.com". Du kan bruge din egen MQTT -mægler -URL eller IP -adresse til at angive over mqtt_server -værdien. Du kan også bruge en berømt gratis MQTT-server til at teste projektet, f.eks. “Broker.mqtt-dashboard.com”, “iot.eclipse.org” osv.

const char* mqtt_server = “mægler.mqtt-dashboard.com”;

3) MQTT -klientindstillinger Hvis din MQTT -mægler kræver clientID, brugernavn og adgangskodegodkendelse, skal du

lave om

hvis (client.connect (clientId.c_str ()))

Til

hvis (client.connect (clientId, userName, passWord)) // læg dit clientId/userName/passWord her

Hvis ikke, skal du bare beholde dem som standard. Efter at have gjort det, skal du vælge den tilsvarende korttype og porttype som nedenfor, og derefter uploade skitsen til NodeMCU.

  • Board:”NodeMCU 0.9 (ESP-12 Modul)”
  • CPU -frekvens: "80MHz" Flashstørrelse: "4M (3M SPIFFS)"
  • Uploadhastighed:”115200 ″
  • Port: Vælg din egen serielle port til din NodeMCU

Trin 3: Konfigurer MQTT -klient (MQTTBOX)

Konfigurer MQTT -klient (MQTTBOX)
Konfigurer MQTT -klient (MQTTBOX)
Konfigurer MQTT -klient (MQTTBOX)
Konfigurer MQTT -klient (MQTTBOX)
Konfigurer MQTT -klient (MQTTBOX)
Konfigurer MQTT -klient (MQTTBOX)
Konfigurer MQTT -klient (MQTTBOX)
Konfigurer MQTT -klient (MQTTBOX)

I dette trin viser vi, hvordan du opretter en MQTT -klient på MQTTBox.

Åbn din MQTTBox, og klik på den blå knap for at tilføje en ny MQTT -klient.

Konfigurer MQTT -KLIENTINDSTILLINGER som nedenfor:

  • MQTT -klientnavn - Vælg et navn, du kan lide
  • Protokol - Vælg "mqtt/tcp"
  • Host - Skriv din "mqtt_server" i denne kolonne, sørg for at den er den samme som din skitse. (Vi bruger "broker.mqtt-dashboard.com" her)
  • Behold andre indstillinger som standard
  • Klik for at gemme dine ændringer.

Derefter kommer du automatisk ind på den nye side. Hvis al ovenstående konfigration er korrekt, ændres "Ikke forbundet" til "Forbundet", dit MQTT -klientnavn og værtsnavn vises øverst på denne side.

Emneindstilling: Sørg for, at dit MQTT -klientudgivelsesemne er det samme som dit Arduino -skitseabonnementsemne (inTopic her). Sørg for, at dit MQTT -klient -abonnementsemne er det samme som dit Arduino -skitsepubliceringsemne (outTopic here).

Trin 4: Program kører resultat

Program kører resultat
Program kører resultat
Program kører resultat
Program kører resultat
Program kører resultat
Program kører resultat
Program kører resultat
Program kører resultat

Når overførslen er udført, hvis wifi -hotspots navn og adgangskodeindstilling er ok, og MQTT -mægler er tilsluttet, skal du åbne Serial Monitor, og du vil se udgivelsesmeddelelsen "hej verden" på den serielle skærm.

Åbn derefter MQTT -klienten og udgiv nyttelast “1” til emnet, denne NodeMCU modtager disse meddelelser ved at abonnere på “inTopic”, og LED’en lyser.

Udgiv nyttelast “0” til dette emne, NodeMCU -LED’en vil blive slukket.

Anbefalede: