INHOUDSOPGAWE:
- Voorrade
- Stap 1: Inleiding tot MQTT
- Stap 2: Inleiding tot IoT -platform
- Stap 3: Berei die MQTT -uitgewer voor
- Stap 4: Voetnota
- Stap 5: Krediete en ondersteuning
Video: IoT Basics: Koppel u IoT aan die wolk met behulp van Mongoose OS: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
As u 'n persoon is wat besig is met knoeiery en elektronika, kom u meer gereeld teë op die term Internet of Things, gewoonlik afgekort as IoT, en dat dit verwys na 'n stel toestelle wat met die internet verbind kan word! Omdat ek self so 'n persoon was, was ek gefassineer toe ek te wete gekom het dat sulke goeie toestelle vir my maklik bereikbaar is. Die blote gedagte om my projekte met 'n klein stukkie hardeware aan die internet te kon koppel en net te dink aan die talle hekke wat dit vir my projekidees sou oopmaak, het my opgewek.
Maar om vir die IoT te sê om met die internet te skakel, is nie so eenvoudig soos om dit net van die rak af te koop en aan te skakel nie. En behalwe dat ons die toestel met die internet kan verbind, moet ons ook nuttige data na die internet stoot. Hierdie instruksie handel oor die prosedure om die bogenoemde doel te bereik, en is bedoel vir lesers van enige ervaringsvlak, van beginners tot veterane wat nuut is by IoT.
In hierdie instruksies, as 'n voorbeeld, sal ek demonstreer hoe ek die grafiek van die interne temperatuursensorlesings van die ESP32 -ontwikkelingsbord kan teken, wat die lesers 'n goeie idee van die proses moet gee.
Alhoewel hierdie instruksie ESP32 en Mongoose OS gebruik, kan die prosedure uitgebrei word tot alle IoT's en firmware wat daar is!
Voorrade
Om hierdie instruksies self te kan implementeer, benodig u slegs 'n minimale hoeveelheid hardeware, en dit is:
- 'N Internet of Thing (IoT): ek het 'n goedkoop ESP32 -ontwikkelingskloon gebruik. As u van plan is om 'n nuwe ESP32 -ontwikkelbord te koop, moet u die ESP32 -bord van DFRobot besoek.
- 'N Datakabel: Gebruik 'n kabel wat u IoT benodig om te flits, ens.
- 'N Battery (opsioneel): koop dit slegs as u van plan is om u IoT vir 'n lang tyd aan te skakel.
- 'N Mini -broodbord (opsioneel)
Ek stel die leser voor om 'n IoT anders as ESP32 te gebruik, sodat hy/sy werklik kan verstaan wat hier gedoen word, in plaas daarvan om my bloot na te boots. Vertrou my, u sal dit geniet om hierdie proses met u eie gedagtes te implementeer in 'n ander IoT, byvoorbeeld, ESP8266 is 'n goeie keuse.
Stap 1: Inleiding tot MQTT
Wat is MQTT?
"MQTT is 'n eenvoudige boodskapprotokol wat ontwerp is vir beperkte toestelle met 'n lae bandwydte. Dit is dus die perfekte oplossing vir Internet of Things-toepassings. Met MQTT kan u opdragte stuur om uitsette te beheer, data vanaf sensorknope te lees en te publiseer en nog baie meer. " (Van RandomNerdTutorials)
Hoe werk MQTT?
Voordat ons tegnies gaan, dink eers aan ons werklike wêreld. Gestel jy is geïnteresseerd in 'n kaartversameling wat deur jou vriend se vriend besit word, sê Laurel, wat jy persoonlik nie ken nie. Aangesien u baie spesifiek is oor die kaartversameling, vra u u vriend, veronderstel Tom, of Laurel bereid is om dit te verkoop of nie. Terwyl u dit doen, sal u Tom vra om self die kaartversameling te koop as Laurel bereid is om te verkoop, aangesien u nie wil hê dat 'n ander persoon die versameling waarna u smag, in die hande moet kry nie! Met verloop van tyd werk Tom en Laurel in wisselwerking, en in onderlinge ooreenkoms gee Laurel haar kaartversameling aan Tom in ruil vir geld. Na hierdie uitruil hou Tom die kaarte by homself totdat hy u weer ontmoet, en dan gee hy u uiteindelik die kaartversameling. Dit is hoe 'n normale uitruil in ons daaglikse lewe verloop.
In MQTT is die basiese elemente wat betrokke is by die uitruil die uitgewer (Laurel), 'n intekenaar (U) en die makelaar (Tom). Die werkstroom daarvan is ook soortgelyk aan die bogenoemde werklike voorbeeld, behalwe vir een groot verskil! In MQTT word die ruil begin deur die makelaar, dws Laurel sal die eerste keer wees wat Tom bereik om te vertel dat sy haar kaartversameling wil verkoop. As ons die werking van MQTT vergelyk met ons werklike voorbeeld, sou dit soos volg wees:
- Laurel vertel vir Tom dat sy haar kaartversameling (data of laai) wil verkoop en gee die kaarte aan hom.
- Tom neem die kaarte in sy besit en is oop vir aanbiedinge vir die kaartversameling. As jy en Tom ontmoet en hy agterkom dat jy belangstel in die kaarte (teken in op 'n onderwerp). Tom gee jou dan die kaarte.
Aangesien die hele proses staatmaak op die makelaar en geen direkte interaksie tussen die intekenaar en die uitgewer nie, verwyder MQTT die moeite om beide die uitgewer en die intekenaar te sinchroniseer. Die teenwoordigheid van 'n intermediêre makelaar is 'n seën vir hulpbronbeperkte toestelle soos IoT's en mikroverwerkers, aangesien die verwerkingskrag daarvan onvoldoende is om die normale data-oordrag uit te voer, wat ekstra uitgawes soos verifikasie, kodering, ens. MQTT het baie ander funksies, soos liggewig, een-tot-baie-verspreiding, ensovoorts, wat dit ideaal maak vir beperkte netwerke en kliënte
Stap 2: Inleiding tot IoT -platform
Wat is 'n IoT -platform?
"Op 'n hoë vlak is 'n Internet of Things (IoT) -platform die ondersteuningsagteware wat randhardeware, toegangspunte en datanetwerke verbind met ander dele van die waardeketting (wat gewoonlik die eindgebruiker-toepassings is). IoT-platforms tipies hanteer deurlopende bestuurstake en datavisualisering, waarmee gebruikers hul omgewing kan outomatiseer. " (Van Link-Labs)
Kortliks tree 'n IoT -platform op as die medium tussen die gebruiker en die data -insamelingsagente wat verantwoordelik is vir die voorstelling van die versamelde data.
In hierdie instruksies beplan ons om ons ESP32 se temperatuurmetings aanlyn te plaas. Ons ESP32 sal optree as die MQTT -uitgewer en die MQTT -makelaar sal 'n IoT -platform van ons keuse wees. Let daarop dat daar in ons projek geen rol van 'n MQTT -intekenaar is nie, aangesien die data deur die platform self verteenwoordig word. Die IoT -platform sal verantwoordelik wees vir die stoor van ons gepubliseerde data en om dit hier as 'n lyngrafiek mooi voor te stel. Ek sal Losant hier as my IoT -platform gebruik, aangesien dit gratis is om te gebruik en goeie maniere bied om data voor te stel. 'N Paar ander voorbeelde van IoT -platforms is Google Cloud, Amazon AWS en Adafruit, Microsoft Azure, ens. Ek wil die leser aanraai om na die dokumentasie van hul gekose IoT -platform te verwys.
Losant opstel:
- Teken in by Losant
- Skep 'n toestel (selfstandige tipe)
- Voeg 'n paar datatipes by die toestel 1. Naam: temperatuur, Datatipe: Getal2. Naam: offset, datatipe: nommer3. Naam: eenheid, Datatipe: String
- Genereer 'n toegangsleutel en skryf die toestel -ID en toegangsleutel neer
- Skep 'n grafiek 1. Skep 'n paneelbord.2. Voeg die blok "Time Series Graph" daarby met behulp van die temperatuurveranderlike en u toestel wat u gemaak het.
Die 'Toestel -ID' dien as 'n unieke vingerafdruk vir 'n toestel. Die "toegangsleutels", soos die naam aandui, stel die IoT in staat om onder die toestelidentiteit aan Losant te publiseer.
Stap 3: Berei die MQTT -uitgewer voor
Noudat ons die IoT -platform voorberei het vir die ontvangs en voorstelling van die data, moet ons 'n MQTT -uitgewer voorberei wat verantwoordelik is vir die versameling en stuur van die data na die platform.
Die uiteensetting van die voorbereiding van die MQTT -uitgewer is soos volg:
- Skryf die kode: Om die uitgewer (IoT) te leer hoe om data te versamel, verwerk en stuur dit na die IoT -platform. Die instruksies is geskryf in mensleesbare hoëvlak programmeertale, waarna gewoonlik die kode verwys word.
- Flits die firmware: die IoT sal hierdie instruksies nie maklik verstaan nie, aangesien dit aanvanklik geen taal ken nie. Om hierdie taalgrens tussen die mens en die masjien te oorbrug, word die kode saamgestel in 'n growwe stel instruksies, basies stelle heksadesimale of binêre waardes wat spesifiek is vir geheue -liggings in die IoT, bekend as die firmware, wat dan na die IoT flits.
Aangesien ek my handige ESP32 in hierdie instruksies gebruik, sal ek die firmware van Mongoose OS daaraan flits, wat programme wat C en JavaScript albei bevat, aanvaar. Afgesien van JS -verenigbaarheid, het Mongoose OS nog baie te bied, soos opdaterings oor die lug, vir die aanpassing van u program aanlyn en 'n toegewyde dashboard vir toestelle (mDash), ens.
Ek het 'n open source-program vir Mongoose OS ontwikkel vir hierdie Instructable. Dit is 'n eenvoudige app met die naam losant-temp-sensor, wat MQTT gebruik om die benaderde omgewingstemperatuurmetings, gebaseer op die interne temperatuurmetings van die ESP32, na Losant ('n gratis gebruikbare IoT-platform) te stuur. Dit word aanbeveel om deur die kode van die app te gaan vir 'n beter begrip. Ons flits hierdie app vir hierdie instruksies.
As u van die avontuurlike aard is, kan u probeer om dieselfde doel te bereik met die Arduino-ESP32-firmware waarmee u die ESP32 as 'n Arduino (met WiFi-vermoë) kan gebruik.
'N Vinnige oorsig van die flikkerende app met Mongoose OS:
- Installeer mos tool vir u bedryfstelsel.
-
Maak die instrument oop en voer die volgende opdragte uit:
- mos kloon
- cd losant-temp-sensor
- mos build -platform esp32
- moet flits
- mos wifi "u wifi ssid" "u wifi -wagwoord" bv. mos wifi "Home" "home@123"
-
mos config-set temperature.basis =
temperatuur.unit ="
"bv. mos config-set temperature.basis = 33 / temperature.unit =" celsius"
-
mos config-set device.id =
mqtt.client_id = mqtt.user = mqtt.pass =
Na suksesvolle flits, laat die toestel herlaai en voer dan die volgende opdragte uit:
Nadat u al hierdie stappe korrek voltooi het, eindig u met 'n ESP32 wat die temperatuurmetings elke 10 minute gereeld na Losant stuur. Suksesvolle publikasie word aangedui deur die blou LED, soos in die video hierbo getoon.
Stap 4: Voetnota
As u die vorige stappe korrek kan herhaal, het u nou 'n werkende projek waarmee u die temperatuurneigings in u kamer kan waarneem, of waar u ook al die projek wil plaas. Aangesien ek hierdie instruksie so algemeen gehou het as wat ek kon, kan u u IoT dus gebruik om allerhande gegewens te versamel en iets nuttigs daaruit te probeer aflei, of u kan dit net doen om te knibbel as u ' Ek het hierdie instruksies behoorlik verstaan.
Vir my is die beste deel van IoT die feit dat dit ons in staat stel om groot stukkies data te versamel, onbeslis as dit alleen word geneem en dit omskep in iets afdoende. Dit tref die gees van die wetenskap werklik. Vir my was dit baie bevredigend en insiggewend om te sien hoe die temperatuur in my kamer gedurende reënure daal deur my grafiek.
Die losant-temp-sensor-app is geoptimaliseer vir kragverbruik, aangesien dit die diep slaapfunksie van ESP32 gebruik, daarom kan u dit vir lang periodes gebruik sonder om u oor die battery te bekommer. U kan die energie -doeltreffendheid verder uitbrei deur die LED op die ontwikkelbord te verwyder. Die huidige trekking van die hele opstelling is hierbo getoon.
Die doel van hierdie Instructable, van die begin af, was net om u 'n inleiding te gee tot die wêreld van IoT. Nadat u hierdie instruksies voltooi het, het u 'n goeie idee van die basiese beginsels wat u nog meer kan versterk deur middel van ander aanlynbronne.
Alhoewel u op hierdie stadium nie ingewikkelde projekte kan maak nie, moet u altyd in gedagte hou dat as u 'n sterk genoeg baksteen het en 'n manier om dit saam te voeg, u enige denkbare struktuur kan maak, van eenvoudige te kompleks. Net so, as u die basiese beginsels goed verstaan en weet hoe u dit korrek kan toepas, sal u in staat wees om 'n menigte kontras te gebruik. Gee jouself dus 'n klop op die skouer om die eerste stap te neem.
Stap 5: Krediete en ondersteuning
Hierdie instruksie bestaan uit illustrasies, bv. die een wat die MQTT -uitruil verduidelik, wat ek persoonlik gemaak het. Hierdie illustrasies was slegs moontlik danksy die volgende gratis gebruikbare SVG-pakkies:
- Infografiese vektor geskep deur freepik - www.freepik.com
- Infografiese vektor geskep deur starline - www.freepik.com
- Mense -vektor geskep deur pikisuperstar - www.freepik.com
- Abstrakte vektor geskep deur macrovector - www.freepik.com
- Abstrakte vektor geskep deur macrovector - www.freepik.com
- Infografiese vektor geskep deur pikisuperstar - www.freepik.com
Hierdie instruksies is geborg deur DFRobot. DFRobot het 'n wonderlike versameling elektronika, dus kyk gerus daarna.
As u voel dat u van hierdie instruksies gehou het en meer instruksies soos hierdie wil hê, kan u my ondersteun op Patreon. As u nie so ver kan gaan nie, kan u my hier volg op Instructables.
Aanbeveel:
Hoe om Raspberry Pi aan die wolk te koppel met behulp van Node.js: 7 stappe
Hoe om Raspberry Pi aan die wolk te koppel met behulp van Node.js: Hierdie handleiding is handig vir almal wat 'n Raspberry Pi aan die wolk wil koppel, veral aan die AskSensors IoT -platform, met behulp van Node.js. Het u nie 'n Raspberry Pi nie? As u tans nie 'n Raspberry Pi besit nie, sal ek u aanbeveel om 'n Raspberry te koop
Aan die gang met die I2C -sensorinterface ?? - Koppel u MMA8451 met behulp van ESP32's: 8 stappe
Aan die gang met die I2C -sensorinterface ?? - Koppel u MMA8451 met behulp van ESP32's: In hierdie tutoriaal leer u alles oor hoe om 'n I2C -toestel (versnellingsmeter) te begin, aan te sluit en te laat werk met die kontroleerder (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Koppel Arduino WiFi aan die wolk met behulp van ESP8266: 7 stappe
Arduino WiFi met die wolk verbind met behulp van ESP8266: In hierdie tutoriaal sal ons u verduidelik hoe u u Arduino via WiFi met die IoT -wolk kan koppel. om met die AskSensors -wolk te kommunikeer. L
Koppel u plant aan die wolk: 10 stappe
Koppel u plant aan die wolk: in ons kantoor is daar 'n kaktus wat nie die aandag gekry het wat dit verdien het nie. Aangesien ek by 'n IT -onderneming werk en wou eksperimenteer met LoRa, bedienerlose oplossings en AWS, het ek ons kaktus Steeve genoem en hom aan die wolk gekoppel. U kan nou monitor
Koppel 'n DHT11/DHT22-sensor aan die wolk met 'n ESP8266-kaart: 9 stappe
Koppel 'n DHT11/DHT22-sensor aan die wolk met 'n ESP8266-kaart: In die vorige artikel het ek my ESP8266-gebaseerde NodeMCU-bord aan 'n Cloud4RPi-diens gekoppel. Nou is dit tyd vir 'n regte projek