Obsah:
- Krok 1: Shromáždění potřebného materiálu
- Krok 2: Architektura systému
- Krok 3: Konfigurace vašeho ESP
- Krok 4: Připojení hardwaru: Senzor k ESP
- Krok 5: Propojení ESP8266 s Adafruit IO: Vytvoření účtu Adafruit IO
- Krok 6: Propojení ESP8266 s Adafruit IO: Vytváření kanálů
- Krok 7: Propojení ESP8266 s Adafruit IO: Vytvoření řídicího panelu
- Krok 8: Propojení ESP8266 s Adafruit IO: Vytvoření kódu pro ultrazvukové snímače
- Krok 9: IFTTT, připojte IFTTT k Adafruit
- Krok 10: Vytvořte aplet v IFTTT
- Krok 11: Vytvořte spoušť z Adafruit
- Krok 12: Vytvořte akci pro Gmail, Kalendář Google a oznámení pro aplikaci IFTTT
- Krok 13: Testování
- Krok 14: Použití služby Zapier
- Krok 15: Spuštění systému z úrovně IFTTT
- Krok 16: Budoucí rozsah: Industrializace produktu
- Krok 17: Možné potíže, se kterými se můžete setkat
- Krok 18: Ke konci…
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Ahoj
Tento návod poskytuje krok za krokem úvod o tom, jak vybudovat systém upozornění na prádlo založený na IoT.
Zařízení je připevněno ve vašich zásuvkách a sáčku na prádlo. Kvůli ukázce jsme vzali dvě zásuvky a jeden pytel na prádlo. Rozpozná, jak jsou zásuvky/pytel na prádlo prázdné/plné, a upozorní uživatele, že je třeba vyprat prádlo. Používá ultrazvukový senzor, který v podstatě měří prázdný prostor v koších. Senzor je připojen k ESP, který je zase připojen ke cloudové službě. K IFTTT je připojena cloudová služba, která pomocí appletů odesílá uživateli oznámení prostřednictvím e -mailu, sms, události kalendáře Google. Cloud je dodáván s dahboardem, na kterém je vidět stav všech popelnic. Když cloud zjistí, že vám dochází čisté oblečení, nařídí appletům, aby vás na to upozornily. Kromě toho applet nařizuje cloudu, aby data každý den pravidelně kontroloval. Může to být jednou denně nebo každou hodinu, podle toho, jak to uživatel chce. Podrobné pokyny k vytvoření tohoto systému jsou popsány níže.
Krok 1: Shromáždění potřebného materiálu
budete potřebovat:
1. 3 ultrazvukové senzory HC SR04 (5V)
2. 3 ESP8266 12 (5V)
3. 3 9V baterie
4. 3 5V potenciometry (k napájení ESP a senzorů)
5. Banda konektorů žena - žena a muž - žena
6. Pouzdro na baterie
Tyto věci můžete snadno koupit na Amazonu. Senzory a ESP jsou opravdu levné, pokud si koupíte balení, které obsahuje 6 kusů.
Krok 2: Architektura systému
Architekturu systému lze pochopit z obrázku. Senzory jsou připojeny k ESP. ESP odesílá data (vzdálenost) společnosti Adafruit, která je poté zpracovává, aby zjistila, jak jsou kontejnery plné. V závislosti na tom, jak je zásuvka prázdná a jak plná je pytel na prádlo, obdrží uživatel upozornění, že je třeba zítra vyprat prádlo. IFTTT se spouští z Adafruit a provede akci, zda odešle e -mail prostřednictvím Gmai, vytvoří událost v kalendáři nebo odešle oznámení prostřednictvím aplikace IFTTT. Toto zařízení je dodáváno s řídicím panelem, který lze otevřít v libovolném prohlížeči. Palubní deska je připojena k hardwaru pomocí prostředí Adafruit, které zobrazuje hodnoty ze senzorů. Kromě toho je možné z této úrovně ESP zapínat a vypínat z palubní desky.
Krok 3: Konfigurace vašeho ESP
Svůj ESP můžete snadno ovládat připojením k Arduino IDE. Vše, co potřebujete, je stáhnout a nakonfigurovat pro něj knihovny. Můžete postupovat podle následujících kroků:
1. Stáhněte si nejnovější verzi Arduino IDE.
2. Otevřete IDE, přejděte na soubory <preference a zkopírujte níže uvedený odkaz ve Správci dalších desek a kliknutím na OK zavřete kartu předvoleb.
arduino.esp8266.com/stable/package_esp8266…
3. Přejděte do Nástroje <Správce desek <a vyhledejte ESP8266 a nainstalujte verzi 2.4.1. V závislosti na objemu vašeho IDE můžete nainstalovat další verze. Ale jeho práce je nejlepší.
Po tom všem si vybral desku NodeMCU 1.0. Nyní jste připraveni používat svůj ESP stejně jako Arduino (nebo ještě lépe).
4. Jakmile budete hotovi s připojením a fungováním vašeho ESP s notebookem jako Arduino, přejděte na další úroveň a připojte se buď pomocí WiFi nebo mobilního hotspotu.
Krok 4: Připojení hardwaru: Senzor k ESP
Zde je návod, jak připojit senzor a kódovat jej tak, aby vám poskytl prázdné místo v přihrádkách.
1. Senzor Vcc je připojen k NodeMCU VUpin. Pokud jej připojíte na 3,3 V, váš senzor nebude fungovat, protože jeho provozní napětí je 5 V.
2. Senzor GND je připojen k NodeMCU GND.
3. Pin Trigger senzoru je připojen k NodeMCU Digital I/O D4.
4. Čidlo Echo Pin je připojeno k NodeMCU Digital I/O D3.
Poté můžete napsat níže uvedený kód a zjistit, zda váš ultrazvuk funguje. Poté, co zjistíte, že vaše senzory, kód a ESP fungují správně, můžete připojit svůj ESP k WiFi a zkontrolovat, zda funguje. Přitom se hardwarová připojení trochu změní, jak je popsáno níže. Předtím se však ujistěte, že připojujete 9V baterie k POT a jsou nastaveny na výstupní napětí 5V. Nechcete spalovat své ESP (páchnou špatně).
1. ESP Vin a senzor Vcc jsou připojeny k kladnému pólu baterie.
2. GND ESP a GND snímače jsou připojeny k zápornému pólu baterie. Nezapomeňte provést společnou zem, jinak váš senzor poskytne náhodná data.
3. Pin Trigger senzoru je připojen k NodeMCU Digital I/O D4.
4. Čidlo Echo Pin je připojeno k NodeMCU Digital I/O D3.
Má trochu o tom, jak funguje ultrazvukový senzor a jak je kódován.
Senzor v zásadě vysílá impuls a měří jej, dokud se neodrazí a nedosáhne zpět k senzoru. Na základě času a rychlosti zvuku musíme formulovat vzdálenost. To je v podstatě to, co jsme zde udělali. Samotný senzor jednoduše drží kolík „ECHO“VYSOKÝ po dobu odpovídající času, který je zapotřebí k přijetí odrazu (ozvěny) od vlny, kterou vyslal. Modul vysílá výbuch zvukových vln a současně aplikuje napětí na echo pin. Modul přijímá odraz zpět od zvukových vln a odebírá napětí z echo pinu. Na základě vzdálenosti je v ultrazvukovém senzoru generován impuls pro odeslání dat do ESP. Počáteční impuls je asi 10us a signál PWM bude 150 us-25us na základě vzdálenosti. Pokud zde není žádná překážka, je pro ESP generován 38us impuls, který potvrdí, že nebyly detekovány žádné objekty.
D = 1/2 × T × C; D je vzdálenost, T je čas mezi emisí a příjmem a C je zvuková rychlost, hodnota je vynásobena 1/2, protože T je čas pro vzdálenost go-and-return.
Spojte je dohromady podle výše uvedeného obrázku a umístěte jej do vnitřku popelnic nahoře.
Krok 5: Propojení ESP8266 s Adafruit IO: Vytvoření účtu Adafruit IO
Pro připojení ultrazvukového senzoru a ESP8266 ke cloudu byla zvolena služba Adafruit IO (pomocí protokolu MQTT).
MQTT je jednoduchý a extrémně lehký protokol, který umožňuje zařízením publikovat data (ze zařízení na server) a odebírat data (sbírat data ze serveru). Jednoduchost tohoto řešení dodává broker MQTT, kterým je v tomto případě Adafruit. IO. Prostřednictvím něj mohou zařízení odesílat a přijímat zprávy.
Chcete -li se zaregistrovat, přejděte na web: https://io.adafruit.com/ a klikněte na Začínáme zdarma. Na dalším webu by měl uživatel zadat osobní údaje a kliknout na tlačítko Vytvořit účet. Po registraci je uživatel přesunut do sekce Domů účtu. Pro další psaní kódu pro ultrazvukové senzory je důležité zkontrolovat klíč AIO (tlačítko Zobrazit klíč AIO) pro: uživatelské jméno i aktivní klíč.
Nyní jsme připraveni vytvořit informační kanály (které uchovávají hodnoty senzorů) a řídicí panel, na kterém bude možné monitorovat systém praní.
Krok 6: Propojení ESP8266 s Adafruit IO: Vytváření kanálů
Pro tento projekt bylo použito 6 různých zdrojů:
- Zdroje ON/OFF- kanály, které aktivují/deaktivují ESP8266 pro získání měření. Přidáno z důvodu hospodaření s energií. (Feed: Drawer-1-Onoff, Drawer-2-On-off, Laundry-bag-On-off).
- Informační kanály pro čtení-kanály, které získávají data z ultrazvukových senzorů (zásuvka-1, zásuvka-2, taška na prádlo).
Vytvoření kanálu
- Vstupte do sekce Zdroje
- Klikněte na Akce a vytvořte nový kanál
- Výplň: Název zdroje (zde pro první zásuvku- zásuvka-1 a krátký popis)
Stejným způsobem vytvořte dalších pět kanálů. Pamatujte, že názvy budou použity pro další vývoj kódu ESP8266.
Poplatky jsou připraveny, ale neexistuje snadný způsob, jak se pokusit o všechna čtení současně. Proto jsou zapotřebí dashboardy.
Krok 7: Propojení ESP8266 s Adafruit IO: Vytvoření řídicího panelu
Vytváření dashboardu začíná v sekci Dashboards. Klikněte na tlačítko Akce (podobně jako v sekci Zdroje)-> Vytvořit nový řídicí panel-> vyplnit název (v tomto případě: Váš_Prádelna_Systém) a krátký popis-> Klikněte na tlačítko Vytvořit. Poté můžete vstoupit na hlavní panel.
Na hlavním panelu klikněte na tlačítko Vytvořit nový blok. Pro tuto aplikaci potřebujeme tři typy bloků:
- 3x Přepnout (pro zapnutí a vypnutí snímání)
- 3x měřidlo (ukazuje skutečnou úroveň v zásuvce/sáčku na prádlo)
- 3x Čárový graf (zobrazující historická data)
Přepnout
- Klikněte na ikonu Přepnout.
- Vyberte první kanál ZAP/VYP, tj. Zásuvka-1-vypínání.
- Přidejte název bloku, tj. Vyčistěte trička- Zásuvka 1. Klikněte na Vytvořit blok.
Umístěte přepínač do horního rohu palubní desky. Stejným způsobem propojte zbytek kanálů ON/OFF s Toogle.
Rozchod
- Klikněte na ikonu Gauge.
- Vyberte první zdroj shromažďování dat: Zásuvka-1.
- Vyplňte údaje odpovídajícím způsobem: pro název bloku, tj.: Čistá trička- Zásuvka 1, Maximální hodnota měřidla (v závislosti na hloubce zásuvky- v tomto případě 10), Nízká/Vysoká varovná hodnota (změna barvy měřidla).
Umístěte měřidlo na palubní desku. Stejným způsobem propojte zbytek kanálů pro ukládání dat s měřidlem.
Spojnicový graf
- Klikněte na ikonu Čárový graf.
- Vyberte první zdroj shromažďování dat: Zásuvka-1.
- Změňte pole Zobrazit historii na 24 hodin, změňte maximální a desetinná místa osy Y v závislosti na hloubce zásuvky.
Umístěte spojnicový graf na řídicí panel. Stejným způsobem propojte zbytek kanálů pro ukládání dat s čárovým grafem.
Konečný řídicí panel je přiložen v sekci obrázků. Nezapomeňte, že řídicí panely ukazují, kolik prázdného místa je stále v pytli/zásuvkách na prádlo.
Krok 8: Propojení ESP8266 s Adafruit IO: Vytvoření kódu pro ultrazvukové snímače
Za prvé, je zapotřebí knihovna Adafruit MQTT. Chcete-li jej nainstalovat, otevřete Arduino IDE-> Nástroje-> Spravovat knihovny a do vyhledávání zadejte: Adafruit MQTT. Knihovna by měla být nainstalována do vašeho počítače.
Poté si stáhněte přiložený příklad kódu (zde přiložený kód pro ultrazvukový senzor pracující v sáčku na prádlo).
Aby byla použitelná pro vaši konfiguraci, musíte změnit následující podrobnosti:
- WLAN_SSID- název vaší WiFi sítě.
- WLAN_PASS- heslo do vaší WiFi sítě.
- AIO_USERNAME- jméno vašeho uživatele v Adafruit IO (od kroku 4).
- AIO_KEY- klíč IO Adafruit (od kroku 4).
- Adafruit_MQTT_Publish…. "/feed/Laundry-bag"- zde musíte zadat název zdroje, do kterého budou data publikována.
- Adafruit_MQTT_Subscribe "/feeds/Laundry-bag-On-off"-zde musíte zadat název zdroje, který spustí senzor.
Poté musí být program nahrán do ESP8266. Je třeba změnit názvy zdrojů pro zásuvku 1 a zásuvku 2.
Důležitá poznámka: kvůli if (zpráva == "ON") systém změří vzdálenost pouze jednou a když je tlačítko na palubní desce ON/OFF v poloze ON. Pro opětovné měření musí uživatel vypnout a znovu zapnout senzor na palubní desce.
Po nahrání programu na každý řídicí panel ESP8266 by se mělo zobrazovat čtení z každého senzoru. Senzory lze spustit z úrovně palubní desky. Spouštění systému je možné také z úrovně apletu IFTTT (krok 13).
Krok 9: IFTTT, připojte IFTTT k Adafruit
Varování: IFTTT není nejspolehlivější spojení při spouštění Kalendáře Google a e-mailu pomocí tří senzorů připojených k Adafruit IO. Přejděte na krok 14, abyste se o Zapierovi dozvěděli více
IFTTT je webová služba, která vytváří jednoduchou podmínku „If This Then That“. Funguje s jinými webovými službami, jako je Gmail, Facebook, Instagram atd. Jednoduchá podmínka se skládá z „Toto“, což je ve skutečnosti spouštěč, a „To“, což je akce, kterou je třeba provést. Aby tato jednoduchá podmínka fungovala na platformě IFTTT, je nutné vytvořit aplety. Tento projekt využívá Adafruit.io MQTT jako cloud pro zobrazení úrovně oblečení v pytli na prádlo a zásuvky poté IFTTT obdrží spoušť od Adafruit.io k odeslání připomenutí uživateli prostřednictvím kalendáře Google nebo Gmailu.
Nejprve si vytvořte účet IFTTT na webu IFTTT. Přihlaste se ke svému účtu. IFTTT vyžaduje připojení k účtu Adafruit, kde byl vytvořen řídicí panel. Chcete -li se připojit k serveru Adafruit https://ifttt.com/adafruit, přejděte na následující odkaz
Dále klikněte na Připojit, budete přesměrováni na webovou stránku Adafruit a klikněte na Autorizovat. Pro tento projekt byl IFTTT připojen k účtu Adafruit, jak je znázorněno na obrázku. Po připojení IFTTT k účtu Adafruit jsou aplety připraveny k vytvoření.
Krok 10: Vytvořte aplet v IFTTT
Tento projekt se pokusil připojit k Gmailu, aplikaci Google Calender a aplikaci IFTTT. Následují kroky k vytvoření apletu na platformě a vytvoření spouště z Adafruit.
1. Přejděte na Můj applet https://ifttt.com/my_applets a klikněte na Nový aplet
2. Budete přesměrováni na if +this then that a klikněte na +this nebo klikněte na build na platformě.
Krok 11: Vytvořte spoušť z Adafruit
Nyní můžete začít konfigurovat svůj vlastní aplet.
1. Nejprve Pokud je spuštěno, vyhledejte Typ služby Adafruit a poté vyberte Sledovat kanál na Adafruit IO
2. Nastavte další parametry Název štítku zdroje, Vztah štítku zdroje a Hodnota štítku zdroje. Nastavit jako přizpůsobitelné uživatelem, aby se usnadnilo, pokud budou později vyžadovány nějaké změny, nemusíte je měnit prostřednictvím platformy.
3. Pro tento projekt je krmivem, které je nutné sledovat, zásuvka 1, zásuvka 2 a taška na prádlo. U zásuvky 1 a zásuvky 2 má vztah větší než 5, což znamená, že zásuvka je téměř prázdná, zatímco pytel na prádlo má vztah menší než 5, což naznačuje, že je téměř plná.
Krok 12: Vytvořte akci pro Gmail, Kalendář Google a oznámení pro aplikaci IFTTT
Nakonec byly nakonfigurovány akce pro IFTTT, pro tento projekt jsme vytvořili Applet, který odesílá e -maily do Gmailu a událost do Kalendáře Google, kdykoli je zásuvka 1 nebo zásuvka 2 prázdná nebo je plný pytel na prádlo. Následuje krok pro vytvoření akce:
1. Služby pro vyhledávání akcí Gmail, Kalendář Google a oznámení
2. Poté si můžete z rozbalovací nabídky vybrat buď e -mail, nebo událost rychlého přidání, nebo odeslat oznámení z aplikace IFTTT
3. Pak jsou aplety připraveny, libovolný další text lze přidat podle vašeho projektu pro e -mail, událost nebo oznámení z aplikace IFTTT
Krok 13: Testování
Nyní testujeme náš systém praní. Jak bylo vysvětleno, e -mail nebo událost v kalendáři a oznámení obdrží uživatel vždy, když je některá ze zásuvek téměř prázdná nebo je pytel na prádlo téměř plný.
Zjistili jsme však problém se zpožděním při přijímání e -mailu nebo Kalendáře Google a IFTTT odesílají pouze jeden e -mail nebo událost, přestože jsou spuštěny jak Zásuvky 1 a 2, tak Prádelní pytel. V aplikaci IFTTT navíc nedochází k významnému zpoždění při podávání oznámení. Jak je znázorněno na obrázku, všechna tři oznámení byla přijata přibližně ve stejnou dobu. Proto doporučujeme použít aplikaci IFTTT, která bude použita pro tento typ systému ke zmírnění zpoždění.
Krok 14: Použití služby Zapier
Protože jsme se potýkali s problémem v IFTTT, kde máme značné zpoždění a dostáváme pouze jedno oznámení (buď Gmail nebo kalendář Google), kde jsou ve skutečnosti spuštěny všechny zásuvky a pytel na prádlo. Problém byl konzultován s Adafruitem a ten navrhl použít Zapier. Abyste mohli používat Zapier, musíte být pozváni, protože spojení s Adafruit IO je stále ve fázi testování (právě teď je méně než 10 aktivních uživatelů). Nasazením můžeme obdržet e -mail i kalendář Google do 5 minut (každých 5 minut Zapier zkontroluje, zda se v monitorovaném kanálu objevila nová hodnota, pokud ano, spustí se aplet). Kromě toho existuje historie úkolů, kde můžeme sledovat spoušť od Adafruit po Gmail a kalendář Google.
V zásadě je to stejný princip s IFTTT, kde je třeba nastavit spoušť z Adafruit, poté v tomto případě nastavit krmivo z vaší palubní desky, ať už zásuvka 1, zásuvka 2 nebo pytel na prádlo. Vztah je nastaven v nastavení filtru a podmínkách, kde nastavíme hodnotu větší než 6 pro zásuvku a méně než 5 pro prádlo zpět. Nakonec nastavte akci, zda chcete odeslat e -mail přes Gmail nebo událost rychlého přidání.
Krok 15: Spuštění systému z úrovně IFTTT
Systém lze také spustit z IFTTT, což dodává uživateli úroveň automatizace. Abychom toho dosáhli, vytváříme pro každý senzor dva další applety- jeden, který snímač zapíná, a druhý, který jej vypíná.
Zapnutí appletu
Spoušť (pokud)
- V okně služby Hledat zadejte: Data a čas.
- Vyberte možnost: Každý den v.
- Nastavte hodnotu pro potřebnou hodinu (v tomto případě 21:00).
Akce (pak)
- Do okna Hledat služby zadejte Adafruit IO.
- Popisek pole- název kanálu ZAP/VYP.
- Hodnota: Zapnuto
Vyplňte pole názvu apletu názvem apletu a přidejte krátký popis apletu. Klikněte na Uložit a zapněte aplet.
Vypnutí apletu
Klonujte svůj aplet a změňte:
- Sekce spouště: Hodnota času o 15 minut později (tj. 21:15).
- Sekce akce: Hodnota: VYPNUTO.
Klikněte na Uložit a zapněte aplet.
Stejným způsobem vytvořte aplety pro zbytek senzorů. Pamatujte- chcete-li dostávat upozornění od každého senzoru, nejen od čtení z palubní desky, neměly by být spuštěny dva senzory současně (to znamená, že se spouští zásuvka 1- 9: 00-9: 15 PM, zásuvka 2-9: 15-9: 30PM, Prádelna- 9:30- 21:45).
Krok 16: Budoucí rozsah: Industrializace produktu
Zde postavené zařízení IoT lze snadno vyrábět hromadně a prodávat společnostem prodávajícím chytré domácnosti. Je to užitečný nástroj pro lidi s zaneprázdněnými plány nebo ve velkých domech se spoustou lidí a místností. V tomto případě může řídicí panel obsahovat data ze všech místností všech lidí a usnadnit jim tak život. Jelikož je toto zařízení zcela bezdrátové, a proto jej lze snadno rozšířit na libovolný počet potřebných zásuvek.
Krok 17: Možné potíže, se kterými se můžete setkat
1. můžete vidět, jak váš ultrazvuk udává náhodné hodnoty. Je to proto, že váš výkon nemusí být 5V. Nejbezpečnější je použít 9V baterie a používat potenciometry.
2. Ujistěte se, že zem je stejná pro senzor i ESP, jinak celý váš systém nebude fungovat.
Krok 18: Ke konci…
Tento systém praní je nová myšlenka. Na trhu zatím žádný takový produkt není. Pokud ji tedy chcete mít doma, musíte si ji postavit sami. Doufáme, že pokynům porozumíte. Byla to jen podstata IoT a elektroniky.
Tento systém se opravdu snadno používá. Má však pokyny k použití. Oblečení v koších by mělo být složené, jinak senzor pouze cítí špatnou vzdálenost. Nedoporučuje se používat to na zimní oblečení v malých zásuvkách, protože bundy jsou objemné a odstranění jedné nebo dvou bund by znamenalo, že je zásuvka prázdná. Což nemusí být moc užitečné.
Během naší práce jsme použili následující zdroje, které mohou být užitečné při hlubším porozumění projektu:
learn.adafruit.com/mqtt-adafruit-io-and-yo…
www.instructables.com/id/Distance-Measurem…