Innholdsfortegnelse:

IoT Grunnleggende: Koble IoT til skyen ved hjelp av Mongoose OS: 5 trinn
IoT Grunnleggende: Koble IoT til skyen ved hjelp av Mongoose OS: 5 trinn

Video: IoT Grunnleggende: Koble IoT til skyen ved hjelp av Mongoose OS: 5 trinn

Video: IoT Grunnleggende: Koble IoT til skyen ved hjelp av Mongoose OS: 5 trinn
Video: Fjernovervågning af dit hjems energiforbrug | PZEM-004T | RemoteXY IoT Cloud 2024, November
Anonim
IoT Grunnleggende: Koble IoT til skyen ved hjelp av Mongoose OS
IoT Grunnleggende: Koble IoT til skyen ved hjelp av Mongoose OS
IoT Grunnleggende: Koble IoT til skyen ved hjelp av Mongoose OS
IoT Grunnleggende: Koble IoT til skyen ved hjelp av Mongoose OS

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

Introduksjon til MQTT
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:

  1. Laurel forteller Tom at hun vil selge kortsamlingen hennes (data eller nyttelast) og gir kortene til ham.
  2. 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:

  1. Logg inn på Losant
  2. Lag en enhet (frittstående type)
  3. Legg til noen datatyper på enheten 1. Navn: temperatur, datatype: nummer 2. Navn: offset, datatype: nummer 3. Navn: enhet, datatype: streng
  4. Generer en tilgangsnøkkel og noter ned enhets -ID og tilgangsnøkkel
  5. 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

Image
Image

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:

  1. Installer mos -verktøyet for operativsystemet.
  2. Åpne verktøyet og utfør følgende kommandoer:

    1. mos klon
    2. cd losant-temp-sensor
    3. mos build -plattform esp32
    4. mos flash
  3. Etter vellykket blinking, la enheten starte på nytt og deretter utføre følgende kommandoer:

    1. mos wifi "din wifi ssid" "ditt wifi passord" f.eks. mos wifi "Hjem" "hjemme@123"
    2. mos konfigurert temperatur.basis =

      temperatur.enhet ="

      "f.eks. mos config-set temperature.basis = 33 / temperature.unit =" celsius"

    3. mos config-set device.id = mqtt.client_id = mqtt.user = mqtt.pass =

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

Image
Image
Fotnote
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: