Kazalo:

Senzor gibanja ESP-01 z globokim spanjem: 5 korakov
Senzor gibanja ESP-01 z globokim spanjem: 5 korakov

Video: Senzor gibanja ESP-01 z globokim spanjem: 5 korakov

Video: Senzor gibanja ESP-01 z globokim spanjem: 5 korakov
Video: ИССЛЕДОВАНИЯ PSI: ПАРАПСИХОЛОГИЯ В ИСПАНИИ | МАНУЭЛЬ КАРБАЛЛАЛ 2024, November
Anonim
Image
Image

Delal sem na izdelavi domačih senzorjev gibanja, ki ob sprožitvi pošiljajo e -poštno sporočilo. Obstaja veliko primerov navodil in drugih primerov tega. Pred kratkim sem to moral storiti z baterijskim senzorjem gibanja PIR in ESP-01. ESP-01 je zelo funkcionalen in ima vse potrebne zmogljivosti, zakaj ne bi uporabili minimalnega in najcenejšega? Mešanici je bil dodan še en ločen in oddaljen modul ESP-01, ki je sprožil zvočni signal, ko je bil sprožen senzor gibanja.

Koda in morebitna postavitev vezja so bili zbrani iz številnih virov po spletu in mislim, da jih ne morem posebej identificirati. Ideja o pošiljanju e -poštnih sporočil prek gmaila je prišla iz navodil in drugih virov, končna koda pa je amalgam teh virov. Globok spanec za delo me je pripeljal na številne poti, ki so se pogosto izkazale za brezplodne. Smešno je, da ko se pot izkaže za plodno, nehaš iskati več poti. Zato se zahvaljujem vsem, ki so prispevali k mojemu uspehu in so še neznani.

Isti problem sem imel, ko je senzor PIR deloval pri sprožitvi globokega spanca ESP-01. Veliko poti, dokler ni obstajala ena, ki je delovala.

Ni treba posebej poudarjati, da je bilo nekaj zanimivih ovir ali morda bolj relevantnih, boljše razumevanje elektronike, ki sem jo potreboval. Učiš se, dokler nekaj ne deluje, potem pa se ti ni treba več učiti.

ESP-01 spi globoko kot kateri koli drug modul ESP8266, če ne potrebujete časovno spanja. Če želite, da se modul prebudi po nastavljenem času, ESP-01 ni modul za uporabo. Ampak to ni tisto, kar sem hotel. Pretekli čas je pri uporabi PIR nesmiseln. Želel sem, da se ESP-01 prebudi le, ko ga sproži gibanje, ki ga zazna PIR. Če ure ali dni ne zaznate gibanja, ESP-01 spi z minimalno močjo baterije.

Videli boste veliko vezij, ki uporabljajo GPIO16, povezanih z ESP8266 Reset, ker je GPIO16 signal za bujenje. To je res, vendar je signal za prebujanje iz časovnega spanca. Tega PIN-a lahko prezremo, kar je dobro, ker ni na voljo na ESP-01.

V bistvu vse, kar potrebujemo, je, da dobimo signal iz PIR-a, da sprožimo pin za ponastavitev ESP-01. Prva težava, ki jo boste domnevali, je, da se ponastavitev sproži na NIZKEM signalu in PIR pošlje HIGH signal, ko se sproži. Ponastavitev mora biti tudi VISOKA ali plavajoča ob zagonu. Da bi bilo tako kratko, sem se po preizkušanju različnih tokokrogov odločil za uporabo NPN tranzistorja z vlečnim uporom, ki je med zagonom ohranil RESET pin visoko. Izhod iz PIR je minimalen, vendar zagotavlja dovolj osnovnega toka, da vklopite tranzistor.

Kot boste videli na spodnjem diagramu vezja, se je ESP-01 prebudil iz globokega spanca vsakič, ko je PIR zaznal gibanje.

Vendar je bil še en problem. Ponastavitev ESP-01 se je zgodila šele potem, ko je PIR prenehal zaznavati gibanje in se vrnil k nizkemu signalu, ki je izklopil tranzistor in vrnil pin za ponastavitev na HIGH zaradi upornega upora. To bi pomenilo, da e -poštno sporočilo ne bo poslano, zvočni signal pa se ne bo aktiviral, dokler PIR ne preneha zaznavati gibanja. Želel sem, da se sprožilec zgodi takoj, ko zaznamo gibanje.

