Turinys:

NodeMCU - MQTT Pagrindinis pavyzdys: 4 žingsniai
NodeMCU - MQTT Pagrindinis pavyzdys: 4 žingsniai

Video: NodeMCU - MQTT Pagrindinis pavyzdys: 4 žingsniai

Video: NodeMCU - MQTT Pagrindinis pavyzdys: 4 žingsniai
Video: Как использовать ESP32 WiFi и Bluetooth с Arduino IDE, полная информация с примерами и кодом. 2024, Liepa
Anonim
Image
Image

Ši pamoka parodys pagrindinį MQTT protokolo naudojimą „NodeMCU“plokštėje. Čia mes naudojame „MQTTBox“kaip „MQTT“klientą ir naudosime „NodeMCU“šioms operacijoms atlikti:

Kas dvi sekundes paskelbkite „labas pasaulis“temoje „outTopic“. Prenumeruokite temą „inTopic“, atsispausdinkite visus gautus pranešimus. Ji numato, kad gautos naudingos apkrovos yra eilutės, o ne dvejetainės. Jei prenumeruojamas pranešimas yra „1“, borto LED. Išjunkite borto šviesos diodą, jei pranešimas prenumeruoti yra „0“.

Paruošimas: „Osoyoo NodeMCU x1“

USB kabelis x1

Kompiuteris x1

„Arduino IDE“(1.6.4 ir naujesnės versijos)

Prijunkite „NodeMCU“prie kompiuterio per USB kabelį.

1 žingsnis: bibliotekos diegimas

Bibliotekos diegimas
Bibliotekos diegimas
Bibliotekos diegimas
Bibliotekos diegimas

Įdiekite „PubSubClientlibrary“

Mums reikia įdiegti „MQTT endpoint“biblioteką („PubSubClient“), kad galėtume bendrauti su MQTT brokeriu, atsisiųskite biblioteką iš šios nuorodos:

Išpakuokite aukščiau esantį failą, perkelkite išpakuotą aplanką į „Arduino IDE“bibliotekos aplanką.

Atidarykite „Arduino IED“, stulpelyje „Pavyzdžiai“rasite „pubsubclient“.

Įdiekite „MQTT Client“:

mes naudosime „MQTTBox“kaip „MQTT“klientą. atsisiųskite iš:

2 žingsnis: kodas

Kodas
Kodas
Kodas
Kodas

atidarykite „Arduino IDE“-> Failas–> Pavyzdys–> pubsubclient–> mqtt esp8266, gausite kodo pavyzdį.

Redaguokite kodą, kad jis atitiktų jūsų „WiFi“ir MQTT nustatymus, kaip nurodyta toliau: 1) „Hotspot“konfigūracija: Raskite žemiau esančią kodo eilutę, įdėkite savo SSID ir slaptažodį.

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

2) MQTT serverio adreso nustatymas, čia mes naudojame nemokamą MQTT brokerį „broker.mqtt-dashboard.com“. Galite naudoti savo MQTT tarpininko URL arba IP adresą, kad nustatytumėte didesnę nei mqtt_server reikšmę. Taip pat galite naudoti žinomą nemokamą MQTT serverį projektui išbandyti, pvz., „Broker.mqtt-dashboard.com“, „iot.eclipse.org“ir kt.

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

3) MQTT kliento nustatymai Jei jūsų MQTT brokeriui reikalingas kliento ID, vartotojo vardo ir slaptažodžio autentifikavimas, turite

keistis

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

Į

if (client.connect (clientId, userName, passWord)) // padėkite čia savo clientId/userName/passWord

Jei ne, tiesiog palikite juos kaip numatytuosius. Po to pasirinkite atitinkamą plokštės tipą ir prievado tipą, kaip nurodyta toliau, tada įkelkite eskizą į „NodeMCU“.

  • Lenta: „NodeMCU 0.9 (ESP-12 modulis)“
  • CPU dažnis: „80MHz“Blykstės dydis: „4M (3M SPIFFS)“
  • Įkėlimo greitis: "115200"
  • Uostas: pasirinkite savo „NodeMCU“nuoseklųjį prievadą

3 veiksmas: sukonfigūruokite MQTT klientą (MQTTBOX)

Config MQTT klientas (MQTTBOX)
Config MQTT klientas (MQTTBOX)
Config MQTT klientas (MQTTBOX)
Config MQTT klientas (MQTTBOX)
Config MQTT klientas (MQTTBOX)
Config MQTT klientas (MQTTBOX)
Config MQTT klientas (MQTTBOX)
Config MQTT klientas (MQTTBOX)

Šiame žingsnyje parodysime, kaip sukurti MQTT klientą „MQTTBox“.

Atidarykite „MQTTBox“ir spustelėkite mėlyną mygtuką, kad pridėtumėte naują „MQTT“klientą.

Konfigūruokite MQTT KLIENTO NUSTATYMUS taip:

  • MQTT kliento vardas - pasirinkite bet kurį jums patinkantį vardą
  • Protokolas - pasirinkite „mqtt/tcp“
  • Priegloba - šiame stulpelyje įveskite „mqtt_server“, įsitikinkite, kad jis toks pat, kaip ir eskizas. (Čia naudojame „broker.mqtt-dashboard.com“)
  • Kitus nustatymus palikite kaip numatytuosius
  • Spustelėkite, kad išsaugotumėte pakeitimus.

Tada automatiškai pateksite į naują puslapį. Jei visa aukščiau pateikta konfigūracija yra teisinga, „Neprisijungta“pasikeis į „Prisijungta“, šio puslapio viršuje bus rodomas jūsų MQTT kliento ir pagrindinio kompiuterio vardas.

Temos nustatymas: įsitikinkite, kad jūsų MQTT kliento paskelbimo tema yra tokia pati, kaip ir jūsų „Arduino“eskizo prenumeratos tema „Temoje čia“. Įsitikinkite, kad jūsų MQTT kliento prenumeratos tema sutampa su jūsų „Arduino“eskizo paskelbimo tema (outTopic čia).

4 žingsnis: programos vykdymo rezultatas

Programos veikimo rezultatas
Programos veikimo rezultatas
Programos veikimo rezultatas
Programos veikimo rezultatas
Programos veikimo rezultatas
Programos veikimo rezultatas
Programos veikimo rezultatas
Programos veikimo rezultatas

Kai įkėlimas bus baigtas, jei „Wi -Fi“viešosios interneto prieigos taško pavadinimo ir slaptažodžio nustatymai yra tinkami, o MQTT brokeris yra prijungtas, atidarykite serijos monitorių, serijiniame monitoriuje pamatysite paskelbimo pranešimą „labas pasaulis“.

Tada atidarykite MQTT klientą ir paskelbkite naudingąją apkrovą „1“į temą, šis „NodeMCU“gaus šiuos pranešimus užsiprenumeravęs „inTopic“, o šviesos diodas užsidegs.

Paskelbkite naudingą apkrovą „0“šiai temai, „NodeMCU“šviesos diodas bus išjungtas.

Rekomenduojamas: