Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
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
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
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)
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
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.