Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
See õppetund näitab põhilist MQTT -protokolli kasutamist NodeMCU -plaadil. Me kasutame siin MQTT -kliendina MQTTBoxi ja kasutame NodeMCU -d järgmiste toimingute tegemiseks:
Avaldage iga kahe sekundi tagant teema "outTopic" "tere maailm". Tellige teema "inTopic", printige välja kõik vastuvõetud sõnumid. See eeldab, et vastuvõetud kasulikud koormused on stringid, mitte kahendfailid. Kui tellitud sõnum on "1", onboards LED. Lülitage sisseehitatud LED välja, kui tellimusteade on "0".
Ettevalmistus: Osoyoo NodeMCU x1
USB -kaabel x1
PC x1
Arduino IDE (versioon 1.6.4+)
Ühendage NodeMCU arvutiga USB -kaabli abil.
Samm: raamatukogu installimine
Installige PubSubClientlibrary
Vajame MQTT maakleriga suhtlemiseks MQTT lõpp-teeki (PubSubClient), palun laadige raamatukogu alla järgmiselt lingilt:
Pakkige fail ülal lahti, teisaldage lahtipakitud kaust Arduino IDE raamatukogu kausta.
Avage Arduino IED, jaotis „pubsubclient” leiate veerust „Näited”.
Installige MQTT klient:
kasutame MQTTBoxi MQTT kliendina. palun laadige alla aadressilt:
2. samm: kood
avage Arduino IDE–> Fail–> Näide–> pubsubclient–> mqtt esp8266, saate näidiskoodi.
Muutke koodi, et see sobiks teie WiFi ja MQTT seadetega järgmiselt: 1) leviala konfiguratsioon: otsige allpool koodirida, pange sinna oma SSID ja parool.
const char* ssid = “sinu_hotspot_ssid”; const char* parool = “your_hotspot_password”;
2) MQTT serveri aadressi seadistus, siin kasutame tasuta MQTT maaklerit "broker.mqtt-dashboard.com". Saate kasutada oma MQTT maakleri URL -i või IP -aadressi, et määrata väärtus üle mqtt_server. Projekti testimiseks võite kasutada ka mõnda kuulsat tasuta MQTT-serverit, näiteks „broker.mqtt-dashboard.com”, „iot.eclipse.org” jne.
const char* mqtt_server = “maakler.mqtt-dashboard.com”;
3) MQTT kliendiseaded Kui teie MQTT maakler nõuab kliendi ID, kasutajanime ja parooli autentimist, peate
muutus
if (client.connect (clientId.c_str ()))
To
if (client.connect (clientId, userName, passWord)) // pane siia oma clientId/userName/passWord
Kui ei, siis jätke need vaikimisi. Pärast seda valige vastav tahvli tüüp ja pordi tüüp, nagu allpool, ja laadige eskiis NodeMCU -sse.
- Tahvel: "NodeMCU 0.9 (ESP-12 moodul)"
- Protsessori sagedus: "80MHz" Välgu suurus: "4M (3M SPIFFS)"
- Üleslaadimiskiirus: "115200"
- Port: valige oma NodeMCU jaoks jadaport
3. samm: seadistage MQTT klient (MQTTBOX)
Selles etapis näitame, kuidas MQTTBoxis MQTT -klienti luua.
Avage MQTTBox ja klõpsake uue MQTT kliendi lisamiseks sinist nuppu.
Seadistage MQTT KLIENDI SEADED järgmiselt.
- MQTT kliendi nimi - valige suvaline nimi
- Protokoll - valige "mqtt/tcp"
- Host - Sisestage sellesse veergu oma „mqtt_server”, veenduge, et see oleks sama, mis teie visand. (Kasutame siin „broker.mqtt-dashboard.com”)
- Hoidke muud seaded vaikimisi
- Klõpsake muudatuste salvestamiseks.
Järgmisena sisenete automaatselt uuele lehele. Kui kõik ülaltoodud seadistused on õiged, muutub „Not Connected“olekuks „Connected“, teie lehe MQTT kliendinimi ja hostinimi kuvatakse selle lehe ülaosas.
Teemaseade: veenduge, et teie MQTT -kliendi avaldamise teema oleks sama, mis teie Arduino visandi tellimisteema (siin teemas). Veenduge, et teie MQTT kliendi tellimisteema on sama, mis teie Arduino visandi avaldamise teema (outTopic siin).
4. samm: programmi jooksev tulemus
Kui üleslaadimine on lõppenud, kui wifi leviala nime ja parooli seaded on korras ja MQTT maakler on ühendatud, avage jadamonitor, näete jadamonitoril avaldamisteadet „tere maailm“.
Seejärel avage MQTT klient ja avaldage teema jaoks kasulik koormus “1”, see NodeMCU võtab need sõnumid vastu, tellides “inTopic” ja LED süttib.
Avaldage selle teema jaoks kasulik koormus “0”, NodeMCU LED kustub.