Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Introduksjon til MQTT
- Trinn 2: Introduksjon til IoT -plattformen
- Trinn 3: Forbered MQTT Publisher
- Trinn 4: Fotnote
- Trinn 5: Kreditter og støtte
Video: IoT Grunnleggende: Koble IoT til skyen ved hjelp av Mongoose OS: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Hvis du er en person som liker å lure og elektronikk, kommer du oftere enn ikke over begrepet Internet of Things, vanligvis forkortet som IoT, og at det refererer til et sett med enheter som kan koble seg til internett! Selv om jeg var en slik person, ble jeg fascinert da jeg ble kjent med at slike flotte enheter var lett tilgjengelige for meg. Bare tanken på å kunne koble prosjektene mine til internett ved hjelp av et lite stykke maskinvare og bare tenke på de utallige portene som det ville åpne for mine prosjektideer, fikk meg til å pumpe opp.
Men å fortelle IoT å koble til internett er ikke så enkelt som å bare kjøpe det fra hyllen og slå det på. Og bortsett fra å få enheten til å koble til internett, må vi også skyve opp noen nyttige data til internett. Denne instruksen omhandler prosedyren som er involvert for å nå det ovennevnte målet, og er ment for lesere på alle erfaringsnivåer, fra nybegynnere til veteraner som er nye i IoT.
I denne instruksjonsboken, som et eksempel, skal jeg demonstrere hvordan du plotter grafen over interne temperatursensoravlesninger på ESP32 -utviklingskortet som skal gi leserne en god ide om prosessen.
Selv om denne instruksjonsboken bruker ESP32 og Mongoose OS, kan prosedyren utvides til alle IoT -er og fastvare som finnes!
Rekvisita
For å kunne implementere denne instruksjonsmaskinen selv trenger du bare en minimal mengde maskinvare, og de er:
- A Internet of Thing (IoT): Jeg har brukt en billig ESP32 utviklingskortklon. Hvis du planlegger å kjøpe et nytt ESP32 utviklingsbord, må du sjekke DFRobots ESP32 -kort.
- En datakabel: Bruk en kabel som IoT krever for å blinke osv.
- Et batteri (valgfritt): Kjøp dette bare hvis du har tenkt å slå på IoT -en i lange perioder.
- Et mini -brødbrett (valgfritt)
Jeg foreslår leseren å bruke en IoT annerledes enn ESP32, slik at han/hun virkelig kan forstå hva som blir gjort her, i stedet for bare å etterligne meg. Stol på meg, du vil like å implementere denne prosessen ved å bruke ditt eget sinn i noen annen IoT, for eksempel ville ESP8266 være et godt valg.
Trinn 1: Introduksjon til MQTT
Hva er MQTT?
"MQTT er en enkel meldingsprotokoll, designet for begrensede enheter med lav båndbredde. Så det er den perfekte løsningen for Internet of Things-applikasjoner. MQTT lar deg sende kommandoer for å kontrollere utganger, lese og publisere data fra sensornoder og mye mer. " (Fra RandomNerdTutorials)
Hvordan fungerer MQTT?
Før vi går teknisk, la oss tenke på vår virkelige verden først. Anta at du er interessert i en kortsamling som eies av vennens venn, for eksempel Laurel, som du personlig ikke kjenner. Siden du er veldig bestemt om den kortsamlingen, vil du be vennen din, anta Tom, om han vil være villig til å selge den eller ikke. Mens du gjør det, vil du be Tom om å kjøpe kortsamlingen selv hvis Laurel er villig til å selge, siden du ikke vil at noen andre skal få tak i samlingen du ønsker! Etter hvert som tiden går, samhandler Tom og Laurel, og etter gjensidig avtale gir Laurel kortsamlingen sin til Tom i bytte mot penger. Etter denne utvekslingen beholder Tom kortene med seg selv til han møter deg igjen, det er da han endelig gir deg kortsamlingen. Slik foregår en normal utveksling i vårt daglige liv.
I MQTT er grunnelementene som er involvert i utvekslingen utgiveren (Laurel), en abonnent (You) og megleren (Tom). Arbeidsflyten ligner også det ovennevnte virkelige eksemplet, bortsett fra en stor forskjell! I MQTT initieres utvekslingen av megleren, dvs. Laurel ville være den første som nådde Tom for å fortelle at hun ønsker å selge kortsamlingen sin. Hvis vi sammenligner arbeidet til MQTT med vårt virkelige eksempel, vil det være som følger:
- Laurel forteller Tom at hun vil selge kortsamlingen hennes (data eller nyttelast) og gir kortene til ham.
- Tom tar disse kortene i sin besittelse og er åpen for tilbud på kortsamlingen. Når du og Tom møtes og han finner ut at du er interessert i kortene (abonnerer på et emne). Tom gir deg deretter kortene.
Siden hele prosessen er avhengig av megleren og ingen direkte interaksjon mellom abonnent og utgiver, fjerner MQTT bryet med å synkronisere både utgiver og abonnent. Tilstedeværelsen av en mellomliggende megler er en velsignelse for ressursbegrensede enheter som IoT-er og mikroprosessorer, ettersom deres prosessorkraft er utilstrekkelig til å utføre dataoverføring på normal måte, noe som vil innebære ytterligere omkostninger som autentisering, kryptering etc. Bortsett fra dette, MQTT har mange andre funksjoner, for eksempel å være lett, en-til-mange-distribusjon, og så videre, noe som gjør den ideell for begrensede nettverk og klienter
Trinn 2: Introduksjon til IoT -plattformen
Hva er en IoT -plattform?
"På et høyt nivå er en Internet of Things (IoT) plattform støtteprogramvaren som kobler kantmaskinvare, tilgangspunkter og datanettverk til andre deler av verdikjeden (som vanligvis er sluttbrukerprogrammene). IoT-plattformer vanligvis håndtere pågående administrasjonsoppgaver og datavisualisering, som lar brukerne automatisere miljøet sitt. " (Fra Link-Labs)
Abstrakt fungerer en IoT -plattform som mediet mellom brukeren og datainnsamlingsagentene som er ansvarlig for å representere de innsamlede dataene.
I denne instruksen planlegger vi å skyve ESP32s temperaturavlesninger online. Vår ESP32 vil fungere som MQTT -utgiveren og MQTT -megleren vil være en IoT -plattform vi velger. Vær oppmerksom på at i vårt prosjekt er det ingen rolle for en MQTT -abonnent ettersom dataene blir representert av plattformen selv. IoT -plattformen vil være ansvarlig for å lagre våre publiserte data og pent representere den her, som en linjediagram. Jeg kommer til å bruke Losant som min IoT -plattform her siden det er gratis å bruke og tilbyr noen gode måter å representere data på. Noen andre eksempler på IoT -plattformer er Google Cloud, Amazon AWS og Adafruit, Microsoft Azure etc. Jeg vil råde leseren til å referere til dokumentasjonen til den valgte IoT -plattformen.
Sette opp Losant:
- Logg inn på Losant
- Lag en enhet (frittstående type)
- Legg til noen datatyper på enheten 1. Navn: temperatur, datatype: nummer 2. Navn: offset, datatype: nummer 3. Navn: enhet, datatype: streng
- Generer en tilgangsnøkkel og noter ned enhets -ID og tilgangsnøkkel
- Lag en graf 1. Lag et dashbord. Legg til "Time Series Graph" -blokken til den ved hjelp av temperaturvariabelen og enheten du har opprettet.
"Enhets -ID" tjener formålet med å fungere som et unikt fingeravtrykk for en enhet. "Tilgangsnøkler", slik navnet antyder, lar IoT publisere for Losant under enhetsidentiteten.
Trinn 3: Forbered MQTT Publisher
Nå som vi har forberedt IoT -plattformen for å motta og representere dataene, må vi forberede en MQTT -utgiver som er ansvarlig for å samle inn og sende dataene til plattformen.
Oversikten over forberedelsen til MQTT -utgiveren er som følger:
- Skriv koden: For å instruere utgiveren (IoT) hvordan de skal samle inn data, behandler og sender de dem til IoT -plattformen. Instruksjonene er skrevet på lesbare programmeringsspråk på høyt nivå som vanligvis kalles koden.
- Flash fastvaren: IoT vil ikke lett forstå disse instruksjonene, ettersom den ikke kan noe språk i utgangspunktet. For å bygge bro over denne språkbarrieren mellom mennesket og maskinen, blir koden samlet til et grovt sett med instruksjoner, i utgangspunktet sett med heksadesimale eller binære verdier som er spesifikke for minnesteder inne i IoT, kjent som fastvaren som deretter blinker til IoT.
I denne instruksen, siden jeg bruker min praktiske ESP32, blinker jeg fastvare fra Mongoose OS til den, som godtar programmer skrevet C og JavaScript begge. Bortsett fra JS -kompatibilitet har Mongoose OS fortsatt mye å tilby, for eksempel oppdateringer over luften, for tilpasning av programmet ditt online og et dedikert dashbord for enheter (mDash) osv.
Jeg har utviklet en åpen kildekode-app for Mongoose OS for denne Instructable. Det er en enkel app som heter losant-temp-sensor, som bruker MQTT til å sende de omtrentlige omgivelsestemperaturavlesningene, basert på de interne temperaturavlesningene til ESP32, til Losant (en gratis å bruke IoT-plattform). Det anbefales å gå gjennom appens kode for en bedre forståelse. Vi blinker denne appen for denne Instructable.
Hvis du er av den eventyrlystne typen, kan du prøve å oppnå det samme målet med Arduino-ESP32 firmware som gjør det mulig å bruke ESP32 som en Arduino (med WiFi-funksjon).
En rask oversikt over blinkende app med Mongoose OS:
- Installer mos -verktøyet for operativsystemet.
-
Åpne verktøyet og utfør følgende kommandoer:
- mos klon
- cd losant-temp-sensor
- mos build -plattform esp32
- mos flash
- mos wifi "din wifi ssid" "ditt wifi passord" f.eks. mos wifi "Hjem" "hjemme@123"
-
mos konfigurert temperatur.basis =
temperatur.enhet ="
"f.eks. mos config-set temperature.basis = 33 / temperature.unit =" celsius"
-
mos config-set device.id =
mqtt.client_id = mqtt.user = mqtt.pass =
Etter vellykket blinking, la enheten starte på nytt og deretter utføre følgende kommandoer:
Etter å ha fullført alle disse trinnene riktig, vil du ende opp med en ESP32 som sender temperaturavlesningene til Losant med jevne mellomrom, etter hvert 10. minutt. Vellykket publisering indikeres av den blå LED -en, som vist i videoen ovenfor.
Trinn 4: Fotnote
Hvis du er i stand til å kopiere de forrige trinnene riktig, vil du nå ha et arbeidsprosjekt ved hjelp av hvilket du kan observere temperaturtrendene inne i rommet ditt, eller hvor du planlegger å plassere prosjektet. Siden jeg har holdt denne instruksen så generell som jeg kunne gjøre den, kan du derfor bruke IoT -en din til å samle inn alle slags data og prøve å konkludere med noe nyttig fra den, eller du kan gjøre det bare for å pusle hvis du ' har forstått dette godt.
For meg er det beste med IoT det faktum at det gjør det mulig for oss å samle store biter med data, uavgjørende hvis de tas alene og konvertere det til noe avgjørende. Dette treffer virkelig vitenskapens ånd. For meg var det veldig tilfredsstillende og opplysende å merke temperaturen synke inne i rommet mitt i regntimer gjennom grafen min.
Losant-temp-sensor-appen er optimalisert for strømforbruk, ettersom den bruker funksjonen for dyp søvn i ESP32, derfor kan du bruke den i lange perioder uten å bekymre deg for batteriet i det hele tatt. Du kan utvide strømeffektiviteten ytterligere ved å fjerne lysdioden på utviklingsbordet. Den nåværende tegningen av hele oppsettet har blitt vist ovenfor.
Målet med denne Instructable, helt fra begynnelsen, var bare å gi deg en introduksjon til verden av IoT. Når du er ferdig med denne instruksjonsboken, har du et godt grep om det grunnleggende som du kan styrke enda mer gjennom andre online ressurser.
Selv om du ikke vil være i stand til å lage komplekse prosjekter på dette stadiet, må du alltid huske på at hvis du har en sterk nok murstein og en måte å kombinere dem sammen, kan du lage en tenkelig struktur, fra enkle til kompleks. På samme måte vil du ha en god forståelse av det grunnleggende og vite hvordan du bruker dem riktig. Derfor, gi deg selv en klapp på skulderen for å ta det første trinnet.
Trinn 5: Kreditter og støtte
Denne instruksen består av illustrasjoner, f.eks. den som forklarer MQTT -utveksling, som jeg personlig har laget. Disse illustrasjonene har bare vært mulig takket være følgende gratis å bruke SVG-pakker:
- Infografisk vektor laget av freepik - www.freepik.com
- Infografisk vektor laget av starline - www.freepik.com
- People vector laget av pikisuperstar - www.freepik.com
- Abstrakt vektor laget av macrovector - www.freepik.com
- Abstrakt vektor laget av macrovector - www.freepik.com
- Infografisk vektor laget av pikisuperstar - www.freepik.com
Denne instruksen har blitt sponset av DFRobot. DFRobot har en fantastisk elektronikksamling, så sjekk den ut.
Hvis du føler at du likte denne Instructable og vil ha flere Instructables som dette, så kan du støtte meg på Patreon. Hvis du ikke kan gå så langt, kan du følge meg her på Instructables.
Anbefalt:
Slik kobler du Raspberry Pi til skyen ved hjelp av Node.js: 7 trinn
Slik kobler du Raspberry Pi til skyen ved hjelp av Node.js: Denne opplæringen er nyttig for alle som ønsker å koble en Raspberry Pi til skyen, spesielt til AskSensors IoT -plattform, ved hjelp av Node.js. Har du ikke en Raspberry Pi? Hvis du ikke eier en Raspberry Pi for øyeblikket, vil jeg anbefale deg å kjøpe en Raspberry
Koble Arduino WiFi til skyen ved hjelp av ESP8266: 7 trinn
Koble Arduino WiFi til skyen ved hjelp av ESP8266: I denne opplæringen vil vi forklare deg hvordan du kobler Arduino til IoT -skyen via WiFi. Vi konfigurerer et oppsett sammensatt av en Arduino og en ESP8266 WiFi -modul som en IoT -ting og gjør den klar å kommunisere med AskSensors -skyen. L
Koble anlegget til skyen: 10 trinn
Koble planten din til skyen: På kontoret vårt er det en kaktus som ikke fikk den oppmerksomheten den fortjente. Siden jeg jobber i et IT -selskap og ønsket å eksperimentere med LoRa, serverløse løsninger og AWS, kalte jeg kaktusen vår Steeve og koblet ham til skyen. Du kan nå overvåke
Koble HM-10 til Micro: bit ved hjelp av Bluetooth: 5 trinn
Koble HM-10 til Micro: bit Ved hjelp av Bluetooth: Det hele startet da jeg ble bedt om å lage et automatisk vanningssystem. For å varsle brukeren måtte mikrobiten kobles til HM-10. Det var ingen annen opplæring om hvordan du gjør det, så jeg studerte Bluetooth -tilkoblingen og laget et eksempel
Koble en DHT11/DHT22-sensor til skyen med et ESP8266-basert kort: 9 trinn
Koble en DHT11/DHT22-sensor til skyen med et ESP8266-basert kort: I forrige artikkel koblet jeg mitt ESP8266-baserte NodeMCU-kort til en Cloud4RPi-tjeneste. Nå er det på tide med et skikkelig prosjekt