INHOUDSOPGAWE:

NodeMCU - MQTT Basiese voorbeeld: 4 stappe
NodeMCU - MQTT Basiese voorbeeld: 4 stappe

Video: NodeMCU - MQTT Basiese voorbeeld: 4 stappe

Video: NodeMCU - MQTT Basiese voorbeeld: 4 stappe
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, November
Anonim
Image
Image

Hierdie les wys die basiese gebruik van MQTT -protokol op die NodeMCU -bord. Ons gebruik die MQTTBox as die MQTT -kliënt hier, en ons sal die NodeMCU gebruik om die volgende bewerkings te voltooi:

Publiseer elke twee sekondes 'hallo wêreld' onder die onderwerp 'outTopic'. Teken in op die onderwerp 'inTopic', druk alle ontvangde boodskappe uit. Dit veronderstel dat die ontvangde vragte stringe is, nie binaries nie. As die ingeskrewe boodskap '1' is, lig die onboard LED. Skakel die LED aan boord af as die boodskap om in te teken '0' is.

Voorbereiding: Osoyoo NodeMCU x1

USB -kabel x1

Rekenaar x1

Arduino IDE (weergawe 1.6.4+)

Koppel die NodeMCU aan 'n rekenaar via 'n USB -kabel.

Stap 1: Biblioteekinstallasie

Installasie van die biblioteek
Installasie van die biblioteek
Installasie van die biblioteek
Installasie van die biblioteek

Installeer PubSubClientlibrary

Ons benodig die MQTT-eindpuntbiblioteek (PubSubClient) om met die MQTT-makelaar te kommunikeer; laai die biblioteek af vanaf die volgende skakel:

Pak die bogenoemde lêer uit, skuif die uitgepakte vouer na die Arduino IDE -biblioteekmap.

Maak die Arduino IED oop, u kan die 'pubsubclient' vind in die kolom 'Voorbeelde'.

Installeer MQTT -kliënt:

ons sal die MQTTBox as die MQTT -kliënt gebruik. Laai dit af van:

Stap 2: Kode

Kode
Kode
Kode
Kode

maak Arduino IDE–> File–> Voorbeeld–> pubsubclient–> mqtt esp8266 oop, u kry voorbeeldkode.

Wysig die kode om by u eie WiFi- en MQTT -instellings te pas soos volg: 1) Hotspot -konfigrasie: vind onder die kodelyn, sit u eie ssid en wagwoord daar.

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

2) MQTT Server Address Setting, hier gebruik ons gratis MQTT makelaar "broker.mqtt-dashboard.com". U kan u eie MQTT -makelaar -URL of IP -adres gebruik om bo mqtt_server -waarde in te stel. U kan ook 'n bekende MQTT-bediener gebruik om die projek te toets, soos 'broker.mqtt-dashboard.com', 'iot.eclipse.org', ens.

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

3) MQTT -kliëntinstellings As u MQTT -makelaar clientID, verifikasie van gebruikersnaam en wagwoord benodig, moet u

verander

as (client.connect (clientId.c_str ()))

Aan

as (client.connect (clientId, userName, passWord)) // plaas u clientId/userName/passWord hier

As dit nie die geval is nie, hou dit dan as standaard; kies dan die ooreenstemmende bordtipe en poorttipe soos hieronder, en laai dan die skets op na die NodeMCU.

  • Raad: "NodeMCU 0.9 (ESP-12-module)"
  • CPU -frekwensie: "80MHz" flitsgrootte: "4M (3M SPIFFS)"
  • Oplaaisnelheid:”115200 ″
  • Poort: kies u eie seriële poort vir u NodeMCU

Stap 3: Config MQTT Client (MQTTBOX)

Config MQTT -kliënt (MQTTBOX)
Config MQTT -kliënt (MQTTBOX)
Config MQTT -kliënt (MQTTBOX)
Config MQTT -kliënt (MQTTBOX)
Config MQTT -kliënt (MQTTBOX)
Config MQTT -kliënt (MQTTBOX)
Config MQTT -kliënt (MQTTBOX)
Config MQTT -kliënt (MQTTBOX)

In hierdie stap sal ons wys hoe u 'n MQTT -kliënt op die MQTTBox kan skep.

Maak u MQTTBox oop en klik op die blou knoppie om 'n nuwe MQTT -kliënt by te voeg.

Stel die MQTT -KLIËNTINSTELLINGS soos volg op:

  • MQTT -kliëntnaam - kies enige naam wat u wil
  • Protokol - Kies “mqtt/tcp”
  • Gasheer - Tik u 'mqtt_server' in hierdie kolom, maak seker dat dit dieselfde is as u skets. (Ons gebruik 'broker.mqtt-dashboard.com' hier)
  • Hou ander instellings as standaard
  • Klik om u veranderinge te stoor.

Vervolgens gaan u outomaties die nuwe bladsy in. As al die bogenoemde konfigrasie korrek is, verander die 'Nie gekoppel' na 'Gekoppel', u MQTT -kliëntnaam en gasheernaam sal bo -aan hierdie bladsy verskyn.

Onderwerpopstelling: Maak seker dat u onderwerp vir publisering van MQTT -klante dieselfde is as u Arduino -skets -intekeningonderwerp (inTopic hier). Maak seker dat u intekeningonderwerp vir die MQTT -kliënt dieselfde is as die onderwerp van u Arduino -skets, outTopic hier).

Stap 4: Programuitvoerresultaat

Lopende resultaat van die program
Lopende resultaat van die program
Lopende resultaat van die program
Lopende resultaat van die program
Program loop resultaat
Program loop resultaat
Lopende resultaat van die program
Lopende resultaat van die program

Sodra die oplaai voltooi is, as die naam van die wifi -hotspot en die wagwoord goed is en die MQTT -makelaar gekoppel is, maak die Serial Monitor oop, sien u die boodskap "Hallo wêreld" op die seriële monitor.

Maak dan die MQTT -kliënt oop en publiseer die lading "1" vir die onderwerp, hierdie NodeMCU sal hierdie boodskappe ontvang deur in te teken op die "inTopic", en die LED sal brand.

Publiseer die vragvrag “0” vir hierdie onderwerp, die NodeMCU LED sal afgeskakel word.

Aanbeveel: