Sisukord:

ESP-01 liikumisandur sügava unega: 5 sammu
ESP-01 liikumisandur sügava unega: 5 sammu

Video: ESP-01 liikumisandur sügava unega: 5 sammu

Video: ESP-01 liikumisandur sügava unega: 5 sammu
Video: Сценарий "Темная комната" в умном доме 2024, November
Anonim
Image
Image

Olen tegelenud omatehtud liikumisandurite valmistamisega, mis saadavad käivitamisel meilisõnumi. Selle kohta on palju näiteid ja muid näiteid. Hiljuti oli mul vaja seda teha patareitoitega PIR-liikumisanduri ja ESP-01 abil. ESP-01 on väga funktsionaalne ja sellel on kõik vajalikud võimalused. Miks mitte kasutada minimaalset ja odavaimat vajalikku? Segule lisati veel üks eraldi ja kaugjuhtimisega ESP-01 moodul, mis käivitas liikumisanduri käivitamisel summeri.

Kood ja võimalik skeemi paigutus on kogutud paljudest allikatest kogu veebis ja ma ei usu, et suudan neid konkreetselt tuvastada. Idee saata e -kirju gmaili kaudu tuli juhendatavatest ja muudest allikatest ning lõplik kood on nende allikate sulam. Sügava une tööle saamine viis mind paljudele teedele, mis osutusid sageli viljatuks. Naljakas on see, et kui tee osutub viljakaks, lõpetate teede otsimise. Nii et ma tänan kõiki neid, kes on minu edule kaasa aidanud ja pole veel teada.

Mul oli sama probleem, et saada PIR-andur tööle ESP-01 sügava une käivitamisel. Palju teid, kuni oli üks, mis töötas.

Ütlematagi selge, et mul oli mõningaid huvitavaid takistusi või võib -olla asjakohasemat, paremat arusaamist elektroonikast, mida ma vajasin. Jätkate õppimist, kuni miski töötab, ja siis ei pea te enam õppima.

ESP-01 teeb sügavat und ja kõik muud ESP8266 moodulid, kui te ei vaja ajastatud und. Kui soovite, et moodul ärkaks pärast määratud aja möödumist, pole ESP-01 seda moodulit kasutada. Aga seda ma ei tahtnud. Möödunud aeg on PIR -i kasutamisel mõttetu. Tahtsin, et ESP-01 ärkaks alles siis, kui selle käivitaks PIR-i poolt tajutav liikumine. Kui tunde või päevi liikumist ei tajuta, jääb ESP-01 magama, kasutades minimaalset akut.

Näete paljusid vooluahelaid, mis kasutavad GPIO16, mis on ühendatud ESP8266 lähtestamisega, kuna GPIO16 on äratussignaal. See on tõsi, kuid see on ajastatud une äratussignaal. Võime seda PIN-koodi ignoreerida, mis on hea, kuna see pole ESP-01-l saadaval.

Põhimõtteliselt on meil vaja ainult saada signaal PIR-ist, et käivitada ESP-01 lähtestamise tihvt. Esimene raskus, mida te arvate, on see, et lähtestamine käivitatakse LOW signaalil ja PIR saadab käivitamisel HIGH signaali. Lähtestamine peab olema ka HIGH või buutimisel hõljuv. Et seda lühidalt hoida, otsustasin pärast mõningate erinevate vooluahelate proovimist kasutada tõmbetakistusega NPN-transistorit, et hoida alglaadimise ajal RESET-nööp HIGH. PIR -i väljund on minimaalne, kuid see tagab piisava baasvoolu, lülitades transistori sisse.

Nagu näete alloleval lülitusskeemil, äratati ESP-01 sügavast unest iga kord, kui PIR tajus liikumist.

Kuid oli veel üks probleem. ESP-01 lähtestamine toimus alles pärast seda, kui PIR lõpetas liikumise tajumise ja naasis madalale signaalile, lülitades transistori välja ja viies nullimisnõela tõmbetakisti tõttu tagasi KÕRGE. See tähendaks, et meilisõnumeid ei saadeta ega summeri aktiveerita enne, kui PÄRAST PIR lõpetas liikumise tajumise. Tahtsin, et päästik toimuks niipea, kui liikumine oli tajutav.

