Obsah:
- Zásoby
- Krok 1: Definujte svůj scénář
- Krok 2: (Intro) Set Trigger - Multiple Users
- Krok 3: (Intro) Set Trigger - Limited Users
- Krok 4: (Nastavení) - IFTTT
- Krok 5: (Nastavení) IOT zařízení *volitelné *
- Krok 6: (Nastavení) IFTTT Webhook Api *Zkušení uživatelé *
- Krok 7: (Nastavení) IFTTT Webhook Api *Pro začátečníky s fotografiemi *
- Krok 8: (Kód) Programování ESP32
- Krok 9: (Kód) Nahrajte kód do ESP32
- Krok 10: (Kód) Nahrajte kód do ESP32 *volitelně *
- Krok 11: Umístěte ESP a kalibrujte
- Krok 12: Gratulujeme! Jsi hotov
Video: Senzor přítomnosti: 12 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Nositelná zařízení jsou obvykle zařízení s podporou BLE. Je běžné, že periodicky inzerují některá data podél své MAC adresy. ESP používáme ke skenování těchto dat a spuštění události přes internet, když najde konkrétní MAC adresu. Tato konkrétní implementace je pro jednoho uživatele na chytré zástrčce připojené k lampě. Lze jej však také použít se sadou registrovaných zařízení s jakýmkoli druhem zařízení podporujících IOT.
Zásoby
- ESP32
- (volitelně) TECKIN WiFi nástěnná zástrčka S10
- Zařízení BLE s povolením jakéhokoli druhu
Krok 1: Definujte svůj scénář
Jako spoušť můžete použít většinu moderních nositelných zařízení. Může to být Apple Watch, mi fit kapela, telefon nebo dokonce vaše vlastní DIY nositelné na základě ESP32.
Pravděpodobně jeden z nejdůležitějších kroků. Musíte myslet dopředu ve 3 věcech:
1. Které nositelné zařízení nebo zařízení bude spouštěčem senzoru přiblížení.
2. Co spustí senzor (to se provádí prostřednictvím IFTTT).
3. Když se senzor spustí
V tomto případě použiji hodinky Apple Watch k zapnutí inteligentní zástrčky k rozsvícení lampy, když sedím u stolu.
V tomto tutoriálu se podíváme na inteligentní zásuvku od TECKIN. Na Amazonu ho najdete za dobrou cenu. Je také kompatibilní s Alexa a Google Home. Skvělá hodnota!
Krok 2: (Intro) Set Trigger - Multiple Users
Pokud chcete nakonfigurovat tak, aby fungoval s jakoukoli osobou se zařízením podporujícím BLE dostatečně blízko vašeho senzoru, přeskočte další krok. To je docela užitečné, je nastavení, které osobně používám. Mějte na paměti, že tento senzor lze snadno hacknout nebo zneužít ke spuštění, takže bych moc nevěřil z pinty bezpečnostního stánku; jen pro praktické (tj. nechci, aby to spustil můj počítač, protože to bude vždy vedle senzoru).
Krok 3: (Intro) Set Trigger - Limited Users
Tento krok se ve vašem nastavení velmi liší. Chcete -li omezit, která zařízení mohou spustit senzor, musíte omezit mnoho cest:
- BLE MAC adresa (ekvivalentní IP adrese na wifi síti. Důvod nezaručuje bezpečnost, protože není skutečnou MAC adresou modulu. Na zařízeních iOS se mění při každém restartu bluetooth, není to tak zábavné)
- Kód výrobce (lepší volba, ale žádný způsob, jak omezit konkrétní zařízení od stejného výrobce/modelu)
- Jméno, služba UIDD (vzácná, ale nejlepší volba, většinou nositelná zařízení pro vlastní potřebu nebo možná aplikace pro Android)
Několik poznámek:
1. Pokud se jedná o zařízení iOS:
- Máte několik důležitých pro a proti. Pro, přenášejí úroveň výkonu, na které jsou reklamní data. To je užitečné ve fázi kalibrace, zjistíte, že používání Apple Watch je užitečné, protože vysílá na 24 dB, iPhony a většina zařízení vysílá na 12 dB.
CON, budete muset najít řešení. Inzerovaná MAC adresa (hlavní způsob identifikace) se mění při každém restartu signálu bluetooth, což znamená, že budete muset kód nahrát pokaždé … není to zábava. Můžete použít údaje výrobce, které se mohou u jednotlivých modelů lišit. To znamená, že můžete omezit tak, aby snímalo „všechny iPhone 8“.
2. Pokud se jedná o zařízení Android:
- Osobně nemám zařízení Android. Existuje ale pravděpodobně mnoho aplikací, které mohou opravit MAC adresu nebo dokonce přidat přizpůsobené jméno (pokud je to cesta, kterou chcete jít). Na zařízeních iOS existuje aplikace „nrf connect“, která to dokáže. Ale není trvalé, to znamená, že pokud zamknete obrazovku nebo přepnete aplikace.. konfigurace se vypne za několik sekund.
3. Další ESP32. (vaše nejlepší sázka)
- Jednoduchý kód, jako je tento, lze implementovat do zařízení, jako je toto; chytré pásmo napájené esp32. Kód je ve skutečnosti příkladem z knihovny ESP BLE BLE_IBeacon.ino. Moc jsem to netestoval, protože můj chytrý pás je na cestě, pravděpodobně brzy zveřejním aktualizace.
Krok 4: (Nastavení) - IFTTT
Dobře, takže v této fázi byste pravděpodobně měli vzít v úvahu všechny popisy svého pracovního postupu. Máte spouštěcí zařízení, máte kam umístit ESP s bezdrátovým připojením k internetu a máte na mysli akci, kterou IFTTT může automatizovat.
IFTTT je silný; ať už jde jen o odeslání jednoduchého oznámení do vašeho zařízení, chcete odeslat tweet nebo zapnout žárovku pomocí chytré zástrčky. V tomto tutoriálu implementujeme poslední s inteligentními zásuvkami TECKIN kompatibilními s IFTTT. V každém případě si stáhněte aplikaci IFTTT nebo přejděte na web IFTTT.com a vytvořte si účet.
To je prozatím vše!
Pokud chcete odeslat oznámení nebo něco jiného než konektor Smart Life, můžete další krok přeskočit.
Krok 5: (Nastavení) IOT zařízení *volitelné *
Stáhněte si aplikaci „Smart Life“z PlayStore (Android) nebo AppStore (iOS). Pokyny jsou docela přímočaré, i když je tento proces trochu složitý. Zjistil jsem, že ve fázi skenování (když modré tlačítko bliká) se v určitém okamžiku zastavilo, pak jsem jej ručně ručně několikrát zapnul a vypnul. To mi pomohlo. Jakkoliv; nastavení této zástrčky se v naší aplikaci nijak neliší, takže pokud ji již vlastníte a máte ji připojenou k vaší aplikaci, měli byste být připraveni jít.
UPOZORNĚNÍ: Než budete v tomto kroku pokračovat, musíte mít možnost zapnout a vypnout vypínač v aplikaci. To bude znamenat, že jste správně nakonfigurovali inteligentní zásuvku.
Aplikace IFTTT by se měla bezproblémově synchronizovat s aplikací „Smart Life“, což by pravděpodobně vyžadovalo ověření při vytváření události v dalším kroku.
Krok 6: (Nastavení) IFTTT Webhook Api *Zkušení uživatelé *
Pokud jste aplikaci IFTTT ještě nepoužívali a některé technické termíny vám nevyhovují, v dalším kroku tento krok pro Podrobný průvodce (s fotografiemi) přeskočte.
1. Vytvořte novou událost.
2. Nastavte „this“na webhook api. Zapište si název, který jste pro událost nastavili.
3. Nastavte „to“na požadované chování. Pro inteligentní zásuvku hledejte inteligentní život a vyberte „zapnout“.
4. Vyberte svůj chytrý konektor a stiskněte Dokončit.
5. Na domovské obrazovce vyhledejte kartu „webhooks“. Poté, co jej stisknete, dole stiskněte „získat více“.
6. Tisková dokumentace. To vám ukáže váš klíč API spolu s nástrojem pro tvorbu a testování adres URL.
7. Použijte de URL builder se jménem, které jste napsali u #2. Zkopírujte to a napište.
8. Opakujte, pokud chcete, aby se chování spustilo, když senzor přítomnosti již není aktivní. V našem případě opakujte č. 3, ale vyberte „vypnout“. Také u #2 by měl být název tentokrát odlišný.
Pokud jste hotovi, přeskočte další krok.
Krok 7: (Nastavení) IFTTT Webhook Api *Pro začátečníky s fotografiemi *
Podrobný průvodce *Průvodce fotografiemi by měl být podobný v systému Android a na webu *
IFTTT je jednoduchý pracovní postup, pokud „se to stane“, pak „to se stane“. Musíte vytvořit nový, 1. v aplikaci stiskněte „získat více“a zobrazí se seznam.
2. Přímo pod vyhledávacím panelem a se zobrazí zpráva „vytvořte si vlastní aplety od začátku“, stiskněte znaménko plus.
3. Stiskněte znaménko plus „toto“
V našem případě „toto“bude api volání přes internet. Volání API je odkaz na adresu URL, podobně jako když zadáte vyhledávání na Google a adresa URL je google.com/(dlouhý řetězec znaků). Chcete -li vytvořit rozhraní API: (po stisknutí „tohoto“)
4. Hledat „webhooky“
5. Vyberte jedinou možnost
6. Pojmenujte svou událost (v tomto příkladu použijeme „Sit“). Zapište si toto jméno, velmi důležité.
7. Stiskněte Vytvořit spoušť
OK! jsme blíže, Nyní k „té“části. V tomto tutoriálu nastavíme „to“pro zapnutí inteligentní zásuvky. Z IFTTT si ale můžete vybrat cokoli. Dobrým způsobem testování nastavení je vybrat „oznámení“, která odešlou oznámení na váš telefon pokaždé, když se spustí senzor (nebo se vyvolá rozhraní API, dokonce i z webového prohlížeče: užitečné pro testování!)
8. Stiskněte znaménko plus „to“
9. Vyhledejte „Smart Life“(nebo „oznámení“)
10. Stiskněte „zapnout“(tyto kroky budete muset zopakovat, abyste vytvořili další událost, pro kterou se při odchodu vypne)
11. Pokud máte obě aplikace a zásuvku správně nakonfigurovanou, měli byste vidět svou zástrčku v rozevíracím seznamu „které zařízení/skupina“.
12. Vyberte Vytvořit akci a poté dokončete.
Nyní byste měli vidět, že je událost propojena. Nyní musíme získat adresu URL API. Pro tohle:
13. Přejděte na domovskou obrazovku IFTTT
14. Najděte kartu Webhooks
15. Vyberte „Získat více“
16. Klepněte na tlačítko Dokumentace. Měli byste vidět webovou stránku s klíčem.
17. Na zástupné symboly „{event}“vyplňte název své události (pamatujte na bod 6)
18. Přejděte do spodní části stránky a klepněte na „Vyzkoušet“
Pravděpodobně byste měli vidět zelený banner „událost byla spuštěna“a měli byste zjistit, zda to fungovalo nebo ne. V našem případě by se zástrčka měla zapnout. Nebo byste měli vidět oznámení, pokud jste se rozhodli jít touto cestou. Může to chvíli trvat, ale ne déle než minutu, abyste zjistili, zda jste to zvládli. Pamatujte, že pravděpodobně rozlišují velká a malá písmena.
19. Konečně. Zkopírujte adresu URL, kde jste nahradili název události (v 17), a uložte ji na bezpečné místo. Budete to brzy potřebovat.
20. Opakujte 1-12. V 6 budeme tentokrát používat „Stand“. V 10 místo toho vyberte „vypnout“.
21. Opakujte 13-18, pokud chcete, ale můžete se dostat pryč s URL, kterou jste zkopírovali na 19, ale nyní změňte místo, kde jste napsali „Sit“, a nahraďte „Stand“. Můžete to vyzkoušet ve webovém prohlížeči. Mělo by znít „Gratulujeme! Spustili jste akci Stand '. Pak se měla zástrčka vypnout.
Krok 8: (Kód) Programování ESP32
Tento krok můžete přeskočit, pokud se vám líbí nahrávání skic z Arduino IDE na vaši desku ESP32. Nezapomeňte pro aplikaci nastavit alespoň 2 MB oddíl, protože skica váží o něco více než 1,2 MB obvyklého limitu.
Existuje mnoho skvělých tutoriálů, zde jsou některé z nich, které doporučuji:
circuitdigest.com/microcontroller-projects…
Ale přesto, abyste nebyli tak ztracení, rozeberu několik důležitých klíčových bodů.
- ESP32 není deska Arduino, ale přesto ji lze naprogramovat pomocí Arduino IDE. S jednoduchým kódem Arduino. Stále však budete muset nakonfigurovat IDE, aby fungoval s ESP32.
- Některé knihovny budete muset nainstalovat pomocí předvoleb „Správce dalších desek“. Toto je adresa URL, kterou byste měli vložit:
-(volitelně, může pomoci) Na Nástroje-> Spravovat knihovny… -> (najít knihovnu ESP BLE)
- v Nástroje byste nyní měli mít dlouhý seznam zařízení ESP, doporučuji modul ESP32 dev
- (DŮLEŽITÉ) Ve správci oddílů vyberte (žádná aplikace Ota 2mb/2mb spif). Tento krok je důležitý, protože aplikace se stává poměrně těžkou jako produkt používání připojení wifi/http i skeneru BLE.
Pokud jste udělali vše správně, měli byste být schopni naprogramovat ESP32. Nyní je postup u některých desek podobný arduinu. Připojte jej, vyberte odpovídající desku, port USB a máte hotovo. Ale v mnoha dalších případech budete muset pokračovat
Krok 9: (Kód) Nahrajte kód do ESP32
Dobře, pokud jste tady, znamená to, že jste úspěšně nahráli skicu na desku ESP32, nejlépe skicu blink.ino.
Zde je připojen hlavní kód, který najdete také v repo GitHubu. Musíte vyměnit následující:
SSID - vaše wifi jméno
PSK - Vaše heslo k wifi
sit - URL s „Sit“z rozhraní IFTTT api, které jste napsali dříve
stand - URL s „Stand“z API IFTTT, které jste napsali dříve
Nyní dejte spouštěcí zařízení do blízkosti desky a poté nahrajte kód. Po úspěšném načtení kódu otevřete Serial Monitor (baud 115200).
Pokud to plánujete použít s jakýmkoli typem zařízení s podporou BLE, přeskočte další krok.
POZNÁMKA: Pokud se zobrazí chybové zprávy paměti, protože výchozí nastavení ponechává pouze 1 MB paměti (z přítomných 4 MB) pro nezpracovaný kód ESP. Ponechává část pro pár věcí jako možnost programování vzduchem. Obvykle dělám následující:
- v Nástroje byste nyní měli mít dlouhý seznam zařízení ESP, doporučuji modul pro vývoj ESP32- ve správci oddílů vyberte 'no Ota 2mb app/2mb spifs'.
To mi dává dvojnásobný paměťový prostor, potřebný pro tuto aplikaci.
Krok 10: (Kód) Nahrajte kód do ESP32 *volitelně *
Zde je složitá část zmíněná v kroku „Nastavit spoušť“. Monitor zobrazí MAC adresu (měla by vypadat jako ##: ##: ##: ##: ## kde#je buď číslo nebo písmeno od a do f), kód výrobce a RSSI (záporné číslo)). Tady si musíte trochu pohrát, abyste zjistili, jaké je vaše zařízení. Obvykle to dávám vedle desky, abych jasně viděl, které je nejmenší číslo. Zruším zaškrtnutí políčka 'autocroll', abych mohl zkopírovat hodnoty.
- Pokud se jedná o adresu Mac, vyplňte do ní „myDevice“. Potom odkomentujte řádek #96 a komentář #95
- Pokud je to jméno, vyplňte jím „myDevice“. Potom odkomentujte řádek #97 a komentář #95
- Pokud se jedná o data MaufactureData, máte zatím smůlu, tuto část stále vyvíjím.
Chcete -li přidat podporu pro zařízení May, měli byste být schopni zkopírovat kondicionální prohlášení buď na #96 nebo #97 a umístit je vedle sebe v této syntaxi:
if ((podmínka1) || (podmínka2) || (podmínka3)) {
Podle toho přidejte více proměnných (myDevice1, myDevice2, myDevice3).
Krok 11: Umístěte ESP a kalibrujte
Toto je nejdůležitější část nastavení. Pečlivé procházení tímto procesem bude znamenat rozdíl v tom, že bude fungovat jako magie nebo vás bude jen silně bolet hlava.
V tomto okamžiku vámi nahraný kód pracuje s parametry, které jsem osobně otestoval a používám denně s telefonem na stole; to neznamená, že to bude fungovat i pro vás. Kalibraci tedy musíte provést sami.
1. Umístěte desku ESP32 na její konečné FIXNÍ umístění. Pokud z nějakého důvodu přesunete polohu svého ESP32, měli byste to pravděpodobně udělat znovu. To vám zajistí celkový dobrý zážitek.
1. (extra) mějte na paměti, že se k tomu budete muset připojit k počítači. Pokud nemůžete, protože jste na stolním počítači, budete muset provést pokus a omyl a mít na paměti, že každá zkouška musí být téměř identická v určování polohy, spouštěcím zařízení a dalších faktorech, které mohou přijít v úvahu.
2. Otevřete Serial Monitor se spuštěným kódem.
Kód ve výchozím nastavení odesílá prostřednictvím sériového monitoru RSSI (indikace síly přijatého signálu) každého nalezeného zařízení bluetooth (nebo pouze zařízení odpovídajících vašim parametrům). Hrajte si trochu se svým hlavním akčním zařízením (spouštěcím zařízením). Musíte určit, jaké jsou prahové hodnoty, které chcete použít. Pečlivá úprava této konfigurace bude
3. Když určíte prahové hodnoty, nahraďte je zde:
- near_thrsh
- far_thrsh
4. Znovu nahrajte kód, vyzkoušejte a opakujte, dokud nenajdete optimální výkon.
Několik věcí, které je třeba zvážit:
1. Chcete asi 20 dB rozdílu mezi prahovými hodnotami. Pokud je near_thrsh nastaveno na 50, pak je žádoucí, aby far_thrsh bylo 70 nebo více. Pokud je rozdíl příliš malý, můžete najít určité vzdálenosti nebo místa, kde se deska spouští a vypíná nepřetržitě. Zvýšení tohoto rozdílu zajistí, že se tomuto nežádoucímu chování vyhnete. Osobně jsem zjistil, že 20db marže je dost dobré.
2. Při kalibračních testech reálných životních scénářů, pokud je to možné, to pomůže určit nejlepší výkon.
3. Prostudujte třídu na řádku 82 kódu; zde se provádí veškerá logika. Kód je však dobře komentovaný. Neváhejte se zeptat na GitHub!
Krok 12: Gratulujeme! Jsi hotov
Dejte mi vědět dolů do komentářů k jakýmkoli návrhům nebo pokud máte problémy. Pokud byl váš problém již vyřešen, nezapomeňte zkontrolovat GitHub!
Doporučuje:
Detektor přítomnosti postele Zigbee: 8 kroků
Detektor přítomnosti postele Zigbee: Nějakou dobu jsem hledal způsob, jak zjistit, kdy jsme v posteli. To za použití těchto informací do Homeassistant. S touto informací bych mohl udělat automatizaci pro zhasnutí světla v noci nebo například aktivovat poplašný systém v mém
Robot virtuální přítomnosti: 15 kroků
Robot virtuální přítomnosti: Tento mobilní robot interaguje se svým fyzickým okolím tím, že představuje „virtuální přítomnost“; toho, kdo to ovládá na dálku. Může k němu mít přístup kdokoli, kdekoli na světě, aby vám mohl rozdávat pamlsky a hrát si s vámi. Práce, kterou
DIY dechový senzor s Arduino (vodivý pletený strečový senzor): 7 kroků (s obrázky)
DIY dechový senzor s Arduino (vodivý pletený strečový senzor): Tento DIY senzor bude mít formu vodivého pleteného strečového senzoru. Omotá se kolem vašeho hrudníku/žaludku, a když se váš hrudník/žaludek roztahuje a smršťuje, rozšíří se senzor a následně i vstupní data, která jsou přiváděna do Arduina. Tak
Senzor přítomnosti postele se SONOFF: 8 kroků (s obrázky)
Senzor přítomnosti postele se SONOFF: Vítejte v tomto tutoriálu! Pokud jste nikdy netrefili syna s tasmotou, měli byste se to nejprve naučit dělat a pak to budete moci postavit pouze vy. Pokud neznáte syna
Dotykový senzor a zvukový senzor ovládající světla AC/DC: 5 kroků
Dotykový senzor a zvukový senzor ovládající světla AC/DC: Toto je můj první projekt, který funguje na základě dvou základních senzorů, jeden je dotykový senzor a druhý je zvukový senzor, když stisknete dotykovou podložku na dotykovém senzoru, přepne se světlo AC ZAPNUTO, pokud jej uvolníte, Světlo bude VYPNUTO a totéž