MQTT (Message Queue telemetrie Transport) is een Client-Server publiceren/abonneren messaging transportprotocol. Dit protocol wordt veel gebruikt op het gebied van IoT voor communicatie tussen Machine to Machine vanwege de volgende
- l gewicht van de vlucht,
- openen, en
- ontworpen om eenvoudig te implementeren.
Deze functies zijn daarom ideaal voor de IoT doel zoals we meestal status van één machine naar de andere overbrengen. Het werd oorspronkelijk ontwikkeld door IBM en is nu een open standaard.
Opmerking: Als u niet bekend bent met knooppunt MCU module, ik zal verzoeken u om naar te kijken dat mijn video aan de slag met knooppunt MCU alvorens in MQTT
Werken van MQTT transportprotocol
Dit protocol is eenvoudig te implementeren en ook zeer gemakkelijk te begrijpen. Het bestaat in principe uit van een makelaar en meerdere clients waar klanten kunnen worden behandeld als onze slimme telefoon, sensoren, enz., en ze communiceren met de server die bekend als makelaar staat.
In dit protocol moet elke client verbinding maken met een adres van de broker die bekend als het onderwerp staat te worden ingeschreven in MQTT. In één makelaar kan er meerdere onderwerpen en klanten kunnen ook abonneren op meerdere onderwerpen van de dezelfde makelaar.
Laat eerst zien dit proces in blokdiagram die eenvoudig zal zijn voor u om te begrijpen. Tweede afbeelding toont het blokdiagram. Dus in principe hebben we hier één makelaar en 3 klanten die zijn geabonneerd op het onderwerp "temperatuur".
Dus zodra een van de client (temperatuurvoeler) publiceert of updates van de waarde van de temperatuur aan de makelaar, dan alle clients (Smart Phone) geabonneerd op dat onderwerp ontvangt de waarde van de temperatuur bijgewerkt. Dit wordt weergegeven in de derde afbeelding. Thats it. We kunnen veel doen met dit eenvoudige protocol. We kunnen zelfs abonneren op de onderwerpen van een andere persoon als we weten dat de gebruikersnaam en het wachtwoord van de makelaar.
Uitvoering
We zullen het maken van een project op de "controle Home Appliances via Internet via MQTT". Ik zal dit demonstreren door controlerende Radio en licht van mijn kamer.
Wat is er nodig voor het maken van dit:
- ESP8266 12e ontwikkeling Board
- 6V Relay
- x2 BC547 Transistor
- x2 330 ohm Resistor
- x2 aansluiten draden
- BreadBoard
Makelaar
Allereerst zullen we een MQTT makelaar. Er zijn dat veel makelaar voor MQTT maar ik heb het gebruikt van Adafruit MQTT makelaar. Zijn vrij eenvoudig en de UI is ook geweldig. U zult te gebruiken die makelaar. Voor het gebruik van Adafruit MQTT makelaar, moet u eerst en vooral het maken van een account op Adafruit.io. Vul de basisgegevens en u bent klaar om te gebruiken die makelaar.
Dan goto uw dashboard. Mijn dashboard wordt weergegeven in de afbeelding 5.
Er veel opties op de rechterhoek van de pagina te bewerken van de blokken, nieuwe blokken toevoegen, krijgen de sleutel, etc.
Wij zullen nu beginnen met het maken van een nieuwe knop op het dashboard. Voor die klik op de 2e knop i.e."Create een nieuw blok". Dit venster (afbeelding 6) zal tonen.
Er zijn aantal blokken worden toegevoegd in dit venster zoals wisselknop, drukknop, slider enz. In ons project zullen we het eerste blok d.w.z. wisselknop gebruiken. Klik op de knop maken en u zal krijgen van de volgende opties (afbeelding 7).
Dan u moet verstrekken is feed een naam die moet uniek zijn omdat dit naam voeden niets anders dan het onderwerp welke clients zullen abonneren. Ik heb de voornaam van het diervoeder als op af. Dan klikt u op de knop maken. En klik op de voorkant knop kiezen van de naam van uw feed. Klik dan op de volgende stap (afbeelding 8).
Dan we nodig hebben om welke tekenreeks wordt verzonden wanneer de knop is aan- en uitschakelen. Dus, heb ik geschreven voor ON 1 en 0 voor uitschakelen (afbeelding 9).
Thats it. U klaar bent met de makelaar kant. Geen complexiteit, niets. Alleen eenvoudige en grote UI en dat is waarom ik hou van adafruit makelaar. U kunt zelfs slepen en het blok grootte volgens uw behoefte (afbeelding 10).
Rekeninghouder bij Adafruit IO zal hebben hun unieke sleutel die wordt ook wel als wachtwoord voor het abonnement. U kunt uw sleutel krijgen door op de derde knop op de juiste hoek te klikken. Het is een sleutel vormige pictogram op de knop (afbeelding 11).
Client
Wij zullen het gebruik van twee clients in ons project eerst is het ESP866 12e ontwikkel bord en een ander voorbeeld is onze slimme telefoon. Allereerst moet u bibliotheek voor MQTT client door Adafruit downloaden. U kunt de bibliotheek downloaden vanaf hier.
Nu open voorbeeld in de Arduino IDE genoemd "mqtt_esp8266". Verander gewoon de ssid-naam, wachtwoord voor internet-toegang en ook uw makelaar gebruikersnaam en wachtwoord (de sleutel van de AiO-printer). En dan upload enkel het programma omdat in de voorbeeld-sketch, ze hebben al geabonneerd op het onderwerp-onoff dus geen nood voor wisseling iets in dit. Dan open seriële monitor en uw adafruit dashboard naast elkaar (afbeelding 12).
MQTT is zeer licht van gewicht, is het antwoord dat we kunnen constateren rond in paar milliseconden. Het is echt snel! Zoals u in de seriële monitor, zien kunt wanneer ik de schakelaar in-/ uitschakelen blijkt het antwoord zoals "GOT 1" of "GOT 0". En door de andere kant is het ook publiceren waarde van de teller op het onderwerp met de naam fotocel.
Een andere Client is onze slimme telefoon. Daarvoor moet u het downloaden van een app voor MQTT client. Ik heb dit app gedownload in mijn android apparaat. Gewoon 4 nadere bijzonderheden te geven.
Makelaar URL, hier is het (io.adafruit.com)
Poort, (1883)
Gebruikersnaam (gebruikersnaam u terwijl het maken van uw account hebben geregistreerd)
Wachtwoord (de sleutel die je krijgen kunt door te klikken op de sleutel-pictogram op uw dashboard)
Na het vullen dit details net abonneren op een van het onderwerp en stuur ofwel 0 of 1 de knop op of uit te schakelen. En ja!, nu kunt u de wisselknop overal op de planeet aarde zo lang als u bent in het dekkingsgebied van uw Internet serviceprovider.
#techiesms