Obsah:

Senzor pohybu ESP-01 s hlubokým spánkem: 5 kroků
Senzor pohybu ESP-01 s hlubokým spánkem: 5 kroků

Video: Senzor pohybu ESP-01 s hlubokým spánkem: 5 kroků

Video: Senzor pohybu ESP-01 s hlubokým spánkem: 5 kroků
Video: Sonoff Ihost - Центр управления умным домом без доступа к интернет с Zigbee и Matter 2024, Listopad
Anonim
Image
Image

Pracoval jsem na výrobě domácích pohybových senzorů, které při spuštění odesílají e -mailové zprávy. Existuje mnoho příkladů instrukcí a dalších příkladů, jak toho dosáhnout. Nedávno jsem to potřeboval udělat s pohybovým PIR pohybovým senzorem a ESP-01. ESP-01 je velmi funkční a má všechny požadované funkce, tak proč nevyužít minimum a co nejméně nákladů? Do mixu byl přidán další samostatný a vzdálený modul ESP-01, který při spuštění pohybového senzoru spustil bzučák.

Kód a případné rozvržení obvodu byly shromážděny z mnoha zdrojů na webu a nemyslím si, že je dokážu konkrétně identifikovat. Myšlenka na odesílání e -mailů přes gmail pochází z instruktážních a jiných zdrojů a konečný kód je amalgám z těchto zdrojů. Hluboký spánek do práce mě vedl po mnoha cestách, které se často ukázaly jako neplodné. Legrační je, že jakmile se cesta ukáže jako plodná, přestanete hledat další cesty. Proto děkuji všem, kteří přispěli k mému úspěchu a dosud nejsou známi.

Měl jsem stejný problém se zapnutím senzoru PIR při spuštění hlubokého spánku ESP-01. Mnoho cest, dokud nebyla jedna, která fungovala.

Není třeba říkat, že tam byly nějaké zajímavé překážky nebo možná relevantnější, lepší pochopení elektroniky, kterou jsem požadoval. Učíš se dál, dokud něco nefunguje, a pak se už nemusíš učit.

ESP-01 spí hluboko, stejně jako jakýkoli jiný modul ESP8266, pokud nevyžadujete časovaný spánek. Pokud chcete, aby se modul probudil po uplynutí nastaveného času, ESP-01 není modul, který byste měli použít. Ale to jsem nechtěl. Uplynulý čas je při použití PIR nesmyslný. Chtěl jsem, aby se ESP-01 probudil pouze při spuštění pohybem snímaným PIR. Pokud hodiny nebo dny není snímán žádný pohyb, zůstane ESP-01 spát s minimálním výkonem baterie.

Uvidíte mnoho obvodů, které používají GPIO16, připojené k ESP8266 Reset, protože GPIO16 je signálem probuzení. To je pravda, ale je to signál probuzení z časovaného spánku. Tento PIN můžeme ignorovat, což je dobře, protože na ESP-01 není k dispozici.

V podstatě vše, co potřebujeme, je získat signál z PIR pro spuštění resetovacího kolíku ESP-01. První obtíž, kterou budete tušit, je, že Reset je spuštěn na NÍZKÝ signál a PIR při spuštění vyšle signál VYSOKÉ. Reset musí být také VYSOKÝ nebo plovoucí při spuštění. Abych to zkrátil, po vyzkoušení několika různých obvodů jsem se usadil pomocí tranzistoru NPN s výsuvným odporem, aby byl pin RESET během bootování VYSOKÝ. Výstup z PIR je minimální, ale poskytuje dostatek základního proudu pro zapnutí tranzistoru.

Jak uvidíte na schématu zapojení níže, ESP-01 byl probuzen z hlubokého spánku pokaždé, když pohyb PIR zaznamenal.

Ale byl tu další problém. Reset ESP-01 nastal až poté, co PIR přestal snímat pohyb a vrátil se na nízký signál, čímž vypnul tranzistor a vrátil resetovací pin na HIGH kvůli vytahovacímu odporu. To by znamenalo, že e -mail nebude odeslán, ani bzučák nebude aktivován, dokud PIR nepřestane vnímat pohyb. Chtěl jsem, aby se spoušť stala, jakmile byl ucíten pohyb.

