Inhoudsopgave:
- Stap 1: Bibliotheekinstallatie
- Stap 2: Coderen
- Stap 3: MQTT-client configureren (MQTTBOX)
- Stap 4: Programma lopend resultaat
Video: NodeMCU - MQTT basisvoorbeeld: 4 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Deze les toont het basisgebruik van het MQTT-protocol op het NodeMCU-bord. We gebruiken hier de MQTTBox als de MQTT-client en we zullen de NodeMCU gebruiken om de volgende bewerkingen uit te voeren:
Publiceer om de twee seconden "hello world" naar het onderwerp "outTopic". Abonneer u op het onderwerp "inTopic", druk alle ontvangen berichten af. Er wordt aangenomen dat de ontvangen payloads strings zijn en geen binaire bestanden. Als het geabonneerde bericht "1" is, steekt u de onboards LED. Schakel de onboard LED uit als het bericht om te abonneren "0" is.
Voorbereiding:Osoyoo NodeMCU x1
USB-kabel x1
pc x1
Arduino IDE (versie 1.6.4+)
Verbind de NodeMCU met de pc via een USB-kabel.
Stap 1: Bibliotheekinstallatie
Installeer PubSubClientlibrary
We moeten de MQTT-eindpuntbibliotheek (PubSubClient) installeren om met de MQTT-makelaar te communiceren. Download de bibliotheek via de volgende link:
Pak het bovenstaande bestand uit, verplaats de uitgepakte map naar de Arduino IDE-bibliotheekmap.
Open de Arduino IED, je vindt de "pubsubclient" in de kolom "Voorbeelden".
MQTT-client installeren:
we zullen de MQTTBox gebruiken als de MQTT-client. gelieve te downloaden van:
Stap 2: Coderen
open Arduino IDE->Bestand->Voorbeeld->pubsubclient->mqtt esp8266, je krijgt voorbeeldcode.
Bewerk de code zodat deze past bij uw eigen WiFi- en MQTT-instellingen als volgt: 1) Hotspot-configuratie: zoek de onderstaande coderegel, plaats uw eigen ssid en wachtwoord daar.
const char* ssid = “your_hotspot_ssid”;const char* password = “your_hotspot_password”;
2) MQTT-serveradresinstelling, hier gebruiken we de gratis MQTT-makelaar "broker.mqtt-dashboard.com". U kunt uw eigen MQTT-broker-URL of IP-adres gebruiken om boven de mqtt_server-waarde in te stellen. Je kunt ook een beroemde gratis MQTT-server gebruiken om het project te testen, zoals "broker.mqtt-dashboard.com", "iot.eclipse.org" enz.
const char* mqtt_server = "broker.mqtt-dashboard.com";
3) MQTT-clientinstellingen Als uw MQTT-makelaar client-ID, gebruikersnaam en wachtwoordverificatie vereist, moet u:
verandering
if (client.connect(clientId.c_str()))
Tot
if (client.connect(clientId, userName, passWord)) // plaats hier uw clientId/userName/passWord
Als dat niet het geval is, houdt u ze gewoon als standaard. Kies daarna het overeenkomstige bordtype en poorttype zoals hieronder en upload de schets naar de NodeMCU.
- Bord: "NodeMCU 0.9 (ESP-12-module)"
- CPU-frequentie:”80MHz”Flitsgrootte:”4M (3M SPIFFS)”
- Uploadsnelheid: "115200"
- Poort: kies uw eigen seriële poort voor uw NodeMCU
Stap 3: MQTT-client configureren (MQTTBOX)
In deze stap laten we zien hoe u een MQTT-client op de MQTTBox kunt maken.
Open je MQTTBox en klik op de blauwe knop om een nieuwe MQTT-client toe te voegen.
Configureer de MQTT CLIENT-INSTELLINGEN zoals hieronder:
- MQTT-clientnaam -- Kies een naam die je leuk vindt
- Protocol -- Kies "mqtt/tcp"
- Host - Typ uw "mqtt_server" in deze kolom, zorg ervoor dat deze hetzelfde is als uw schets. (We gebruiken hier "broker.mqtt-dashboard.com")
- Andere instellingen als standaard behouden
- Klik om uw wijzigingen op te slaan.
Vervolgens gaat u automatisch naar de nieuwe pagina. Als alle bovenstaande configuraties correct zijn, verandert "Niet verbonden" in "Verbonden", uw MQTT-clientnaam en hostnaam worden bovenaan deze pagina weergegeven.
Onderwerpinstelling: zorg ervoor dat het onderwerp voor het publiceren van uw MQTT-client hetzelfde is als uw Arduino-schets-abonneeronderwerp (hier in het onderwerp). Zorg ervoor dat het onderwerp van uw MQTT-clientabonnee hetzelfde is als uw Arduino-schetspublicatieonderwerp (outTopic hier).
Stap 4: Programma lopend resultaat
Zodra de upload is voltooid, als de wifi-hotspotnaam en wachtwoordinstelling in orde zijn en MQTT-broker is aangesloten, opent u de seriële monitor, u ziet het publicatiebericht "hallo wereld" op de seriële monitor.
Open vervolgens de MQTT-client en publiceer payload "1" naar het onderwerp, deze NodeMCU ontvangt deze berichten door zich te abonneren op de "inTopic", en de LED gaat branden.
Publiceer payload "0" naar dit onderwerp, de NodeMCU-LED wordt uitgeschakeld.
Aanbevolen:
Telegram Bot met NodeMCU (ESP8266): 3 stappen
Telegram Bot met NodeMCU (ESP8266): Heeft u een bot nodig om meldingen van uw systeem te geven? of iets doen door gewoon een bericht te sturen? Telegram Bot is jouw oplossing!In deze tutorial zal ik Telegram Web en BotFather gebruiken om mijn bot te maken
Hoe NodeMCU ESP8266 te verbinden met MySQL-database: 7 stappen
Hoe NodeMCU ESP8266 te verbinden met MySQL-database: MySQL is een veelgebruikt relationeel databasebeheersysteem (RDBMS) dat gebruikmaakt van gestructureerde querytaal (SQL). Op een gegeven moment wilt u misschien Arduino/NodeMCU-sensorgegevens uploaden naar de MySQL-database. In deze Instructable zullen we zien hoe verbinding te maken
Domotica met ESP8266 of NODEMCU: 6 stappen
Domotica met ESP8266 of NODEMCU: Heb je ooit je huis willen automatiseren via wifi? Wil je de lichten, ventilator en alle andere apparaten vanaf je smartphone bedienen? Of heb je ooit een instructable willen hebben over aangesloten apparaten en ermee aan de slag gaan? Dit domotica-project zal
Ik heb een oude cd-drive in een wifi-robot gemaakt met behulp van Nodemcu, L298N Motor Drive en nog veel meer: 5 stappen
Ik heb een oude cd-drive in een wifi-robot gemaakt met behulp van Nodemcu, L298N-motoraandrijving en nog veel meer .: VX Robotics & Elektronica Aanwezig
NODEMcu Usb-poort werkt niet? Upload de code met behulp van USB naar TTL (FTDI)-module in slechts 2 stappen: 3 stappen
NODEMcu Usb-poort werkt niet? Upload de code met behulp van USB naar TTL (FTDI) -module in slechts 2 stappen: moe van het verbinden met veel draden van USB naar TTL-module naar de NODEMcu, volg deze instructie om de code in slechts 2 stappen te uploaden. Als de USB-poort van de NODEMcu werkt niet, geen paniek. Het is gewoon de USB-stuurprogrammachip of de USB-connector