Selle käitumise põhjal otsustasin, et ESP-01 käivitub tegelikult signaali tõusvas servas. Lähtestusnõela maapinnale hoidmine ei käivita ESP-01 sügavast unest, vaid hetkel, mil pinge tõuseb HIGH signaalini, toimub lähtestamine.

Minu väga lihtne vastus sellele käitumisele oli kondensaatori lisamine PIR -väljundi ja transistori aluse vahelisele joonele. See põhjustas transistori sisselülitamise ainult kondensaatori laadimise ajal. Pärast laadimist ei olnud enam voolu ja transistor lülitus välja. 5k takisti võimaldab voolul maanduda. Testisin seda ESP-01 asemel LED-iga ja nägin, et LED-välklamp lülitub murdosa sekundiks sisse enne väljalülitamist. Sellest väikesest impulssist piisas, et tõmmata nullimisnupp hetkeks maapinnale ja piisavalt kaua, et käivitada Reset sügavast unest.

Samm: ESP-01 sügava une moodul

ESP-01 sügava une moodul
ESP-01 sügava une moodul
ESP-01 sügava une moodul
ESP-01 sügava une moodul

Sügava une moodul kasutab kahte tööpinget. PIR-i aku juhuslik 5v+ ja ESP-01 jaoks ka 3,3-voldine regulaatorplaat. Lisan ahelasse ka dioodi, et vältida kahjustatud osade tagasipinget. See kasutab natuke lisavoolu ja vähendab aku pinget 0,7 volti võrra. Dioodi võib vooluringist välja jätta, kui olete kindel, et te ei pööra akujuhtmeid kunagi ümber. Mugavuse huvides on lisatud ka lüliti.

See moodul on minu algse mitte-sügava une paigutuse väike uuendus. Mitte sügava une konfiguratsioonis on PIR otse ühendatud ESP-01 RX-tihvtiga. Ma kasutan ESP-01 RX-tihvti PIR-i sisendpoldina mõnel põhjusel. GPIO0 ei töötanud, kuna käivitamisel oleks PIR-väljundi PIN-kood LOW, mistõttu ESP-01 siseneb välgurežiimi. Ma ei kasutanud GPIO2, sest siis ei saanud ma sisseehitatud LED-i visuaalseks tagasisideks kasutada. RX- ja TX -tihvtid on sageli kirjeldatud kui täiendavad IO -tihvtid, kuid minu kogemus on, et RX on täiendav INPUT -tihvt ja TX on täiendav OUTPUT -tihvt.

Sügava une konfiguratsioonis pole RX -ühendus tingimata vajalik. Ma kasutan seda ainult selleks, et jälgida, kui kaua PIR käivitub, lülitades LED -i sisse, kui sisend on HIGH. Nagu eespool mainitud, kui tühjendate silmusefunktsiooni ja kasutate ainult seadistamisrutiini, pole RX -ühendus vajalik.

Siin on ESP-01 sügava une mooduli osade loend:

1 - 5 x 7 cm PCB prototüüpplaat

1-2 kontaktiga pistik

2 - 1 x 3 naissoost päist

1 - AMS1117 - 3.3 pingeregulaatori trükkplaat

1 - 1 x 3 täisnurkne isane päise tihvt

1 - 1 x 3 naissoost pistikupesa

1 - 1 x 4 naissoost pistikupesa

1 - 2 x 4 emane päis

1 - 1uf kondensaator

1 - HC -SR501 PIR -liikumisandur

1 - 2N2222 Transistor

1-10k takisti

1 - 4.7k takisti

1-1k takisti

1 - 1N4148 diood

1 - lüliti SS12D00G4 SPDT

1 - ESP -01

1 - 4AA patareipakk

Pange tähele, et videos kasutab trükkplaat 2 x 4 päise asemel ESP-01 leivaplaadi adapterit. Kuigi selle adapteri jootmine on lihtsam, töötab päis 2 x 4 hästi ja sobib paremini.

Samm: ESP-01 sügava une kood

Deep Sleep kood täidab kahte funktsiooni. Saatke e-kiri (vaikimisi gmaili kaudu) ja saatke helisignaali käivitamiseks http-veebipäring seotud ESP-01 summerimoodulile.

Käivitamisel pakub see moodul kahte teavitusvalikut ja võib olla eriti kasulik, kui te ei pööra tähelepanu meilisõnumitele.