Z tohoto chování jsem určil, že ESP-01 se ve skutečnosti spouští na stoupající hraně signálu. Přidržení resetovacího kolíku na zemi ve skutečnosti nespouští ESP-01 z hlubokého spánku, ale v okamžiku, kdy napětí stoupne na signál HIGH, pak dojde k resetu.

Moje velmi jednoduchá odpověď na toto chování byla přidání kondenzátoru na linku mezi výstup PIR a tranzistorovou základnu. To způsobilo, že se tranzistor zapnul pouze během nabíjení kondenzátoru. Po nabití nebyl žádný další proud a tranzistor se vypnul. Rezistor 5k umožňuje odtok proudu k zemi. Testoval jsem to s LED diodou místo ESP-01 a před vypnutím jsem viděl zlomek LED na zlomek sekundy. Tento malý puls stačil na okamžik přitáhnout resetovací kolík na zem a dostatečně dlouhý na to, aby reset vyvolal z hlubokého spánku.

Krok 1: Modul ESP-01 Deep Sleep

Modul ESP-01 Deep Sleep
Modul ESP-01 Deep Sleep
Modul ESP-01 Deep Sleep
Modul ESP-01 Deep Sleep

Modul hlubokého spánku používá dvě pracovní napětí. Náhodných 5 V+ baterie pro PIR a také 3,3 voltovou desku regulátoru pro ESP-01. Do obvodu také zakomponuji diodu, aby se zabránilo poškození částí reverzním napětím. To spotřebuje trochu extra energie a sníží napětí baterie o 0,7 voltu. Dioda může být vynechána z obvodu, pokud jste si jisti, že nikdy nevyměníte kabely baterie. Z pohodlí je také přidán přepínač.

Tento modul je menší aktualizací mého původního rozložení bez hlubokého spánku. V konfiguraci bez hlubokého spánku je PIR přímo připojen k RX pinu ESP-01. Používám pin RX na ESP-01 jako vstupní pin pro PIR z několika důvodů. GPIO0 nefungoval, protože při spuštění by byl výstupní PIN PIR NÍZKÝ, což by způsobilo, že ESP-01 přejde do režimu blesku. GPIO2 jsem nepoužil, protože pak jsem nemohl použít vestavěnou LED pro vizuální zpětnou vazbu. Piny RX a TX jsou často popisovány jako další IO piny, ale moje zkušenost je taková, že RX je další VSTUPNÍ vývod a TX je další VÝSTUPNÍ vývod.

V konfiguraci hlubokého spánku není připojení RX nezbytně nutné. Používám to pouze ke sledování, jak dlouho je PIR spuštěn zapnutím LED, když je vstup VYSOKÝ. Jak již bylo zmíněno dříve, pokud zrušíte funkci smyčky a použijete pouze rutinu nastavení, připojení RX není nutné.

Zde je seznam dílů modulu hlubokého spánku ESP-01:

Prototypová deska plošných spojů 1 - 5 x 7 cm

1 - 2pinový konektor

2 - 1 x 3 ženské záhlaví

1 - Deska obvodu regulátoru napětí AMS1117 - 3,3

1 - 1 x 3 kolíkový konektor pravého úhlu

1 - 1 x 3 zásuvkový kolíkový konektor

1 - 1 x 4 zásuvkový kolíkový konektor

1 - 2 x 4 samičí hlavička

1 - 1uf kondenzátor

1 - PIR snímač pohybu HC -SR501

1 - 2N2222 Tranzistor

1 - 10k odpor

Odpor 1 - 4,7k

1 - 1k odpor

1 - 1N4148 dioda

1 - přepínač SS12D00G4 SPDT

1 - ESP -01

Sada baterií 1 - 4AA

Vezměte prosím na vědomí, že ve videu používá obvodová deska namísto záhlaví 2 x 4 adaptér na desce ESP-01. I když se tento adaptér snáze pájí, hlavička 2 x 4 funguje dobře a ve skutečnosti lépe sedí.

Krok 2: Kód hlubokého spánku ESP-01

Kód hlubokého spánku plní dvě funkce. Odešlete e-mailovou zprávu (ve výchozím nastavení přes gmail) a odešlete webový požadavek http do příslušného modulu bzučáku ESP-01, aby se bzučák spustil.