Iz tega vedenja sem ugotovil, da se ESP-01 dejansko sproži na naraščajočem robu signala. Držanje za ponastavitev nožice na tleh dejansko ne sproži ESP-01 iz globokega spanca, ampak v trenutku, ko napetost naraste na signal HIGH, se zgodi ponastavitev.

Moj zelo preprost odgovor na to vedenje je bil dodati kondenzator v linijo med izhodom PIR in bazo tranzistorja. Zaradi tega se je tranzistor vklopil le med polnjenjem kondenzatorja. Ko je bil napolnjen, ni bilo več toka in tranzistor se je izklopil. 5k upor omogoča, da tok teče v maso. To sem preizkusil z LED-diodo namesto ESP-01 in videl, kako LED utripa za delček sekunde, preden se izklopi. Ta majhen utrip je bil dovolj, da za trenutek in dovolj dolgo potegne zatič za ponastavitev na zemljo, da sproži ponastavitev iz globokega spanca.

1. korak: Modul globokega spanja ESP-01

Modul globokega spanja ESP-01
Modul globokega spanja ESP-01
Modul globokega spanja ESP-01
Modul globokega spanja ESP-01

Modul globokega spanja uporablja dve delovni napetosti. Naključni 5v+ akumulatorja za PIR in tudi 3,3 voltna regulatorna plošča za ESP-01. V vezje vključim tudi diodo, da preprečim poškodovane dele pri povratni napetosti. To sicer porabi malo dodatne energije in zmanjša napetost akumulatorja za 0,7 volta. Diodo lahko izpustite iz tokokroga, če ste prepričani, da nikoli ne boste obrnili kablov akumulatorja. Iz udobja je dodano tudi stikalo.

Ta modul je manjša posodobitev moje prvotne postavitve ne-globokega spanja. V konfiguraciji brez globokega spanja je PIR neposredno povezan z RX pin ESP-01. Kot vhodni pin za PIR iz nekaj razlogov uporabljam pin RX ESP-01. GPIO0 ni deloval, ker bi bil ob zagonu izhodna koda PIR NIZKA, zaradi česar bi ESP-01 prešel v način bliskavice. Nisem uporabljal GPIO2, ker potem nisem mogel uporabiti vgrajene LED za vizualno povratno povezavo. Zatiči RX in TX so pogosto opisani kot dodatni IO zatiči, vendar imam izkušnje, da je RX dodaten vhod INPUT, TX pa dodatni izhod.

V konfiguraciji globokega spanja povezava RX ni nujno potrebna. Uporabljam ga samo za spremljanje, kako dolgo se sproži PIR z vklopom LED, medtem ko je vhod VISOK. Kot smo že omenili, če počistite funkcijo zanke in uporabite samo nastavitveno rutino, povezava RX ni potrebna.

Tu je seznam delov za modul globokega spanja ESP-01:

1 - 5 x 7 cm PCB prototipna plošča

1 - 2 -polni konektor

2 - 1 x 3 ženske glave

1 - AMS1117 - 3.3 vezje regulatorja napetosti

1 - 1 x 3 pravokotni moški zatič glave

1 - 1 x 3 ženski zatič vtičnice

1 - 1 x 4 ženski zatič vtičnice

1 - 2 x 4 ženska glava

1-1uf kondenzator

1 - HC -SR501 PIR senzor gibanja

1 - 2N2222 Tranzistor

1 - 10 k upor

1 - 4,7 k upor

1 - 1 k upor

1 - 1N4148 dioda

1 - stikalo SS12D00G4 SPDT

1 - ESP -01

Baterija 1 - 4AA

Upoštevajte, da v video posnetku vezje uporablja adapter za ploščo ESP-01 namesto glave 2 x 4. Čeprav je ta adapter lažje spajkati, glava 2 x 4 deluje dobro in se dejansko bolje prilega.

2. korak: Koda globokega spanja ESP-01

Koda globokega spanja opravlja dve funkciji. Pošljite e-poštno sporočilo (privzeto prek gmaila) in pošljite spletno zahtevo http povezanemu modulu brenčalnika ESP-01, da sproži brenčalo.

Ta modul ob sprožitvi ponuja dve možnosti obveščanja in je lahko še posebej uporaben, če niste pozorni na e -poštna sporočila.

Če želite, da skica deluje, morate posodobiti šest vrstic kode s svojimi posebnimi vrednostmi:

const char* ssid = "xxxxx"; // Vaš WiFi SSIDconst char* geslo = "xxxxx"; // Vaš niz geslov za WiFi WiFi Senders_Login = "xxxxx"; // prijava vašega ponudnika e -pošte String Senders_Password = "xxxxx"; // geslo ponudnika e -pošte

To = "xxxxxx"; From = "xxxxxx"; // Gmail na splošno raje, da je isti kot Senders_Login in ga lahko nadomesti

Ugotovil sem, da modul globokega spanja deluje nepredvidljivo, ko je bil senzor PIR nastavljen na manj kot 10 sekund za dolžino sprožilnega dogodka. Mojega imam nastavljenega na 20 sekund. To se je izkazalo za zelo zanesljivega, vendar pa tudi pomeni, da se lahko s to frekvenco zgodijo sprožilni dogodki.

K funkciji zanke sem dodal tudi kodo, da ESP-01 sveti, dokler PIR še zazna gibanje. Vse kode v funkciji zanke je mogoče odstraniti in klic v globok spanec premakniti na konec nastavitvene funkcije.

Funkcijo utripanja uporabljam za vizualni indikator aktivnosti z modulom ESP-01.

Čeprav sem uporabljal in preizkušal povezljivost z gmailom, delujejo tudi drugi ponudniki e -pošte. Poskusil sem par. Pravzaprav se mi je zdel Gmail bolj moteč. Gmail zahteva, da imate račun konfiguriran za dostop manj varnih aplikacij. Ta nastavitev računa je privzeto IZKLJUČENA, zato jo preverite in spremenite v manj varno. Gmail drugače NE bo deloval.

Če se odločite za več kot en modul z zvočnikom, samo dodajte dodatne klice odjemalca http (ponovite tri vrstice kode, vendar spremenite uporabljeni naslov ip in spremenite tudi spremenljivko httpCode kot int enkrat!

Upoštevajte, da je IP naslov brenčalnika v tem modulu težko kodiran. Ni vam treba uporabiti izbranega naslova ip, vendar morate naslov ip spletnega klica v tem modulu ujemati z naslovom ip nastavitve spletnega strežnika v naslednjem modulu.

3. korak: modul zvočnikov ESP-01

Zvočni modul ESP-01
Zvočni modul ESP-01
Zvočni modul ESP-01
Zvočni modul ESP-01
Zvočni modul ESP-01
Zvočni modul ESP-01

Zvočni modul ima precej preprosto nastavitev. Namesto akumulatorja uporablja priključek USB, ker se mi zdi, da ta modul ni primeren za baterijo. Vedno mora ostati vklopljen in nework/wifi povezan, ker nikoli ne ve, kdaj bo poslana spletna zahteva. To zahteva več neprekinjenega napajanja, kot so uporabni akumulatorji.

Zvočniške module lahko priročno namestite na več lokacij, kar zagotavlja obvestilo o dogodku sprožilca senzorja gibanja, ne glede na to, kje ste!

Zvočni signal je priključen na 5v priključka USB, na voljo pa je še ena regulatorna plošča 3.3V, ki napaja ESP-01.

Zvočni modul bo deloval z izhodi TX, GPIO0 ali GPIO2. V svoji konfiguraciji uporabljam GPIO0. (Na sliki modula je žica povezana z GPIO2, vendar sem jo od takrat premaknil.) Čeprav GPIO0 ni deloval za modul globokega spanja (kot INPUT), s to postavitvijo deluje kot OUTPUT. Pri zagonu ni vlečen na tla, kar bo povzročilo težave. Uporabljal sem GPIO2, nato pa vgrajene LED za povratne informacije nisem mogel uporabiti, vendar z uporabo GPIO0 za IZHOD lahko uporabim vgrajeno LED.

Poskušal sem uporabiti NPN tranzistor za napajanje brenčalnika v tokokrogu, ko je ESP-01 dal visoko signal na pin GPIO0, vendar so bili rezultati zelo neskladni. Zdi se, da je zvočni signal hotel zvoniti ves čas, tudi z zelo malo moči. Zato sem namesto tega uporabil N -kanalni MOSFET (2n7000) in rezultat je bil čudovit. IO pin poganja vrata, kot je potrebno.

Medtem ko potrebujemo le dva zatiča iz priključka USB Vcc (+) in Gnd (-), za priključitev na tiskano vezje za dodatno stabilnost in spajkanje uporabim 5-polno glavo, preden priključim USB na regulator. Moja regulatorna plošča 3.3V je bila opremljena z že nameščenimi zatiči in po mojem mnenju na glavo. Torej, če želite regulator vstaviti v zatiče glave, lahko vidite, da je vezje skrito, vendar je še huje, da sta vcc in gnd na regulatorju obrnjena od vcc in gnd na priključku USB. Tako se žice križajo.

Upoštevajte tudi, da + moč za aktivni zvočni signal prihaja iz 5v USB. Prav tako 4 -polna ženska vtičnica dobro deluje z namestitvijo zatiča brenčalnika.

Seznam delov modula sirene ESP-01:

1 - 5 x 7 PCB plošča

1 - mini mini konektor USB z zatiči (7 pinov)

2 - 1 x 3 ženske glave

1 - plošča regulatorja napetosti AMS1117-3,3 v

1 - 2 x 4 ženska glava

2 - 1 x 4 ženske vtičnice

1 - 2N7000 N -kanalni MOSFET

1 - 10 ohmski upor

1 - 5v aktivni zvočni signal

4. korak: Koda modula zvonilnika ESP-01

Zvočni modul deluje kot preprost spletni strežnik ESP-01. Na preprosto zahtevo se odzove s preprostim sporočilom in ko prejme zahtevo za buzz, sproži brenčalo. GPIO0 se uporablja za pin GPIO za zvočni signal.

Upoštevajte, da je ESP-01 konfiguriran s trdo kodiranim naslovom IP. To je potrebno, da se modul globokega spanja poveže z naslovom brenčalca.

Tako kot prejšnji modul boste morali dve vrstici kode posodobiti s svojimi posebnimi vrednostmi:

// SSID in geslo vašega usmerjevalnika WiFi const char* ssid = "xxxxxxx";

const char* geslo = "xxxxxxxx";

Če imate ustvarjenih več brenčalnih modulov, mora biti vsak naložen s svojim edinstvenim naslovom ip.

Dodate lahko tudi različne načine brenčanja, ki proizvajajo različne melodije zvonjenja. Na primer, če imate senzor PIR na vhodnih vratih in enega na zadnjih vratih, lahko vsak poda spletno zahtevo vsakemu od modulov brenčalnika, vendar ima lahko en senzor skico, ki kliče buzz, druga skica pa lahko kliče buzz2 tako da lahko po zvoku ugotovite, kateri senzor se je sprožil. In tako naprej in tako naprej! Funkcija buzz2 ne obstaja, samo kopirajte funkcijo buzz in spremenite vrednosti zakasnitve.

Za spletni strežnik bi morali dodati tako vrstico kode:

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

5. korak: Zadnje misli

To je moj prvi pouk, zato sem morda spregledal nekaj praktičnih stvari, ki bi jih moral vključiti. Regulatorna plošča AMS1117-3.3, ki sem jo uporabil, vključuje majhen LED, ki zasveti, ko je vklopljen. Za modul globokega spanja nisem želel, da bi se to sprožilo in po nepotrebnem črpalo moč. Zato sem na eni strani vodila na deski razpakiral vse, kar sem lahko, nato pa s pomožnim nožem prerezal črto za sledenje. To je bilo lažje, kot sem mislil, in preprečuje, da bi LED zasvetila. Ko je ESP-01 v globokem spanju, nisem mogel ugotoviti, kakšna je poraba energije, vendar bom morda odgovoril v nekaj tednih. Moj kolega je uporabljal senzor (ni v globokem spanju) in ugotovil, da so se baterije izpraznile (5AA) v približno enem tednu. Mislim, da bi ta nastavitev morala dati mesec ali celo več. Bomo videli.

Modul globokega spanja je stal po delih približno 8 USD CDN (baterije niso vključene!), Modul z zvočnikom pa 5 USD.

Priporočena: