Sisällysluettelo:

NodeMCU - MQTT Basic Esimerkki: 4 vaihetta
NodeMCU - MQTT Basic Esimerkki: 4 vaihetta

Video: NodeMCU - MQTT Basic Esimerkki: 4 vaihetta

Video: NodeMCU - MQTT Basic Esimerkki: 4 vaihetta
Video: Penjelasa IoT (Esp 8266) 2024, Heinäkuu
Anonim
Image
Image

Tämä oppitunti näyttää perus MQTT -protokollan käytön NodeMCU -kortilla. Käytämme MQTTBoxia täällä MQTT -asiakkaana ja käytämme NodeMCU: ta seuraavien toimintojen suorittamiseen:

Julkaise "hei maailma" aiheeseen "outTopic" kahden sekunnin välein. onboards LED. Sammuta sisäinen LED, jos tilausviesti on "0".

Valmistelu: Osoyoo NodeMCU x1

USB -kaapeli x1

PC x1

Arduino IDE (versio 1.6.4+)

Liitä NodeMCU tietokoneeseen USB -kaapelilla.

Vaihe 1: Kirjaston asennus

Kirjaston asennus
Kirjaston asennus
Kirjaston asennus
Kirjaston asennus

Asenna PubSubClientlibrary

Meidän on asennettava MQTT-päätepistekirjasto (PubSubClient) kommunikoidaksemme MQTT-välittäjän kanssa, lataa kirjasto seuraavasta linkistä:

Pura tiedoston yläpuolelta, siirrä purettu kansio Arduino IDE -kirjastokansioon.

Avaa Arduino IED, löydät "pubsubclient" "Esimerkit" -sarakkeesta.

Asenna MQTT -asiakas:

käytämme MQTTBoxia MQTT -asiakkaana. lataa osoitteesta:

Vaihe 2: Koodi

Koodi
Koodi
Koodi
Koodi

avaa Arduino IDE–> Tiedosto–> Esimerkki–> pubsubclient–> mqtt esp8266, saat esimerkkikoodin.

Muokkaa koodia vastaamaan omia WiFi- ja MQTT -asetuksiasi seuraavasti: 1) Hotspot -määritys: Etsi koodirivin alapuolelta, kirjoita oma SSID ja salasana.

const char* ssid =”oma_pisteen_tunnus”; const char* salasana = “oma_pisteen_salasana”;

2) MQTT-palvelimen osoiteasetus, tässä käytämme ilmaista MQTT-välittäjää "broker.mqtt-dashboard.com". Voit käyttää omaa MQTT -välittäjän URL -osoitetta tai IP -osoitetta asettaaksesi arvon mqtt_server arvon yläpuolelle. Voit myös käyttää jotakin kuuluisaa ilmaista MQTT-palvelinta projektin testaamiseen, kuten "broker.mqtt-dashboard.com", "iot.eclipse.org" jne.

const char* mqtt_server =”välittäjä.mqtt-dashboard.com”;

3) MQTT -asiakasasetukset Jos MQTT -välittäjäsi vaatii asiakastunnuksen, käyttäjänimen ja salasanan todennuksen, sinun on

muuttaa

jos (client.connect (clientId.c_str ()))

Vastaanottaja

if (client.connect (clientId, userName, passWord)) // laita clientId/userName/passWord tähän

Jos näin ei ole, pidä ne oletusarvoisina. Valitse sen jälkeen vastaava korttityyppi ja porttityyppi kuten alla ja lataa luonnos NodeMCU: hon.

  • Taulu:”NodeMCU 0.9 (ESP-12-moduuli)”
  • Suorittimen taajuus:”80 MHz” Salaman koko:”4 M (3 M SPIFFS)”
  • Latausnopeus: "115200"
  • Portti: Valitse oma sarjaporttisi NodeMCU: lle

Vaihe 3: Määritä MQTT -asiakas (MQTTBOX)

Config MQTT Client (MQTTBOX)
Config MQTT Client (MQTTBOX)
Config MQTT Client (MQTTBOX)
Config MQTT Client (MQTTBOX)
Config MQTT Client (MQTTBOX)
Config MQTT Client (MQTTBOX)
Config MQTT Client (MQTTBOX)
Config MQTT Client (MQTTBOX)

Tässä vaiheessa näytämme kuinka luoda MQTT -asiakas MQTTBoxiin.

Avaa MQTTBox ja lisää uusi MQTT -asiakas napsauttamalla sinistä painiketta.

Määritä MQTT -ASIAKASASETUKSET seuraavasti:

  • MQTT -asiakkaan nimi - Valitse haluamasi nimi
  • Protokolla - Valitse”mqtt/tcp”
  • Isäntä - Kirjoita "mqtt_server" tähän sarakkeeseen ja varmista, että se on sama kuin luonnoksesi. (Käytämme "broker.mqtt-dashboard.com" täällä)
  • Pidä muut asetukset oletuksena
  • Tallenna muutokset napsauttamalla.

Seuraavaksi siirryt automaattisesti uudelle sivulle. Jos kaikki yllä olevat määritykset ovat oikein, "Ei yhdistetty" muuttuu tilaan "Yhdistetty", MQTT -asiakkaan ja isäntänimi näkyvät tämän sivun yläosassa.

Aiheasetus: Varmista, että MQTT -asiakasohjelmasi julkaisuaihe on sama kuin Arduino -luonnoksen tilausaiheesi op aiheessa). Varmista, että MQTT -asiakkaan tilausaiheesi on sama kuin Arduino -luonnoksen julkaisuohje (outTopic here).

Vaihe 4: Ohjelman käynnin tulos

Ohjelman käynnin tulos
Ohjelman käynnin tulos
Ohjelman käynnin tulos
Ohjelman käynnin tulos
Ohjelman käynnin tulos
Ohjelman käynnin tulos
Ohjelman käynnin tulos
Ohjelman käynnin tulos

Kun lataus on suoritettu, jos wifi -yhteyspisteen nimi ja salasana -asetukset ovat kunnossa ja MQTT -välittäjä on kytketty, avaa sarjamonitori, näet sarjamonitorissa julkaistavan viestin "hei maailma".

Avaa sitten MQTT -asiakas ja julkaise aiheeseen hyötykuorma "1", tämä NodeMCU vastaanottaa nämä viestit tilaamalla "inTopic" ja LED -valo syttyy.

Julkaise hyötykuorma "0" tähän aiheeseen, NodeMCU -merkkivalo sammuu.

Suositeltava: