Inhoudsopgave:

NodeMCU - MQTT basisvoorbeeld: 4 stappen
NodeMCU - MQTT basisvoorbeeld: 4 stappen

Video: NodeMCU - MQTT basisvoorbeeld: 4 stappen

Video: NodeMCU - MQTT basisvoorbeeld: 4 stappen
Video: How to Publish DHT11 Sensor Data from NodeMCU to Mosquitto MQTT Broker over LAN | NodeMCU | MQTT | 2024, Juli-
Anonim
Image
Image

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

Bibliotheek installatie
Bibliotheek installatie
Bibliotheek installatie
Bibliotheek installatie

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

Code
Code
Code
Code

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)

MQTT-client configureren (MQTTBOX)
MQTT-client configureren (MQTTBOX)
MQTT-client configureren (MQTTBOX)
MQTT-client configureren (MQTTBOX)
MQTT-client configureren (MQTTBOX)
MQTT-client configureren (MQTTBOX)
MQTT-client configureren (MQTTBOX)
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

Resultaat van programma
Resultaat van programma
Resultaat van programma
Resultaat van programma
Resultaat van programma
Resultaat van programma
Resultaat van programma
Resultaat van programma

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: