Sisukord:
- Tarvikud
- Samm: Sissejuhatus MQTT -sse
- Samm: Sissejuhatus IoT platvormi
- 3. samm: valmistage välja MQTT kirjastaja
- 4. samm: joonealune märkus
- Samm: krediidid ja tugi
Video: IoT põhitõed: IoT ühendamine pilvega Mongoose OS -i abil: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Kui olete inimene, kes tegeleb nokitsemise ja elektroonikaga, siis satute sagedamini mõiste asjade Internet, tavaliselt lühendina IoT, ja see viitab seadmete kogumile, millega saab Interneti -ühendust luua! Olles ise selline inimene, olin lummatud, kui sain teada, et sellised suurepärased seadmed on mulle kergesti kättesaadavad. Ainuüksi mõte, et saan oma projektid väikese riistvara abil Internetiga ühendada ja lihtsalt mõelda arvukatele väravatele, mis see minu projektiideede jaoks avaneks, ajas mind üles.
Kuid IoT -le Interneti -ühenduse loomine pole nii lihtne kui lihtsalt selle riiulilt ostmine ja sisselülitamine. Lisaks seadme Interneti -ühenduse loomisele peame ka mõned kasulikud andmed Internetti edastama. Selles juhendis käsitletakse ülalnimetatud eesmärgi saavutamiseks vajalikke protseduure ja see on mõeldud mis tahes kogemustasemega lugejatele, alustades algajatest veteranideni, kes on asjade Interneti jaoks uued.
Selles juhendis demonstreerin näitena, kuidas joonistada ESP32 arendusplaadi sisetemperatuuri andurite näidu graafik, mis peaks lugejatele protsessist hea ettekujutuse andma.
Kuigi see juhend sisaldab ESP32 ja Mongoose OS -i, saab seda protseduuri laiendada kõigile olemasolevatele asjade internetile ja püsivarale!
Tarvikud
Selle juhendi ise rakendamiseks vajate ainult minimaalset riistvara ja need on:
- Asjade Internet (IoT): olen kasutanud odavat ESP32 arendusplaadi klooni. Kui kavatsete osta uue ESP32 arendusplaadi, peate kontrollima DFRoboti ESP32 tahvlit.
- Andmekaabel: kasutage kaablit, mida teie IoT vajab vilkumiseks jne.
- Aku (valikuline): ostke see ainult siis, kui kavatsete oma IoT -d pikemaks ajaks sisse lülitada.
- Mini leivalaud (valikuline)
Soovitan lugejal kasutada ESP32 -st erinevat asjade internetti, et ta saaks tõeliselt aru, mida siin tehakse, selle asemel, et mind lihtsalt jäljendada. Uskuge mind, teile meeldib selle protsessi rakendamine, kasutades oma meelt mõnes teises asjade internetis, näiteks ESP8266 oleks hea valik.
Samm: Sissejuhatus MQTT -sse
Mis on MQTT?
"MQTT on lihtne sõnumiprotokoll, mis on loodud piiratud ribalaiusega seadmete jaoks. Seega on see ideaalne lahendus asjade interneti rakenduste jaoks. MQTT võimaldab teil saata käske väljundite juhtimiseks, sensorisõlmede andmete lugemiseks ja avaldamiseks ning palju muud. " (RandomNerdTutorialsilt)
Kuidas MQTT toimib?
Enne tehniliseks minekut mõtleme kõigepealt oma reaalsele maailmale. Oletame, et olete huvitatud kaardikogust, mis kuulub teie sõbra sõbrale, näiteks Laurelile, keda te isiklikult ei tunne. Kuna olete selle kaardikogu suhtes väga eriline, palute oma sõbral, oletame Tomil, küsida, kas Laurel on nõus selle müüma või mitte. Kui teete seda, palute Tomil ise kaardikogu osta, kui Laurel on valmis müüma, sest te ei soovi, et mõni teine inimene saaks kätte selle kollektsiooni, mida ihkate! Aja möödudes suhtlevad Tom ja Laurel ning vastastikusel kokkuleppel annab Laurel raha eest Tomile oma kaardikogu. Pärast seda vahetust hoiab Tom kaarte endaga, kuni ta teiega uuesti kohtub, mis on siis, kui ta teile lõpuks kaartide kogu kätte annab. Nii kulgeb tavaline vahetus meie igapäevaelus.
MQTT -s on vahetusega seotud põhielemendid kirjastaja (Laurel), tellija (teie) ja maakler (Tom). Selle töövoog on samuti sarnane ülaltoodud reaalse maailma näitega, välja arvatud üks suur erinevus! MQTT -s algatab vahetuse maakler, s.t Laurel jõuab esimesena Tomini ja teatab, et soovib oma kaardikogu ära müüa. Kui võrrelda MQTT tööd meie reaalse maailma näitega, siis oleks see järgmine:
- Laurel ütleb Tomile, et soovib oma kaardikogu (andmed või kasulik koormus) maha müüa ja annab kaardid talle.
- Tom võtab need kaardid enda valdusesse ja on avatud pakkumisteks kaartide kogumiseks. Kui sina ja Tom kohtute ja ta saab teada, et olete kaartidest huvitatud (tellib teema). Tom annab sulle kaardid.
Kuna kogu protsess sõltub maaklerist ning tellija ja kirjastaja vahel puudub otsene suhtlus, eemaldab MQTT nii kirjastaja kui ka tellija sünkroonimise probleemid. Vahemaakleri olemasolu on õnnistuseks ressurssidega piiratud seadmetele, nagu asjade Interneti ja mikroprotsessorid, kuna nende töötlemisvõimsus ei ole piisav andmete edastamiseks tavapärasel viisil, mis tooks kaasa täiendavaid üldkulusid, nagu autentimine, krüptimine jne. MQTT-l on palju muid funktsioone, näiteks kergekaaluline, üks-mitmele levitamine jne, mis muudab selle ideaalseks piiratud võrkude ja klientide jaoks
Samm: Sissejuhatus IoT platvormi
Mis on IoT platvorm?
"Kõrgel tasemel on asjade Interneti (IoT) platvorm tugitarkvara, mis ühendab serva riistvara, pääsupunktid ja andmesidevõrgud väärtusahela teiste osadega (mis on üldiselt lõppkasutajarakendused). IoT platvormid käitlema käimasolevaid haldusülesandeid ja andmete visualiseerimist, mis võimaldavad kasutajatel oma keskkonda automatiseerida. " (Link-Labsist)
Abstraktselt toimib asjade Interneti platvorm kasutaja ja andmekogumisagentide vahelise meediumina, kes vastutab kogutud andmete esindamise eest.
Selles juhendis kavatseme oma ESP32 temperatuurinäidud veebis edastada. Meie ESP32 toimib MQTT kirjastajana ja MQTT maakler on meie valitud IoT platvorm. Pange tähele, et meie projektis puudub MQTT tellija roll, kuna andmeid esitab platvorm ise. IoT platvorm vastutab meie avaldatud andmete talletamise ja nende siin kenasti joongraafikuna esitamise eest. Kasutan siin oma asjade Interneti platvormina Losanti, kuna see on tasuta kasutamiseks ja pakub häid viise andmete esitamiseks. Mõned näited asjade Interneti platvormidest on Google Cloud, Amazon AWS ja Adafruit, Microsoft Azure jne. Soovitan lugejal viidata valitud asjade Interneti platvormi dokumentidele.
Losanti seadistamine:
- Logige sisse Losanti
- Seadme loomine (iseseisev tüüp)
- Lisage seadmele mõned andmetüübid1. Nimi: temperatuur, andmetüüp: arv2. Nimi: nihe, andmetüüp: arv3. Nimi: ühik, andmetüüp: string
- Looge juurdepääsuvõti ja märkige üles seadme ID ja juurdepääsuvõti
- Graafiku loomine 1. Looge armatuurlaud.2. Lisage sellele plokk "Ajasarja graafik", kasutades temperatuurimuutujat ja teie loodud seadet.
"Seadme ID" eesmärk on toimida seadme unikaalse sõrmejäljena. "Juurdepääsuklahvid", nagu nimigi ütleb, võimaldab IoT -l avaldada Losantile seadme identiteedi all.
3. samm: valmistage välja MQTT kirjastaja
Nüüd, kui oleme asjade Interneti platvormi andmete vastuvõtmiseks ja esitamiseks ette valmistanud, peame ette valmistama MQTT kirjastaja, kes vastutab andmete kogumise ja platvormile saatmise eest.
MQTT kirjastajate ettevalmistus on järgmine:
- Kirjutage kood: kirjastaja (IoT) juhendamiseks andmete kogumiseks, töötlemiseks ja asjade Interneti platvormile saatmiseks. Juhised on kirjutatud inimloetavas kõrgetasemelises programmeerimiskeeles, mida tavaliselt nimetatakse koodiks.
- Püsivara välklamp: asjade internet ei mõista neid juhiseid kergesti, kuna ei oska esialgu ühtegi keelt. Selle keelebarjääri ületamiseks inimese ja masina vahel kompileeritakse kood töötlemata juhiste kogumiks, mis koosneb põhimõtteliselt kuueteistkümnendsüsteemi või binaarsete väärtuste komplektidest, mis on spetsiifilised IoT -sisese mälu asukohtadele, mida tuntakse püsivarana, mis seejärel IoT -le välgutatakse.
Selles juhendis, kuna kasutan oma käepärast ESP32, vilgutan sellele Mongoose OS -i püsivara, mis aktsepteerib nii C- kui ka JavaScripti kirjutatud programme. Lisaks JS -i ühilduvusele on Mongoose OS -il veel palju pakkuda, näiteks õhu kaudu värskendusi, et oma programmi veebis kohandada, ja spetsiaalset armatuurlauda seadmetele (mDash) jne.
Olen selle juhendi jaoks välja töötanud avatud lähtekoodiga rakenduse Mongoose OS jaoks. See on lihtne rakendus nimega losant-temp-sensor, mis kasutab MQTT-d, et saata ligikaudsed ümbritseva õhu temperatuurinäidud, mis põhinevad ESP32 sisetemperatuuril, Losantile (tasuta kasutatav IoT-platvorm). Paremaks mõistmiseks on soovitatav rakenduse kood läbi vaadata. Selle Instructable'i jaoks käivitame selle rakenduse.
Kui olete seiklushimuline, võite proovida sama eesmärki saavutada Arduino-ESP32 püsivara abil, mis võimaldab kasutada ESP32 Arduino-na (WiFi-võimalusega).
Kiire ülevaade Mongoose OS -iga vilkuva rakenduse kohta:
- Installige oma OS -i jaoks tööriist mos.
-
Avage tööriist ja täitke järgmised käsud:
- mos kloon
- cd losant-temp-sensor
- mos ehitada -platvorm esp32
- mos vilgub
- mos wifi "teie wifi ssid" "teie wifi parool" nt. mos wifi "Kodu" "kodu@123"
-
mos konfigureeritud temperatuur. alus =
temperatuur.ühik ="
"nt mos konfiguratsioonis määratud temperatuur.alus = 33 / temperatuur.ühik =" Celsius"
-
mos config-set device.id =
mqtt.client_id = mqtt.user = mqtt.pass =
Pärast edukat vilkumist laske seadmel taaskäivitada ja seejärel täitke järgmised käsud:
Pärast kõigi nende toimingute korrektset lõpetamist saate ESP32, mis saadab temperatuurinäidud perioodiliselt iga 10 minuti järel Losantile. Edukat avaldamist näitab sinine LED, nagu on näidatud ülaltoodud videos.
4. samm: joonealune märkus
Kui teil on võimalik eelnevaid samme õigesti korrata, on teil nüüd tööprojekt, mille abil saate jälgida oma toas või kõikjal, kuhu kavatsete projekti paigutada, temperatuuri suundumusi. Kuna olen selle Instructable'i nii üldiseks pidanud kui võimalik, siis võite oma asjade Interneti abil koguda igasuguseid andmeid ja proovida sellest midagi kasulikku järeldada, või võite seda teha lihtsalt nokitsemise huvides, kui olete sellest juhendist õigesti aru saanud.
Minu jaoks on asjade Interneti parim osa asjaolu, et see võimaldab meil koguda tohutuid andmeid, mis pole üksi võttes veenvad, ja muuta need millekski lõplikuks. See tabab tõesti teaduse vaimu. Minu jaoks oli väga rahuldustpakkuv ja valgustav märgata, kuidas minu graafiku kaudu vihmatundidel minu toas temperatuur langeb.
Rakendus luusant-temp-sensor-rakendus on optimeeritud energiatarbimiseks, kuna see kasutab ESP32 sügava une funktsiooni, nii et saate seda pikka aega kasutada, ilma aku pärast muretsemata. Saate energiatõhusust veelgi laiendada, eemaldades arendusplaadilt LED -i. Kogu seadistuse praegune joonistus on näidatud ülal.
Selle Instructable'i eesmärk oli algusest peale lihtsalt tutvustada teile IoT maailma. Selle juhendi lõpetamisel saate hästi aru põhitõdedest, mida saate teiste veebiavaruste abil veelgi tugevdada.
Kuigi te ei saa selles etapis keerukaid projekte teha, tuleb siiski alati meeles pidada, et kui teil on piisavalt tugev tellis ja võimalus neid omavahel kombineerida, saate luua lihtsa kujunduse keeruliseks. Samamoodi võimaldab teil põhitõdedest hästi aru saada ja neid õigesti rakendada, pannes kokku hulgaliselt seadmeid. Seetõttu tehke endale esimese sammu tegemiseks patsutus.
Samm: krediidid ja tugi
Käesolev juhend sisaldab illustratsioone, nt. see, mis selgitab MQTT vahetust, mille olen isiklikult teinud. Need illustratsioonid on olnud võimalikud ainult tänu järgmistele tasuta kasutatavatele SVG-pakettidele:
- Infograafika vektor, mille on loonud freepik - www.freepik.com
- Infograafiavektor, mille on loonud starline - www.freepik.com
- Inimeste vektor, mille on loonud pikisuperstar - www.freepik.com
- Makrovektori loodud abstraktne vektor - www.freepik.com
- Makrovektori loodud abstraktne vektor - www.freepik.com
- Infograafiline vektor, mille on loonud pikisuperstar - www.freepik.com
Seda juhendit on sponsoreerinud DFRobot. DFRobotil on suurepärane elektroonikakollektsioon, nii et vaadake seda kindlasti.
Kui tunnete, et teile see Instructable meeldis ja soovite rohkem selliseid juhiseid, siis saate mind Patreonis toetada. Kui te ei saa nii kaugele minna, võite järgida mind siin Instructablesis.
Soovitan:
ESP8266 NodeMCU ühendamine Interneti -pilvega: 5 sammu
Kuidas ühendada ESP8266 NodeMCU IoT Cloudiga: see juhend annab teile lihtsa asjade Interneti demo, kasutades ESP8266 NodeMCU -d ja veebipõhist IoT -teenust nimega AskSensors. Näitame teile, kuidas kiiresti ESP8266 HTTPS kliendilt andmeid hankida ja need graafiliselt AskSensors Io -sse joonistada
ESP32 ühendamine Interneti -pilvega: 8 sammu
Kuidas ühendada ESP32 IoT pilvega: see juhend on saadaval artiklite seerias riistvara, näiteks Arduino ja ESP8266, ühendamiseks pilvega. Ma selgitan teile, kuidas oma ESP32 kiip AskSensors IoT teenusega pilvega ühendada. Miks ESP32? Pärast suurt edu
Arduino WiFi ühendamine pilvega, kasutades ESP8266: 7 sammu
Arduino WiFi ühendamine pilvega, kasutades ESP8266: Selles õpetuses selgitame teile, kuidas ühendada oma Arduino WiFi kaudu IoT pilvega. Seadistame Arduino ja ESP8266 WiFi moodulist koosneva seadistuse IoT asjaks ja valmistame selle valmis suhelda AskSensors pilvega. L
Töötlemise ja Arduino ühendamine ning 7 segmendi ja servo GUI kontrolleri ühendamine: 4 sammu
Töötlemise ja Arduino ning Make 7 Segment ja Servo GUI kontrolleri ühendamine: mõnede teie tehtud projektide puhul on vaja kasutada Arduinot, kuna see pakub lihtsat prototüüpimisplatvormi, kuid graafika kuvamine Arduino jadamonitoris võib võtta päris kaua aega ja seda on isegi raske teha. Graafikuid saate kuvada Arduino jadamonitoril
DHT11/DHT22 anduri ühendamine pilvega ESP8266-põhise plaadiga: 9 sammu
DHT11/DHT22 anduri ühendamine pilvega ESP8266-põhise plaadiga: Eelmises artiklis ühendasin oma ESP8266-põhise NodeMCU-plaadi Cloud4RPi teenusega. Nüüd on aeg tõeliseks projektiks