Když je tento modul spuštěn, poskytuje dvě možnosti oznámení a může být obzvláště užitečný, když nevěnujete pozornost e -mailovým zprávám.

Aby skica fungovala, budete muset aktualizovat šest řádků kódu svými konkrétními hodnotami:

const char* ssid = "xxxxx"; // Vaše WiFi SSIDconst char* heslo = "xxxxx"; // Váš řetězec hesla WiFi Senders_Login = "xxxxx"; // přihlášení vašeho poskytovatele e -mailu String Senders_Password = "xxxxx"; // heslo vašeho poskytovatele e -mailu

Komu = "xxxxxx"; Od = "xxxxxx"; // Gmail obecně upřednostňuje, aby to bylo stejné jako Senders_Login a může to nahradit

Zjistil jsem, že modul hlubokého spánku funguje nepředvídatelně, když byl senzor PIR nastaven na dobu kratší než 10 sekund na dobu spouštěcí události. Moje mám nastaveno na 20 sekund. To se ukázalo jako velmi spolehlivé, ale také to znamená, že s touto frekvencí může dojít ke spouštění událostí.

Také jsem přidal kód do funkce smyčky, aby svítil ESP-01 tak dlouho, dokud PIR stále snímá pohyb. Veškerý kód ve funkci smyčky lze odebrat a volání do hlubokého spánku přesunout na konec funkce nastavení.

Funkci blikání používám pro vizuální indikátor aktivity s modulem ESP-01.

I když jsem používal a testoval konektivitu s gmailem, fungují i další poskytovatelé e -mailů. Zkoušel jsem pár. Ve skutečnosti jsem gmail považoval za problematičtější. Gmail vyžaduje, abyste měli svůj účet nakonfigurovaný pro přístup méně zabezpečenými aplikacemi. Toto nastavení účtu je ve výchozím nastavení VYPNUTO, takže jej najděte a změňte na méně bezpečné. Gmail nebude fungovat jinak.

