Obsah:
- Zásoby
- Krok 1: Úvod do MQTT
- Krok 2: Úvod do platformy IoT
- Krok 3: Připravte si MQTT Publisher
- Krok 4: Poznámka pod čarou
- Krok 5: Kredity a podpora
Video: Základy IoT: Připojení IoT ke cloudu pomocí systému Mongoose OS: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Pokud jste člověk, který se zabývá drotářstvím a elektronikou, častěji než ne, narazíte na termín Internet věcí, který se obvykle označuje zkratkou IoT, a který označuje soubor zařízení, která se mohou připojit k internetu! Být takovým člověkem sám, fascinovalo mě, když jsem poznal, že tak skvělá zařízení mi byla snadno dostupná. Už jen pomyšlení na to, že bych mohl připojit své projekty k internetu pomocí malého kusu hardwaru a jen přemýšlet o nesčetných branách, které by se otevřely pro mé nápady na projekty, mě napumpovalo.
Ale říct IoT, aby se připojila k internetu, není tak jednoduché, jako kdybyste ho koupili z regálu a zapnuli. A kromě toho, aby se zařízení připojilo k internetu, musíme také poslat na internet několik užitečných dat. Tento Instructable se zabývá postupy použitými k dosažení výše uvedeného cíle a je určen čtenářům jakékoli úrovně zkušeností, od začátečníků až po veterány, kteří jsou v IoT noví.
V tomto Instructable jako příklad předvedu, jak vykreslit graf hodnot vnitřních teplotních senzorů vývojové desky ESP32, což by mělo čtenářům poskytnout dobrou představu o procesu.
Ačkoli tento Instructable používá ESP32 a Mongoose OS, přesto lze postup rozšířit na všechny IoT a firmware, které existují!
Zásoby
Abyste mohli sami implementovat tento Instructable, budete potřebovat pouze minimální množství hardwaru a jsou to tyto:
- Internet of Thing (IoT): Použil jsem levný klon vývojové desky ESP32. Pokud plánujete koupit novou vývojovou desku ESP32, musíte se podívat na desku ESP32 společnosti DFRobot.
- Datový kabel: Použijte kabel, který vaše IoT vyžaduje pro blikání atd.
- Baterie (volitelně): Kupte si ji pouze v případě, že hodláte IoT delší dobu zapínat.
- Mini Breadboard (volitelně)
Doporučuji čtenáři použít IoT odlišný od ESP32, aby mohl skutečně pochopit, co se zde děje, místo aby mě jednoduše napodoboval. Věřte mi, implementaci tohoto procesu si užijete pomocí své vlastní mysli v jiných IoT, například ESP8266 by byla dobrá volba.
Krok 1: Úvod do MQTT
Co je MQTT?
"MQTT je jednoduchý protokol pro zasílání zpráv, navržený pro omezená zařízení s nízkou šířkou pásma. Je to tedy dokonalé řešení pro aplikace Internet of Things. MQTT vám umožňuje odesílat příkazy k ovládání výstupů, čtení a publikování dat ze senzorových uzlů a mnoho dalšího." " (Z RandomNerdTutorials)
Jak MQTT funguje?
Než začneme s technikou, zamysleme se nejprve nad naším skutečným světem. Předpokládejme, že máte zájem o sbírku karet, kterou vlastní přítel vašeho přítele, řekněme Laurel, kterého osobně neznáte. Protože si na tu sbírku karet dáváte obzvlášť záležet, zeptáte se svého přítele, předpokládejme, Toma, aby se zeptal, jestli je Laurel ochotná ji prodat nebo ne. Přitom požádáte Toma, aby si koupil sbírku karet sám, pokud je Laurel ochotná prodat, protože nechcete, aby se sbírka, po které toužíte, dostala do rukou jiné osoby! Jak plyne čas, Tom a Laurel se setkávají a Laurel po vzájemné dohodě dává Tomovi svou sbírku karet výměnou za peníze. Po této výměně si Tom nechává karty u sebe, dokud se s vámi znovu nesetká, kdy vám konečně dá sbírku karet. Tak probíhá běžná výměna v našem každodenním životě.
V MQTT jsou základními prvky výměny vydavatel (Laurel), předplatitel (vy) a makléř (Tom). Jeho pracovní postup je také podobný výše uvedenému příkladu z reálného světa, až na jeden obrovský rozdíl! V MQTT je výměna iniciována makléřem, tj. Laurel bude první, kdo osloví Toma, aby oznámil, že chce prodat svoji sbírku karet. Pokud porovnáme fungování MQTT s naším příkladem v reálném světě, pak by to bylo následující:
- Laurel řekne Tomovi, že chce prodat svoji sbírku karet (data nebo užitečné zatížení) a dá mu karty.
- Tom vezme tyto karty do svého vlastnictví a je otevřený nabídkám pro sběr karet. Když se s Tomem setkáte a zjistí, že vás karty zajímají (přihlásí se k tématu). Tom vám pak dá karty.
Protože celý proces závisí na zprostředkovateli a žádné přímé interakci mezi předplatitelem a vydavatelem, MQTT odstraňuje potíže se synchronizací vydavatele i předplatitele. Přítomnost zprostředkujícího brokera je výhodou pro zařízení omezená zdroji, jako jsou IoT a mikroprocesory, protože jejich výpočetní výkon není dostatečný k běžnému přenosu dat, což by vyžadovalo dodatečné režijní náklady, jako je autentizace, šifrování atd. Kromě toho, MQTT má spoustu dalších funkcí, jako je lehká distribuce typu jedna k mnoha atd., Díky nimž je ideální pro omezené sítě a klienty
Krok 2: Úvod do platformy IoT
Co je platforma IoT?
„Na vysoké úrovni je platforma Internet of Things (IoT) podpůrný software, který propojuje hranový hardware, přístupové body a datové sítě s jinými částmi hodnotového řetězce (což jsou obecně aplikace pro koncové uživatele). Platformy IoT obvykle zvládnout probíhající úlohy správy a vizualizaci dat, které uživatelům umožňují automatizovat jejich prostředí. “(Od Link-Labs)
Abstraktně platforma IoT funguje jako médium mezi uživatelem a agenty shromažďování dat, které jsou zodpovědné za reprezentaci shromážděných dat.
V tomto Instructable plánujeme posunout naměřené teploty našeho ESP32 online. Náš ESP32 bude fungovat jako vydavatel MQTT a broker MQTT bude platformou IoT podle našeho výběru. Všimněte si, že v našem projektu neexistuje žádná role předplatitele MQTT, protože data reprezentuje samotná platforma z první ruky. Platforma IoT bude zodpovědná za ukládání našich publikovaných dat a jejich pěknou reprezentaci zde, jako spojnicový graf. Jako svou platformu IoT zde budu používat Losant, protože je zdarma k použití a nabízí několik dobrých způsobů, jak reprezentovat data. Některé další příklady platforem IoT jsou Google Cloud, Amazon AWS a Adafruit, Microsoft Azure atd. Rád bych čtenáři doporučil, aby si přečetl dokumentaci k zvolené platformě IoT.
Nastavení Losant:
- Přihlaste se do Losant
- Vytvořit zařízení (samostatný typ)
- Přidejte do zařízení několik datových typů1. Název: teplota, Typ dat: Číslo 2. Název: offset, Typ dat: Number3. Název: jednotka, Typ dat: Řetězec
- Vygenerujte přístupový klíč a poznamenejte si ID zařízení a přístupový klíč
- Vytvoření grafu 1. Vytvořte řídicí panel. Přidejte do něj blok „Časový graf“pomocí proměnné teploty a vytvořeného zařízení.
„ID zařízení“slouží k tomu, aby v zařízení fungovalo jako jedinečný otisk prstu. „Přístupové klíče“, jak název napovídá, umožňují IoT publikovat na Losant pod identitou zařízení.
Krok 3: Připravte si MQTT Publisher
Nyní, když jsme připravili platformu IoT pro příjem a reprezentaci dat, musíme připravit vydavatele MQTT, který by byl zodpovědný za shromažďování a odesílání dat na platformu.
Přehled přípravy vydavatele MQTT je následující:
- Napište kód: Chcete -li vydavateli (IoT) dát pokyny, jak shromažďovat data, zpracovávat je a odesílat na platformu IoT. Pokyny jsou napsány v programovatelných jazycích vysoké úrovně čitelných pro člověka, které se běžně označují jako kód.
- Flashujte firmware: IoT nebude těmto pokynům snadno rozumět, protože zpočátku nezná žádný jazyk. K překlenutí této jazykové bariéry mezi člověkem a strojem je kód kompilován do hrubé sady instrukcí, v zásadě sad hexadecimálních nebo binárních hodnot specifických pro umístění paměti uvnitř IoT, známého jako firmware, který je poté přenesen do IoT.
V tomto Instructable, protože používám svůj šikovný ESP32, na něj budu blikat firmware Mongoose OS, který přijímá programy napsané C i JavaScript. Kromě kompatibility JS má OS Mongoose stále co nabídnout, například bezdrátové aktualizace, vylepšení programu online a vyhrazený řídicí panel pro zařízení (mDash) atd.
Pro tento Instructable jsem vyvinul open-source aplikaci pro Mongoose OS. Jedná se o jednoduchou aplikaci s názvem losant-temp-sensor, která využívá MQTT k odeslání přibližných naměřených hodnot okolní teploty na základě naměřených hodnot vnitřní teploty ESP32 do Losant (bezplatná platforma IoT). Pro lepší pochopení doporučujeme projít kódem aplikace. Tuto aplikaci vydáme pro tento Instructable.
Pokud jste dobrodružný typ, můžete zkusit dosáhnout stejného cíle pomocí firmwaru Arduino-ESP32, který umožňuje použití ESP32 jako Arduina (s možností WiFi).
Rychlý přehled o blikající aplikaci s operačním systémem Mongoose:
- Nainstalujte si nástroj mos pro svůj OS.
-
Otevřete nástroj a spusťte následující příkazy:
- můj klon
- cd losant-temp-sensor
- mos build --platform esp32
- mos blesk
- mos wifi "vaše wifi ssid" "vaše heslo wifi" např. přes wifi "Domů" "domů@123"
-
mos config-set temperature.basis =
teplota.jednotka ="
"např. mos config-set temperature.basis = 33 / temperature.unit =" celsius"
-
mos config-set device.id =
mqtt.client_id = mqtt.user = mqtt.pass =
Po úspěšném blikání nechte zařízení restartovat a poté proveďte následující příkazy:
Po správném dokončení všech těchto kroků skončíte s ESP32, který odešle naměřené teploty periodicky do Losantu každých 10 minut. Úspěšné publikování je indikováno modrou LED, jak je znázorněno na výše uvedeném videu.
Krok 4: Poznámka pod čarou
Pokud jste schopni replikovat předchozí kroky správně, pak nyní budete mít funkční projekt, pomocí kterého můžete sledovat teplotní trendy ve vaší místnosti nebo kdekoli plánujete projekt umístit. Vzhledem k tomu, že jsem tento Instructable ponechal tak obecný, jak jen jsem mohl, tak můžete použít svůj IoT ke sběru dat všeho druhu a pokusit se z něj vyvodit něco užitečného, nebo to můžete udělat jen pro dobro drbání, pokud správně porozuměli tomuto Instructable.
Pro mě je nejlepší na IoT skutečnost, že nám umožňuje sbírat obrovské kusy dat, neprůkazné, pokud jsou brány samostatně, a převést je na něco průkazného. To opravdu zasahuje domov ducha vědy. Pro mě bylo velmi uspokojující a poučné pozorovat pokles teploty uvnitř mého pokoje během hodin deště prostřednictvím mého grafu.
Aplikace losant-temp-sensor-app byla optimalizována pro spotřebu energie, protože využívá funkci hlubokého spánku ESP32, takže ji můžete používat po dlouhou dobu bez obav o baterii. Energetickou účinnost můžete dále rozšířit odstraněním LED na vývojové desce. Aktuální losování celého nastavení bylo ukázáno výše.
Cílem tohoto Instructable bylo hned od začátku poskytnout vám úvod do světa IoT. Po dokončení tohoto Instructable budete dobře ovládat základy, které můžete ještě více posílit prostřednictvím dalších online zdrojů.
I když v této fázi nebudete moci vytvářet složité projekty, přesto byste měli mít na paměti, že pokud máte dostatečně silnou cihlu a způsob, jak je kombinovat, můžete vytvořit jednoduchou strukturu od jednoduchých do komplexu. Podobně dobré porozumění základům a znalost jejich správného použití vám umožní postavit mnoho překlepů. Udělejte proto poplácání po zádech za první krok.
Krok 5: Kredity a podpora
Tento návod obsahuje ilustrace, např. ten, který vysvětluje výměnu MQTT, kterou jsem osobně vytvořil. Tyto ilustrace byly možné pouze díky následujícím volně dostupným balíčkům SVG:
- Infografický vektor vytvořený freepik - www.freepik.com
- Infografický vektor vytvořený společností starline - www.freepik.com
- Vektor lidí vytvořil pikisuperstar - www.freepik.com
- Abstraktní vektor vytvořený společností macrovector - www.freepik.com
- Abstraktní vektor vytvořený společností macrovector - www.freepik.com
- Infografický vektor vytvořený společností pikisuperstar - www.freepik.com
Tento Instructable byl sponzorován společností DFRobot. DFRobot má úžasnou sbírku elektroniky, takže se určitě podívejte.
Pokud máte pocit, že se vám tento Instructable líbil a chcete více takových Instructables, pak mě můžete podpořit na Patreonu. Pokud nemůžete jít tak daleko, můžete mě sledovat zde na Instructables.
Doporučuje:
Jak připojit Raspberry Pi ke cloudu pomocí Node.js: 7 kroků
Jak připojit Raspberry Pi ke cloudu pomocí Node.js: Tento tutoriál je užitečný pro každého, kdo chce připojit Raspberry Pi ke cloudu, zejména k platformě AskSensors IoT, pomocí Node.js. Nemáte Raspberry Pi? Pokud v současnosti Raspberry Pi nevlastníte, doporučím vám pořídit si Raspberry
Jak odesílat data do cloudu pomocí Arduino Ethernet: 8 kroků
Jak odesílat data do cloudu pomocí Arduino Ethernet: Tento návod vám ukáže, jak publikovat svá data na platformě AskSensors IoT pomocí Arduino Ethernet Shield. Ethernetový štít umožňuje vašemu Arduinu snadné připojení ke cloudu, odesílání a přijímání dat pomocí internetového připojení. Co my
Připojení Arduino WiFi ke cloudu pomocí ESP8266: 7 kroků
Připojení Arduino WiFi ke cloudu pomocí ESP8266: V tomto tutoriálu vám vysvětlíme, jak připojit Arduino ke cloudu IoT přes WiFi. Konfigurujeme nastavení složené z WiFi modulu Arduino a ESP8266 jako věc IoT a připravíme ho ke komunikaci s cloudem AskSensors.L
Připojení senzoru DHT11/DHT22 ke cloudu pomocí desky založené na ESP8266: 9 kroků
Připojení senzoru DHT11/DHT22 ke cloudu s deskou založenou na ESP8266: V předchozím článku jsem připojil svoji desku NodeMCU na bázi ESP8266 ke službě Cloud4RPi. Nyní je čas na skutečný projekt
Tlačítko virtuálních dveří pomocí systému Mongoose OS a XinaBox: 10 kroků
Tlačítko virtuálních dveří pomocí systému Mongoose OS a XinaBox: Pomocí systému Mongoose a některých xChips jsme vytvořili tlačítko virtuálních dveří. Místo fyzického tlačítka pro buzz personálu, to nyní mohou udělat sami