Styra hem apparater använder nod MCU via MQTT
MQTT (meddelande kö telemetri Transport) är ett klient-serverprogram för publicera/prenumerera messaging transportprotokoll. Detta protokoll används ofta inom IoT för kommunikation mellan maskin till maskin på grund av dess följande funktioner
- l ight vikt,
- Öppna, och
- utformad för att vara lätt att genomföra.
Därav är dessa funktioner perfekt för IoT ändamål som vi behöver överföra mestadels status för en maskin till en annan. Det utvecklades av IBM och är nu en öppen standard.
Obs: Om du inte är bekant med nod MCU modul, kommer jag be dig att titta på min video komma igång med nod MCU innan du går in i MQTT
Arbetar för MQTT Transport Protocol
Detta protokoll är lätt att genomföra och också mycket lätt att förstå. Det består i princip av en mäklare och flera klienter där klienter kan behandlas som våra smart telefon, sensorer, etc. och de alla kommunicera med servern som är känd som mäklare.
I detta protokoll måste alla klienter ansluta till någon adressen för den broker som kallas ämnet att tecknas i MQTT. I enda mäklare kan det finnas flera ämnen och klienter kan också prenumerera på flera ämnen i samma mäklare.
Först kan se denna process i blockdiagram som kommer att vara lätt för dig att förstå. Andra bilden visar blockdiagram. Så i princip har vi här en mäklare och 3 kunder prenumererar på ämnet "temperatur".
Så så fort någon av klienten (temperatursensor) publicerar eller uppdaterar värdet för temperatur till mäklaren, än alla klienter (Smartphone) prenumererat på det ämnet får värdet av temperatur uppdaterad. Detta visas i tredje bilden. Det var allt. Vi kan göra mycket med detta enkla protokoll. Vi kan även prenumerera på ämnena av någon annan person om vi vet den username och lösenord av mäklaren.
Genomförandet
Vi kommer att göra ett projekt på "kontrollera hem apparater via Internet via MQTT". Jag kommer att visa detta genom att styra Radio och ljus i mitt rum.
Saker krävs för att göra detta:
- ESP8266 12naE utveckling styrelsen
- 6V Relay
- x2 BC547 Transistor
- x2 330 ohm motstånd
- x2 ansluter kablar
- Skärbräda
Mäklare
Först och främst behöver vi en MQTT mäklare. Det finns många mäklare för MQTT men jag har använt Adafruit MQTT mäklare. Dess ganska enkelt och dess UI är också bra. Du kommer att älska att använda den mäklaren. För att använda Adafruit MQTT mäklare, först av allt måste du göra ett konto på Adafruit.io. Fyll upp grunduppgifterna och du är redo att använda som mäklare.
Än gå till instrumentpanelen. Min dashboard visas i bild 5.
Där många alternativ i högra hörnet på sidan för att redigera block, lägga till nya block, få nyckel, etc.
Nu börjar vi med att göra en ny knapp på instrumentbrädan. För att klicka på den 2: a knappen i.e."Create ett nytt block". Det kommer att visa detta fönster (bild 6).
Det finns antal block som ska läggas till i det här fönstret som växlingsknapp, tryckknapp, reglage etc. I vårt projekt kommer vi att använda det första blocket dvs växlingsknapp. Klicka på skapa knappen och du kommer att få följande alternativ (bild 7).
Än du har att ge heter foder som ska vara unik eftersom detta foder namn ingenting men ämnet vilka klienter kommer att vara att prenumerera. Jag har namn på fodret som på off. Än Klicka på skapa. Och klicka på Välj knapp framsidan av ditt foder namn. Än Klicka på nästa steg (bild 8).
Än vi måste ange vilken sträng som skickas när knappen är ON och OFF. Så, jag har skrivit 1 för ON och 0 för OFF (bild 9).
Det var allt. Du är klar med den mäklare sidan. Ingen komplexitet, ingenting. Bara enkel och bra UI och det är därför jag gillar adafruit mäklare. Du kan även dra och ändra storlek på blocket efter dina behov (bild 10).
Kontoinnehavare hos Adafruit IO har deras unik nyckel kallas även som lösenord för prenumerationen. Du kan få din nyckel genom att klicka på den tredje knappen i högra hörnet. Det är en nyckel formad ikon på knappen (bild 11).
Klienten
Man först med två klienter i vårt projekt är ESP866 12naE utveckling styrelsen och en annan är vår smarttelefon. Först av allt behöver du ladda ner biblioteket för MQTT klient av Adafruit. Du kan hämta biblioteket här.
Nu öppna exempel i din Arduino IDE heter "mqtt_esp8266". Bara ändra ssid-namnet, lösenord för tillgång till internet och även ge din mäklare användarnamn och lösenord (AIO nyckel). Och än bara ladda upp programmet eftersom i exemplet skiss, de har redan prenumererar på ämnet onoff så behöver du inte ändra något i detta. Än öppen seriell övervaka och instrumentpanelen adafruit sida vid sida (bild 12).
Eftersom MQTT är mycket låg vikt, är det svar som vi kan observera runt i några millisekunder. Det är riktigt snabb! Som ni kan se i den seriella monitorn, närhelst jag växla växeln visar det svar som "Fick 1" eller "Fick 0". Och sida vid sida det också publiceras av räknarna i ämnet heter fotocell.
En annan klient är vår smarta telefon. För att du behöver ladda ner en app för MQTT client. Jag har laddat ner denna app i min android-enhet. Ge bara 4 Detaljer.
Mäklare-adress här är det (io.adafruit.com)
Port, (1883)
Användarnamn (användarnamn du har registrerat samtidigt som ditt konto)
Lösenord (nyckel som du kan få genom att klicka på nyckelikonen på instrumentpanelen)
Efter att fylla detta detaljer bara prenumerera på någon av ämnet och skicka antingen 0 eller 1 för att aktivera eller inaktivera knappen. Och ja!, nu kan du växla knappen från någonstans på planeten jorden så länge du är där täckning av din Internet-leverantör.
#techiesms