Pokud se rozhodnete mít více než jeden modul bzučáku, stačí přidat další volání klienta http (opakujte tři řádky kódu, ale změňte použitou adresu IP a také definujte proměnnou httpCode jako int pouze jednou!

Všimněte si, že IP adresa bzučáku je v tomto modulu napevno zakódována. Vybranou adresu IP nemusíte používat, ale musíte přiřadit IP adresu webového volání v tomto modulu k adrese IP nastavení webového serveru v dalším modulu.

Krok 3: Modul bzučáku ESP-01

Modul bzučáku ESP-01
Modul bzučáku ESP-01
Modul bzučáku ESP-01
Modul bzučáku ESP-01
Modul bzučáku ESP-01
Modul bzučáku ESP-01

Modul bzučáku má velmi jednoduché nastavení. Místo baterie používá konektor USB, protože si myslím, že tento modul není vhodný pro baterii. Musí vždy zůstat zapnutý a nework/wifi připojen, protože nikdy neví, kdy bude odeslán webový požadavek. To vyžaduje více nepřetržitého napájení, než pro jaké jsou užitečné sady baterií.

Moduly bzučáku lze pohodlně umístit na více míst a poskytovat upozornění na událost spuštění snímače pohybu, ať jste kdekoli!

Bzučák je připojen k 5 V konektoru USB a je zde další 3,3 V deska regulátoru, která napájí ESP-01.

Modul bzučáku bude pro výstup fungovat s použitím TX, GPIO0 nebo GPIO2. V mé konfiguraci používám GPIO0. (Na obrázku modulu je vodič připojen k GPIO2, ale od té doby jsem jej přesunul.) Zatímco GPIO0 nefungoval pro modul hlubokého spánku (jako INPUT), funguje dobře s tímto rozložením jako OUTPUT. Při zavádění není přitažen k zemi, což způsobí problémy. Použil jsem GPIO2, ale pak jsem nemohl použít integrovanou LED pro zpětnou vazbu, ale pomocí GPIO0 pro VÝSTUP mohu použít integrovanou LED.

Zkoušel jsem použít NPN tranzistor k napájení bzučáku v obvodu, když ESP-01 dal na pin GPIO0 VYSOKÝ signál, ale výsledky byly strašně nekonzistentní. Zdálo se, že bzučák chce znít pořád, i když má velmi malou sílu. Místo toho jsem tedy použil N kanál MOSFET (2n7000) a výsledek byl úžasný. Pin IO pohání bránu podle potřeby.

Zatímco potřebujeme pouze dva piny z USB konektoru Vcc (+) a Gnd (-), používám 5pinový konektor pro připojení k desce plošných spojů pro extra stabilitu a pro pájení před připojením USB k regulátoru. Moje deska regulátoru 3,3 V přišla s předinstalovanými piny a v mé mysli vzhůru nohama. Chcete -li regulátor umístit do kolíků záhlaví, můžete vidět, že obvodová deska je skrytá, ale co je horší, vcc a gnd na regulátoru jsou obráceny od vcc a gnd na konektoru USB. Dráty se tedy překříží.

Všimněte si také, že + napájení aktivního bzučáku pochází z 5 V USB. Také 4pinová zásuvka samice zásuvky funguje dobře s umístěním pinů bzučáku.

Seznam součástí modulu bzučáku ESP-01:

Deska plošných spojů 1 - 5 x 7

1 - minikonektor USB se záhlavími pinů (7 pinů)

2 - 1 x 3 ženské záhlaví

1 - Deska regulátoru napětí AMS1117-3,3 V

1 - 2 x 4 samičí hlavička

2 - 1 x 4 zásuvkové zásuvky

1 - 2N7000 N -kanálový MOSFET

Odpor 1 - 10 ohmů

1 - 5v aktivní bzučák

Krok 4: Kód modulu bzučáku ESP-01

Modul bzučáku funguje jako jednoduchý webový server ESP-01. Na požadavek uživatele root odpoví jednoduchou zprávou, a když obdrží požadavek na buzz, spustí bzučák. GPIO0 se používá pro kolík GPIO pro signál bzučáku.

Všimněte si, že ESP-01 je konfigurován s pevně zakódovanou IP adresou. To je nutné, aby byl modul hlubokého spánku spojen s adresou bzučáku.

Stejně jako předchozí modul budete muset aktualizovat dva řádky kódu pomocí konkrétních hodnot:

// SSID a heslo vašeho WiFi routeruconst char* ssid = "xxxxxxx";

const char* heslo = "xxxxxxxx";

Pokud máte vytvořeno více modulů bzučáku, každý by měl být načten s vlastní jedinečnou IP adresou.

Můžete také přidat různé metody buzz, které vytvářejí různé melodie bzučáku. Pokud máte například snímač PIR na předních dveřích a jeden na zadních dveřích, mohou každý provést webový požadavek na každý z vašich modulů bzučáku, ale jeden snímač může mít skicu, která volá buzz, a druhá skica může volat buzz2 takže ze zvuku poznáte, který senzor byl spuštěn. A tak dále a tak dále! Funkce buzz2 neexistuje, ale stačí zkopírovat funkci buzz a změnit hodnoty zpoždění.

Pro webový server stačí přidat řádek kódu takto:

server.on ("/buzz2", buzz2);

Krok 5: Závěrečné myšlenky

Toto je můj první návod, takže jsem možná zmeškal některé praktické věci, které jsem měl zahrnout. Deska regulátoru AMS1117-3.3, kterou jsem použil, obsahuje malou LED, která se rozsvítí při zapnutí. U modulu hlubokého spánku jsem nechtěl, aby to vedlo a zbytečně odčerpávalo energii. Odpojil jsem tedy to, co jsem mohl, na jedné straně diody na desce a poté jsem užitkovým nožem nařízl stopovou čáru. Bylo to jednodušší, než jsem si myslel, a zabránilo se rozsvícení LED. Nebyl jsem schopen určit, jaký je odběr energie, když je ESP-01 v hlubokém spánku, ale možná budu mít odpověď za několik týdnů. Můj kolega spustil senzor (ne v hlubokém spánku) a našel vybité baterie (5AA) asi za týden. Myslím, že toto nastavení by mělo dát měsíc nebo i víc. Uvidíme.

Modul hlubokého spánku stál asi 8 $ CDN po částech (baterie nejsou součástí!) A modul bzučáku 5 $.

Doporučuje: