Innehållsförteckning:
- Tillbehör
- Steg 1: Introduktion till MQTT
- Steg 2: Introduktion till IoT -plattformen
- Steg 3: Förbered MQTT Publisher
- Steg 4: Fotnot
- Steg 5: Krediter och support
Video: IoT Basics: Ansluta din IoT till molnet med Mongoose OS: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:41
Om du är en person som håller på med pyssel och elektronik, kommer du oftare att stöta på termen Internet of Things, vanligtvis förkortad som IoT, och att det hänvisar till en uppsättning enheter som kan ansluta till internet! Eftersom jag själv var en sådan person blev jag fascinerad när jag fick veta att så bra enheter var lätt tillgängliga för mig. Bara tanken på att kunna ansluta mina projekt till internet med en liten bit hårdvara och bara tänka på de otaliga grindarna som det skulle öppna för mina projektidéer fick mig att pumpas upp.
Men att berätta för IoT att ansluta till internet är inte så enkelt som att bara köpa det från hyllan och slå på det. Och förutom att få enheten att ansluta till internet, måste vi också skjuta upp några användbara data till internet. Denna instruktion behandlar förfarandet för att uppnå det ovan angivna målet och är avsett för läsare på alla erfarenhetsnivåer, från nybörjare till veteraner som är nya inom IoT.
I den här instruktionsboken, som ett exempel, kommer jag att demonstrera hur man plottar diagrammet över interna temperatursensoravläsningar på ESP32 -utvecklingsbordet som borde ge läsarna en bra uppfattning om processen.
Även om denna instruerbara använder ESP32 och Mongoose OS, kan proceduren utökas till alla IoT och firmware som finns!
Tillbehör
För att kunna implementera denna instruerbara själv behöver du bara en minimal mängd hårdvara, och de är:
- Internet of Thing (IoT): Jag har använt en billig ESP32 -utvecklingskortklon. Om du planerar att köpa en ny ESP32 -utvecklingskort måste du kolla in DFRobots ESP32 -kort.
- En datakabel: Använd en kabel som din IoT kräver för att blinka etc.
- Ett batteri (tillval): Köp detta endast om du tänker starta din IoT under långa perioder.
- En mini -brödbräda (tillval)
Jag föreslår läsaren att använda en IoT som skiljer sig från ESP32 så att han/hon verkligen kan förstå vad som görs här, istället för att helt enkelt imitera mig. Lita på mig, du kommer att njuta av att implementera denna process med ditt eget sinne i någon annan IoT, till exempel skulle ESP8266 vara ett bra val.
Steg 1: Introduktion till MQTT
Vad är MQTT?
"MQTT är ett enkelt meddelandeprotokoll, avsett för begränsade enheter med låg bandbredd. Så det är den perfekta lösningen för Internet of Things-applikationer. Med MQTT kan du skicka kommandon för att styra utdata, läsa och publicera data från sensornoder och mycket mer. " (Från RandomNerdTutorials)
Hur fungerar MQTT?
Innan vi börjar tekniska, låt oss tänka på vår verkliga värld först. Antag att du är intresserad av en kortsamling som ägs av din väns vän, säg Laurel, som du personligen inte känner. Eftersom du är väldigt noga med den där kortsamlingen kommer du att be din vän, antar Tom, att fråga om Laurel är villig att sälja det eller inte. Medan du gör det kommer du att be Tom att köpa kortsamlingen själv om Laurel är villig att sälja, eftersom du inte vill att någon annan ska få tag på samlingen du längtar efter! När tiden går interagerar Tom och Laurel och efter ömsesidig överenskommelse ger Laurel sin kortsamling till Tom i utbyte mot pengar. Efter detta utbyte behåller Tom korten med sig själv tills han träffar dig igen, vilket är när han äntligen ger dig kortsamlingen. Detta är hur ett normalt utbyte fortskrider i vårt dagliga liv.
I MQTT är de grundläggande elementen som ingår i utbytet utgivaren (Laurel), en prenumerant (Du) och mäklaren (Tom). Dess arbetsflöde liknar också det ovan angivna verkliga exemplet, förutom en enorm skillnad! I MQTT initieras utbytet av mäklaren, dvs Laurel skulle vara den första som nådde Tom för att berätta att hon vill sälja sin kortsamling. Om vi jämför hur MQTT fungerar med vårt verkliga exempel, skulle det vara så här:
- Laurel berättar för Tom att hon vill sälja sin kortsamling (data eller nyttolast) och ger korten till honom.
- Tom tar dessa kort i sin besittning och är öppen för erbjudanden för kortinsamlingen. När du och Tom träffas och han får reda på att du är intresserad av korten (prenumererar på ett ämne). Tom ger dig sedan korten.
Eftersom hela processen är beroende av mäklaren och ingen direkt interaktion mellan abonnenten och utgivaren, tar MQTT bort besväret med att synkronisera både utgivaren och abonnenten. Närvaron av en mellanliggande mäklare är en välsignelse för resursbegränsade enheter som IoT och mikroprocessorer eftersom deras processorkraft är otillräcklig för att utföra dataöverföring på normalt sätt, vilket skulle innebära ytterligare omkostnader som autentisering, kryptering etc. Bortsett från detta, MQTT har många andra funktioner som att vara lätt, en-till-många-distribution och så vidare, vilket gör den idealisk för begränsade nätverk och klienter
Steg 2: Introduktion till IoT -plattformen
Vad är en IoT -plattform?
"På en hög nivå är en Internet of Things (IoT) -plattform stödprogramvara som ansluter kantmaskinvara, åtkomstpunkter och datanätverk till andra delar av värdekedjan (som vanligtvis är slutanvändarprogram). IoT-plattformar brukar hantera pågående hanteringsuppgifter och datavisualisering, som gör det möjligt för användare att automatisera sin miljö. " (Från Link-Labs)
Abstrakt fungerar en IoT -plattform som mediet mellan användaren och datainsamlingsagenterna som är ansvarig för att representera den insamlade informationen.
I denna instruktionsbok planerar vi att överföra våra ESP32: s temperaturavläsningar online. Vår ESP32 kommer att fungera som MQTT -utgivare och MQTT -mäklaren kommer att vara en valfri IoT -plattform. Observera att i vårt projekt finns det ingen roll för en MQTT -prenumerant eftersom data representeras av plattformen själv. IoT -plattformen kommer att ansvara för att lagra våra publicerade data och snyggt representera den här, som ett linjediagram. Jag kommer att använda Losant som min IoT -plattform här eftersom det är gratis att använda och erbjuder några bra sätt att representera data. Några andra exempel på IoT -plattformar är Google Cloud, Amazon AWS och Adafruit, Microsoft Azure etc. Jag skulle vilja råda läsaren att hänvisa till dokumentationen för deras valda IoT -plattform.
Konfigurera Losant:
- Logga in på Losant
- Skapa en enhet (fristående typ)
- Lägg till några datatyper till enheten 1. Namn: temperatur, datatyp: nummer 2. Namn: offset, datatyp: nummer 3. Namn: enhet, datatyp: sträng
- Skapa en åtkomstnyckel och notera enhets -ID och åtkomstnyckel
- Skapa en graf 1. Skapa en instrumentpanel.2. Lägg till blocket "Time Series Graph" med temperaturvariabeln och din skapade enhet.
"Enhets -ID" tjänar syftet att fungera som ett unikt fingeravtryck för en enhet. "Åtkomstnycklarna", som namnet antyder, gör att IoT kan publicera till Losant under enhetsidentiteten.
Steg 3: Förbered MQTT Publisher
Nu när vi har förberett IoT -plattformen för att ta emot och representera data måste vi förbereda en MQTT -utgivare som skulle ansvara för att samla in och skicka data till plattformen.
Beskrivningen av MQTT -utgivarförberedelserna är följande:
- Skriv koden: För att instruera utgivaren (IoT) hur man samlar in data, bearbetar och skickar den till IoT -plattformen. Instruktionerna är skrivna på mänskligt läsbara programmeringsspråk på hög nivå som normalt kallas koden.
- Flasha in firmware: IoT förstår inte direkt dessa instruktioner eftersom det inte kan något språk från början. För att överbrygga denna språkbarriär mellan människa och maskin sammanställs koden i en grov uppsättning instruktioner, i princip uppsättningar hexadecimala eller binära värden specifika för minnesplatser inuti IoT, känd som firmware som sedan blinkas till IoT.
I denna instruktionsbok, eftersom jag använder min praktiska ESP32, kommer jag att blinka Mongoose OS -firmware till den, som accepterar program skrivna C och JavaScript båda. Bortsett från JS -kompatibilitet har Mongoose OS fortfarande mycket att erbjuda, till exempel uppdateringar över Internet, för att justera ditt program online och en dedikerad instrumentpanel för enheter (mDash) etc.
Jag har utvecklat en open-source-app för Mongoose OS för denna Instructable. Det är en enkel app som heter losant-temp-sensor, som använder MQTT för att skicka de ungefärliga omgivningstemperaturavläsningarna, baserat på de interna temperaturavläsningarna i ESP32, till Losant (en gratis att använda IoT-plattform). Det rekommenderas att gå igenom appens kod för en bättre förståelse. Vi kommer att blinka den här appen för denna instruerbara.
Om du är av den äventyrliga sorten kan du försöka uppnå samma mål med Arduino-ESP32-firmware som gör det möjligt att använda ESP32 som en Arduino (med WiFi-kapacitet).
En snabb genomgång för blinkande app med Mongoose OS:
- Installera mos tool för ditt operativsystem.
-
Öppna verktyget och kör följande kommandon:
- mos klon
- cd losant-temp-sensor
- mos build -plattform esp32
- mos flash
- mos wifi "ditt wifi ssid" "ditt wifi -lösenord" t.ex. mos wifi "Hem" "hemma@123"
-
mos config-set temperature.basis =
temperatur.enhet ="
"t.ex. mos config-set temperature.basis = 33 / temperature.unit =" celsius"
-
mos config-set device.id =
mqtt.client_id = mqtt.user = mqtt.pass =
Efter framgångsrik blinkning, låt enheten starta om och kör sedan följande kommandon:
När du har slutfört alla dessa steg korrekt kommer du att få en ESP32 som regelbundet skickar temperaturavläsningarna till Losant, var 10: e minut. Framgångsrik publicering indikeras av den blå lysdioden, som visas i videon ovan.
Steg 4: Fotnot
Om du kan kopiera de föregående stegen korrekt, kommer du nu att ha ett fungerande projekt med hjälp av vilket du kan observera temperaturtrenderna i ditt rum, eller var du än planerar att placera projektet. Eftersom jag har hållit denna instruktion så generell som jag kunde göra den, kan du därför använda din IoT för att samla in alla typer av data och försöka dra slutsatser från det, eller så kan du göra det bara för att pyssla om du ' har förstått detta instruerbart.
För mig är det bästa med IoT det faktum att det gör det möjligt för oss att samla stora bitar av data, otydliga om de tas ensamma och omvandla det till något avgörande. Detta träffar verkligen vetenskapens anda. För mig var det mycket tillfredsställande och upplysande att märka temperaturen sjunka inne i mitt rum under regntimmar genom min graf.
Losant-temp-sensor-appen har optimerats för strömförbrukning, eftersom den använder ESP32-funktionen för djup sömn, så du kan använda den under långa perioder utan att behöva oroa dig för batteriet alls. Du kan ytterligare öka energieffektiviteten genom att ta bort lysdioden på utvecklingskortet. Den nuvarande dragningen av hela installationen har visats ovan.
Syftet med denna instruerbara, från början var bara att ge dig en introduktion till IoT: s värld. När du har avslutat denna instruktör har du ett bra grepp om grunderna som du kan stärka ännu mer genom andra onlineresurser.
Även om du inte kommer att kunna göra komplexa projekt i det här skedet, bör du alltid komma ihåg att om du har en tillräckligt stark tegel och ett sätt att kombinera dem tillsammans kan du skapa en tänkbar struktur, från enkel till komplex. På samma sätt kommer du att kunna sätta upp massor av kontraster om du har bra koll på grunderna och vet hur du använder dem korrekt. Ge dig därför en klapp på axeln för att ta det första steget.
Steg 5: Krediter och support
Denna instruktör består av illustrationer, t.ex. den som förklarar MQTT -utbyte, som jag personligen har gjort. Dessa illustrationer har bara varit möjliga tack vare följande kostnadsfria SVG-paket:
- Infografisk vektor skapad av freepik - www.freepik.com
- Infografisk vektor skapad av starline - www.freepik.com
- Människor vektor skapad av pikisuperstar - www.freepik.com
- Abstrakt vektor skapad av makrovektor - www.freepik.com
- Abstrakt vektor skapad av makrovektor - www.freepik.com
- Infografisk vektor skapad av pikisuperstar - www.freepik.com
Denna instruktionsbok har sponsrats av DFRobot. DFRobot har en fantastisk elektroniksamling så se till att kolla in den.
Om du känner att du gillade den här instruktionsboken och vill ha fler instruktioner så här, kan du stötta mig på Patreon. Om du inte kan gå så långt kan du följa mig här på Instructables.
Rekommenderad:
Hur man gör din egen WIFI -gateway för att ansluta din Arduino till IP -nätverk?: 11 steg (med bilder)
Hur man gör din egen WIFI -gateway för att ansluta din Arduino till IP -nätverk?: Som så många tror du att Arduino är en mycket bra lösning för att göra hemautomation och robotik! Men när det gäller kommunikation kommer Arduinos bara med seriella länkar. Jag arbetar med en robot som måste vara permanent ansluten till en server som körs
Ansluta din Raspberry Pi till webben: 9 steg
Ansluta din Raspberry Pi till webben: I den här lektionen får du lära dig hur du skapar en webbsida, samlar in data med hjälp av world wide web och använder API: er för att lägga upp bilder på Tumblr och Twitter
Anslut din anläggning till molnet: 10 steg
Anslut din växt till molnet: På vårt kontor finns en kaktus som inte fick den uppmärksamhet den förtjänade. Eftersom jag arbetar på ett IT -företag och ville experimentera med LoRa, serverlösa lösningar och AWS, namngav jag vår kaktus Steeve och kopplade honom till molnet. Du kan nu övervaka
Hur man publicerar ESP32 -data med NTP -tidsstämpel till IoT -molnet: 5 steg
Hur man publicerar ESP32 -data med NTP -tidsstämpel till IoT -molnet: I många applikationer måste användarna skicka sina data tillsammans med den lokala tidsstämpeln för de värden som ska skickas i nyttolasten till AskSensors IoT -moln. Tidsstämpelformatet är UNIX Epoktid: antalet millisekunder som har gått sedan januari
Ansluta en DHT11/DHT22-sensor till molnet med ett ESP8266-baserat kort: 9 steg
Ansluta en DHT11/DHT22-sensor till molnet med ett ESP8266-baserat kort: I föregående artikel anslöt jag mitt ESP8266-baserade NodeMCU-kort till en Cloud4RPi-tjänst. Nu är det dags för ett riktigt projekt