Eskiisi toimimiseks peate värskendama kuut koodirida oma konkreetsete väärtustega:

const char* ssid = "xxxxx"; // Teie WiFi SSIDkonst char* password = "xxxxx"; // Teie WiFi paroolistring Saatjad_Login = "xxxxx"; // teie meiliteenuse pakkuja sisselogimine String Senders_Password = "xxxxx"; // teie e -posti teenusepakkuja parool

To = "xxxxxx"; Alates = "xxxxxx"; // Gmail eelistab üldiselt, et see oleks sama, mis Senders_Login, ja võib selle asendada

Leidsin, et sügava une moodul töötab ettearvamatult, kui PIR -andur oli päästiku sündmuse pikkuseks seatud alla 10 sekundi. Minu jaoks on seatud 20 sekundit. See on osutunud väga usaldusväärseks, kuid see tähendab ka seda, et sündmused võivad selle sagedusega juhtuda.

Olen lisanud ka silmusefunktsioonile koodi, et hoida ESP-01 LED-i sisselülitatuna seni, kuni PIR tunneb endiselt liikumist. Kogu silmusefunktsioonis oleva koodi saab eemaldada ja üleskutse sügavale unele teisaldada seadistusfunktsiooni lõppu.

Ma kasutan vilkumisfunktsiooni ESP-01 mooduli aktiivsuse visuaalseks indikaatoriks.

Kuigi olen kasutanud ja testinud gmaili ühenduvust, töötavad ka teised e -posti pakkujad. Olen proovinud paari. Tegelikult olen gmaili tülikamaks pidanud. Gmail nõuab, et teil oleks oma konto konfigureeritud juurdepääsuks vähem turvalistele rakendustele. See konto seade on vaikimisi VÄLJAS, nii et leidke see ja muutke see vähem turvaliseks. Gmail EI tööta muidu.

Kui otsustate kasutada rohkem kui ühte summerimoodulit, lisage lihtsalt http -kliendi lisakõned (korrake kolme koodirida, kuid muutke kasutatud IP -aadressi ja määratlege muutuja httpCode ainult int üks kord!

Pange tähele, et sumisti ip -aadress on selles moodulis kõvasti kodeeritud. Te ei pea kasutama minu valitud IP -aadressi, kuid peate selle mooduli veebikõne IP -aadressi sobitama järgmise mooduli veebiserveri seadistuse ip -aadressiga.

3. samm: ESP-01 summerimoodul

ESP-01 summeri moodul
ESP-01 summeri moodul
ESP-01 summeri moodul
ESP-01 summeri moodul
ESP-01 summeri moodul
ESP-01 summeri moodul

Summumoodulil on üsna lihtne seadistus. See kasutab akupaki asemel USB -pistikut, sest ma arvan, et see moodul ei sobi aku jaoks. See peab jääma sisselülitatuks ja nework/wifi kogu aeg olema ühendatud, sest see ei tea kunagi, millal veebipäring esitatakse. See nõuab rohkem pidevat energiat kui akud on kasulikud.

Summumooduleid saab mugavalt paigutada mitmesse kohta, andes märku liikumisanduri käivitamise sündmusest olenemata teie asukohast!

Signaal on ühendatud USB-pistiku 5 V-ga ja ESP-01-le annab toite veel üks 3,3 V regulaatorplaat.

Summermoodul töötab väljundina TX, GPIO0 või GPIO2 abil. Oma konfiguratsioonis kasutan GPIO0. (Mooduli pildil on juhe ühendatud GPIO2 -ga, kuid ma olen selle teisaldanud.) Kuigi GPIO0 ei töötanud sügava unerežiimi mooduli puhul (sisendina), töötab see selle paigutusega väljundina hästi. Seda ei tõmmata saapale maapinnale, mis võib põhjustada probleeme. Ma kasutasin küll GPIO2 -d, kuid siis ei saanud ma kasutada tagasiside jaoks sisseehitatud LED -i, kuid kasutades väljundit GPIO0, saan kasutada rongisisest LED -i.

Proovisin kasutada NPN transistorit vooluahela helisignaali toiteks, kui ESP-01 andis GPIO0 tihvtile HIGH signaali, kuid tulemused olid kohutavalt vastuolulised. Sumin tundus tahtvat kogu aeg kõlada, isegi väga väikese võimsusega. Nii et ma kasutasin selle asemel N -kanaliga MOSFET -i (2n7000) ja tulemus oli suurepärane. IO tihvt juhib väravat vastavalt vajadusele.

Kuigi meil on vaja ainult kahte tihvti USB-pistikust Vcc (+) ja Gnd (-), kasutan PCB-plaadiga ühendamiseks 5-kontaktilist päist, et tagada täiendav stabiilsus ja jootmine enne USB ühendamist regulaatoriga. Minu 3.3v regulaatorplaat tuli tihvtidega eelinstallitud ja minu meelest tagurpidi. Nii et regulaatori päisepistikutesse panemiseks näete, et trükkplaat on peidetud, kuid hullem on see, et vcc ja gnd regulaatoril on vastupidised USB -pistiku vcc ja gnd -st. Nii et juhtmed lähevad risti.

Pange tähele ka seda, et aktiivse summeri + toide pärineb USB 5 V -st. Samuti töötab sumpri tihvtide paigutusega kenasti 4 -kontaktiline naissoost pistikupesa.

ESP-01 summeri mooduli osade loend:

1 - 5 x 7 trükkplaat

1 - USB minipistik pin -päistega (7 kontakti)

2 - 1 x 3 naissoost päist

1 - AMS1117-3,3 v pingeregulaatori plaat

1 - 2 x 4 emane päis

2 - 1 x 4 naissoost pistikupesa

1 - 2N7000 N -kanaliga MOSFET

1-10 oomi takisti

1 - 5 V aktiivne helisignaal

4. samm: ESP-01 summeri mooduli kood

Summumoodul toimib lihtsa ESP-01 veebiserverina. See vastab juurepäringule lihtsa sõnumiga ja buzz -päringu saamisel käivitab see helisignaali. GPIO0 kasutatakse summeri signaali GPIO tihvti jaoks.

Pange tähele, et ESP-01 on konfigureeritud kõvakodeeritud IP-aadressiga. See on vajalik selleks, et sügava une moodul oleks ühendatud sumisti aadressiga.

Nagu eelmine moodul, peate värskendama kahte koodirida oma konkreetsete väärtustega:

// Teie WiFi ruuteri SSID ja parool koosnevad char* ssid = "xxxxxxx";

const char* parool = "xxxxxxxx";

Kui teil on loodud mitu summerimoodulit, tuleks igale neist laadida oma unikaalne IP -aadress.

Samuti saate lisada erinevaid suminameetodeid, mis tekitavad erinevaid sumina meloodiaid. Näiteks kui teil on PIR -andur esiuksel ja üks tagauksel, saavad nad igaühele teie suminamoodulile veebipäringu teha, kuid ühel anduril võib olla visand, mis kutsub buzz -i ja teine visand võib helistada buzz2 -le et saaksite heli järgi öelda, milline andur käivitati. Ja nii edasi ja nii edasi! Funktsiooni buzz2 pole olemas, kuid lihtsalt kopeerige buzz -funktsioon ja muutke viivituse väärtusi.

Veebiserveri jaoks peate lihtsalt lisama järgmise koodirida:

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

Samm: viimased mõtted

See on minu esimene juhendatav, nii et ma võin vahele jätta mõned praktilised asjad, mida oleksin pidanud lisama. AMS1117-3.3 regulaatori plaat, mida ma kasutasin, sisaldab pisikest LED-i, mis süttib sisselülitamisel. Sügava une mooduli puhul ei tahtnud ma seda sisse lülitada ja tarbetult energiat tühjendada. Nii et ma ei müünud laual oleva ledi ühel küljel seda, mida suutsin, ja lõikasin seejärel jäljejoone lõikamiseks kasuliku noaga. See oli lihtsam kui ma arvasin ja takistab LED -i süttimist. Kui ESP-01 on sügavas unes, ei ole ma suutnud kindlaks teha, mis on voolutarve, kuid mul võib olla vastus mõne nädala pärast. Üks mu kolleeg töötas andurit (mitte sügavas unes) ja leidis, et patareid on umbes nädalaga tühjad (5AA). Ma arvan, et see seadistus peaks andma kuu või isegi rohkem. Eks näeme.

Sügava une moodul maksis osade kaupa umbes 8 dollarit (patareid ei kuulu komplekti!) Ja summerimoodul 5 dollarit.

Soovitan: