Sadržaj:

Senzor pokreta ESP-01 s dubokim mirovanjem: 5 koraka
Senzor pokreta ESP-01 s dubokim mirovanjem: 5 koraka

Video: Senzor pokreta ESP-01 s dubokim mirovanjem: 5 koraka

Video: Senzor pokreta ESP-01 s dubokim mirovanjem: 5 koraka
Video: Aqara S1 ZNCJMB14LM - интерактивная сенсорная панель и выключатель на три линии для умного дома 2024, Studeni
Anonim
Image
Image

Radio sam na izradi domaćih senzora pokreta koji šalju poruku e -pošte kada se aktiviraju. Postoji mnogo primjera instrukcija i drugih primjera kako to učiniti. Nedavno sam to trebao učiniti s PIR senzorom pokreta na baterije i ESP-01. ESP-01 je vrlo funkcionalan i ima sve potrebne sposobnosti pa zašto ne biste upotrijebili minimalne i najmanje skupe potrebne? Mješavini je dodan još jedan odvojeni i udaljeni ESP-01 modul koji je aktivirao zvučni signal kada se aktivirao senzor pokreta.

Kôd i mogući izgled kola prikupljeni su iz brojnih izvora na webu i mislim da ih ne mogu točno identificirati. Ideja o slanju e -pošte putem gmaila došla je iz poučnih i drugih izvora, a konačni kôd je amalgam iz tih izvora. Duboki san na posao doveo me do mnogih staza koje su se često pokazale besplodnim. Smiješno je to što jednom kad se put pokaže plodnim, prestajete tražiti više putova. Zato se zahvaljujem svima onima koji su pridonijeli mom uspjehu, a još su nepoznati.

Imao sam isti problem s aktiviranjem PIR senzora pri aktiviranju dubokog sna ESP-01. Mnogo je putova dok nije postojao jedan koji je radio.

Nepotrebno je reći da su postojale neke zanimljive prepreke ili možda relevantnije, bolje razumijevanje elektronike koja mi je bila potrebna. Učite sve dok nešto ne uspije i tada ne morate više učiti.

ESP-01 spava duboko, kao i bilo koji drugi ESP8266 modul, sve dok vam nije potreban vremenski uspavan san. Ako želite da se modul probudi nakon zadane količine proteklog vremena, ESP-01 nije modul za korištenje. Ali to nije ono što sam želio. Proteklo vrijeme je besmisleno pri korištenju PIR -a. Htio sam da se ESP-01 probudi samo kad ga pokrene pokret koji je osjetio PIR. Ako se satima ili danima ne osjeti pokret, ESP-01 ostaje u stanju mirovanja koristeći minimalnu snagu baterije.

Vidjet ćete mnoge sklopove koji koriste GPIO16 spojene na ESP8266 Reset jer je GPIO16 signal za buđenje. To je istina, ali to je signal za buđenje iz vremenskog sna. Ovaj PIN možemo zanemariti, što je dobro jer nije dostupan na ESP-01.

U osnovi, sve što nam treba je da dobijemo signal od PIR-a da aktivira pin za resetiranje ESP-01. Prva poteškoća koju ćete pretpostaviti je da se Reset pokreće na NISKOM signalu, a PIR šalje VISOKI signal kada se aktivira. Resetiranje također mora biti visoko ili plutati pri pokretanju. Kako bih bio kratak, nakon što sam isprobao neke različite sklopove, odlučio sam se koristiti NPN tranzistor s pull-up otpornikom kako bi pin za resetiranje bio visok tijekom podizanja. Izlaz iz PIR -a je minimalan, ali daje dovoljnu baznu struju za uključivanje tranzistora.

Kao što ćete vidjeti na donjem dijagramu kola, ESP-01 se budio iz dubokog sna svaki put kad je PIR osjetio kretanje.

No, postojao je još jedan problem. Resetiranje ESP-01 dogodilo se tek nakon što je PIR prestao osjetiti kretanje i vratio se na niski signal isključujući tranzistor i vrativši pin za resetiranje na HIGH zbog otpornika za izvlačenje. To bi značilo da e -poruka neće biti poslana, niti će se zvučni signal aktivirati sve dok PIR ne prestane osjetiti kretanje. Htio sam da se okidač dogodi čim se osjeti kretanje.

Ono što sam utvrdio iz ovog ponašanja je da se ESP-01 zapravo aktivira na rastućem rubu signala. Držanje pin za resetiranje na masi zapravo ne pokreće ESP-01 iz dubokog sna, ali u trenutku kada napon poraste na signal HIGH, tada se događa resetiranje.

Moj vrlo jednostavan odgovor na ovo ponašanje bio je dodavanje kondenzatora u liniju između PIR izlaza i baze tranzistora. Zbog toga se tranzistor uključio samo tijekom punjenja kondenzatora. Nakon punjenja više nije bilo struje i tranzistor se isključio. Otpornik od 5 k dopušta struji da istječe na masu. Testirao sam to sa LED diodom umjesto ESP-01 i mogao sam vidjeti kako LED dioda svijetli na djelić sekunde prije nego što se isključi. Ovaj mali puls bio je dovoljan da povuče pin za resetiranje na tlo na trenutak i dovoljno dugo da pokrene reset iz dubokog sna.

Korak 1: Modul dubokog sna ESP-01

ESP-01 Modul dubokog sna
ESP-01 Modul dubokog sna
ESP-01 Modul dubokog sna
ESP-01 Modul dubokog sna

Modul dubokog sna koristi dva radna napona. Nasumičnih 5v+ iz baterije za PIR, a također i regulator od 3,3 V za ESP-01. Također sam uključio diodu u krug kako bih spriječio oštećene dijelove od obrnutih napona. Ovo troši malo dodatne energije i smanjuje napon baterije za 0,7 volti. Dioda se može izostaviti iz kruga ako ste sigurni da nikada nećete preokrenuti vodiče baterije. Prekidač je također dodan iz praktičnosti.

Ovaj modul je manje ažuriranje mog izvornog rasporeda bez dubokog sna. U konfiguraciji bez dubokog sna, PIR je izravno spojen na RX pin ESP-01. Koristim RX pin ESP-01 kao ulazni pin za PIR iz nekoliko razloga. GPIO0 nije radio jer bi pri pokretanju izlazni PIN PIR-a bio NISKI zbog čega bi ESP-01 ušao u način rada bljeskalice. Nisam koristio GPIO2 jer tada nisam mogao koristiti ugrađenu LED diodu za vizualnu povratnu vezu. RX i TX pinovi se često opisuju kao dodatni IO pinovi, ali moje iskustvo je da je RX dodatni INPUT pin, a TX dodatni OUTPUT pin.

U konfiguraciji dubokog sna, RX veza nije strogo potrebna. Koristim ga samo za praćenje koliko dugo se PIR aktivira uključivanjem LED diode dok je ulaz VISOK. Kao što je već spomenuto, ako očistite funkciju petlje i koristite samo rutinu postavljanja, RX veza nije potrebna.

Evo popisa dijelova za modul dubokog sna ESP-01:

1 - 5 x 7 cm PCB Prototipna ploča

1 - 2 pinski konektor

2 - 1 x 3 ženska zaglavlja

1 - AMS1117 - 3.3 pločica regulatora napona

1 - 1 x 3 Muški klin zaglavlja pod pravim kutom

1 - 1 x 3 ženski klin za zaglavlje utičnice

1 - 1 x 4 ženski zaglavlje utičnice

1 - 2 x 4 žensko zaglavlje

1-1uf kondenzator

1 - HC -SR501 PIR senzor pokreta

1 - 2N2222 Tranzistor

Otpornik 1 - 10 k

Otpornik 1 - 4,7 k

Otpornik 1 - 1k

1 - 1N4148 dioda

1 - prekidač SS12D00G4 SPDT

1 - ESP -01

Baterija 1 - 4AA

Imajte na umu da u videu pločica koristi adapter za matičnu ploču ESP-01 umjesto zaglavlja 2 x 4. Iako je ovaj adapter lakše lemiti, zaglavlje 2 x 4 radi dobro i zapravo bolje pristaje.

Korak 2: ESP-01 Kôd za duboki san

Kôd za duboko spavanje obavlja dvije funkcije. Pošaljite poruku e-pošte (putem gmaila prema zadanim postavkama) i pošaljite http web zahtjev pridruženom modulu zujalice ESP-01 za pokretanje zujalice.

Kada se pokrene, ovaj modul nudi dvije mogućnosti obavijesti i može biti osobito koristan kada ne obraćate pozornost na poruke e -pošte.

Morat ćete ažurirati šest redaka koda sa svojim specifičnim vrijednostima kako bi skica funkcionirala:

const char* ssid = "xxxxx"; // Vaš WiFi SSIDconst char* lozinka = "xxxxx"; // Vaš niz zaporki za WiFi WiFi_Login = "xxxxx"; // prijava vašeg davatelja usluga e -pošte String Senders_Password = "xxxxx"; // lozinku vašeg davatelja usluga e -pošte

To = "xxxxxx"; From = "xxxxxx"; // Gmail općenito preferira da bude isti kao Senders_Login i može ga zamijeniti

Otkrio sam da modul dubokog sna radi nepredvidljivo kada je PIR senzor postavljen na ispod 10 sekundi za duljinu okidača. Moj je postavljen na 20 sekundi. Ovo se pokazalo vrlo pouzdanim, ali također znači da bi se s tom učestalošću mogli dogoditi i okidači.

Dodao sam i kôd funkciji petlje kako bi ESP-01 bio uključen sve dok PIR još uvijek osjeća gibanje. Sav kôd u funkciji petlje može se ukloniti, a poziv u duboki san premjestiti na kraj funkcije postavljanja.

Koristim funkciju treptanja za vizualni pokazatelj aktivnosti s modulom ESP-01.

Iako sam koristio i testirao povezivost s gmailom, rade i drugi davatelji usluga e -pošte. Probao sam par. Zapravo, smatrao sam gmail problematičnijim. Gmail zahtijeva da vaš račun bude konfiguriran za pristup manje sigurnim aplikacijama. Ova je postavka računa prema zadanim postavkama ISKLJUČENA pa je svakako pronađite i promijenite je u manje sigurnu. Gmail inače neće raditi.

Ako odlučite imati više od jednog modula zujalice, samo dodajte dodatne pozive http klijenta (ponovite tri retka koda, ali promijenite korištenu IP adresu i definirajte samo varijablu httpCode kao int jednom!

Imajte na umu da je ip adresa zujalice teško kodirana u ovom modulu. Ne morate koristiti IP adresu koju sam odabrao, ali morate uskladiti IP adresu web poziva u ovom modulu s IP adresom postavki web poslužitelja u sljedećem modulu.

Korak 3: ESP-01 modul zujalice

Modul zujalice ESP-01
Modul zujalice ESP-01
Modul zujalice ESP-01
Modul zujalice ESP-01
Modul zujalice ESP-01
Modul zujalice ESP-01

Modul zujalice ima prilično jednostavno postavljanje. Koristi USB priključak umjesto baterije jer mislim da ovaj modul nije prikladan za bateriju. Mora ostati uključen i nework/wifi spojen cijelo vrijeme jer nikad ne zna kada će biti postavljen web zahtjev. To zahtijeva više kontinuiranog napajanja nego što su korisne baterije.

Zvučni moduli mogu se prikladno postaviti na više lokacija pružajući obavijest o događaju okidača senzora pokreta bez obzira gdje se nalazili!

Zvučni signal je spojen na 5v USB priključka, a postoji i druga regulatorna ploča od 3.3v koja napaja ESP-01.

Modul zujalice funkcionirat će koristeći TX, GPIO0 ili GPIO2 za izlaz. U mojoj konfiguraciji koristim GPIO0. (Na slici modula žica je spojena na GPIO2, ali od tada sam je premjestio.) Iako GPIO0 nije radio za modul dubokog sna (kao INPUT), radi dobro s ovim rasporedom kao OUTPUT. Nije pokrenut pri pokretanju što će uzrokovati probleme. Koristio sam GPIO2, ali tada nisam mogao koristiti ugrađenu LED za povratne informacije, ali koristeći GPIO0 za IZLAZ mogu koristiti ugrađenu LED diodu.

Pokušao sam koristiti NPN tranzistor za napajanje zujalice u krugu kada je ESP-01 stavio VISOKI signal na pin GPIO0, ali rezultati su bili užasno nedosljedni. Činilo se da zujalica želi zvučati u svakom trenutku, čak i pri vrlo malo snage. Stoga sam umjesto toga koristio N -kanalni MOSFET (2n7000) i rezultat je bio sjajan. IO pin pokreće vrata prema potrebi.

Iako nam trebaju samo dva pina iz USB konektora Vcc (+) i Gnd (-), koristim 5-polno zaglavlje za spajanje na ploču za dodatnu stabilnost i za lemljenje prije spajanja USB-a na regulator. Moja ploča s regulatorom od 3,3 V došla je s predinstaliranim iglama i po mom mišljenju, naopako. Dakle, da biste regulator stavili u zaglavlje zaglavlja, možete vidjeti da je pločica skrivena, ali još gore od toga, vcc i gnd na regulatoru su obrnuti od vcc i gnd na USB priključku. Tako se žice križaju.

Također imajte na umu da + napajanje aktivnog zujalice dolazi s 5v USB -a. Također, 4 -polno žensko zaglavlje utičnice dobro funkcionira s postavljanjem pinova na zujalicu.

Popis dijelova modula zujalice ESP-01:

1 - 5 x 7 PCB ploča

1 - USB mini konektor sa pin zaglavljima (7 pinova)

2 - 1 x 3 ženska zaglavlja

1 - ploča regulatora napona AMS1117-3.3 v

1 - 2 x 4 žensko zaglavlje

2 - 1 x 4 ženska priključka za glavu

1 - 2N7000 N -kanalni MOSFET

Otpornik od 1 - 10 ohma

1 - 5v aktivni zujalica

Korak 4: Kôd modula zujalice ESP-01

Zvučni modul djeluje kao jednostavan ESP-01 web poslužitelj. Odgovara jednostavnom porukom na root zahtjev, a kad dobije zahtjev za buzz, aktivirat će zujalicu. GPIO0 se koristi za GPIO pin za signal zujalice.

Imajte na umu da je ESP-01 konfiguriran s teško kodiranom IP adresom. To je potrebno kako bi se modul dubokog sna povezao s adresom zujalice.

Kao i prethodni modul, morat ćete ažurirati dva retka koda sa svojim specifičnim vrijednostima:

// SSID i lozinka vašeg WiFi usmjerivača const char* ssid = "xxxxxxx";

const char* lozinka = "xxxxxxxx";

Ako imate više kreiranih zujalica, svaki bi trebao biti učitan vlastitom jedinstvenom IP adresom.

Također možete dodati različite metode zujanja koje proizvode različite melodije zujala. Na primjer, ako imate PIR senzor na ulaznim i jedan na stražnjim vratima, svaki može poslati web zahtjev svakom od vaših modula zujalice, ali jedan senzor može imati skicu koja poziva zujanje, a druga skica može pozvati buzz2 tako da po zvuku možete zaključiti koji je senzor aktiviran. I tako dalje i tako dalje! Funkcija buzz2 ne postoji, već samo kopirajte funkciju zujanja i promijenite vrijednosti kašnjenja.

Za web poslužitelj samo trebate dodati redak koda ovako:

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

Korak 5: Završne misli

Ovo je moje prvo uputstvo pa sam možda propustio neke praktične stvari koje sam trebao uključiti. Regulatorna ploča AMS1117-3.3 koju sam koristio uključuje sićušnu LED lampicu koja svijetli kada je uključena. Za modul dubokog sna nisam želio da se ovo uključi i nepotrebno troši energiju. Tako sam raspakirao što sam mogao s jedne strane LED -a na ploči, a zatim sam nožem za pomoć izrezao liniju tragova. Ovo je bilo lakše nego što sam mislio i sprječava da LED zasvijetli. Nisam uspio odrediti kolika je potrošnja energije kada ESP-01 spava u dubokom snu, ali možda bih imao odgovor za nekoliko tjedana. Moj kolega je radio senzor (nije u dubokom snu) i otkrio da su se baterije ispraznile (5AA) za otprilike tjedan dana. Mislim da bi ovo postavljanje trebalo dati mjesec dana ili čak više. Vidjet ćemo.

Modul dubokog sna koštao je oko 8 USD CDN -a u dijelovima (baterije nisu uključene!), A modul zujalice 5 USD.

Preporučeni: