Tartalomjegyzék:
- 1. lépés: ESP-01 mély alvás modul
- 2. lépés: ESP-01 Mély alvási kód
- 3. lépés: ESP-01 zümmögő modul
- 4. lépés: ESP-01 zümmögő modul kódja
- 5. lépés: Utolsó gondolatok
Videó: ESP-01 mozgásérzékelő mély alvással: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Dolgoztam azon, hogy házi készítésű mozgásérzékelőket készítsek, amelyek e -mail üzenetet küldenek, amikor aktiválják. Erre számos példa és utasítás található. A közelmúltban ezt meg kellett tennem egy akkumulátorral működő PIR mozgásérzékelővel és egy ESP-01-vel. Az ESP-01 nagyon funkcionális és rendelkezik minden szükséges képességgel, miért ne használhatná a minimális és legolcsóbban szükségest? A keverékhez hozzáadtak egy másik különálló és távoli ESP-01 modult is, amely a mozgásérzékelő bekapcsolásakor hangjelzést adott ki.
A kódot és az esetleges áramköri elrendezést számos forrásból gyűjtötték össze az interneten, és nem hiszem, hogy pontosan tudnám azonosítani őket. Az e -mailek gmail -en keresztüli küldésének ötlete egy oktatható és más forrásból származik, és a végső kód ezekből a forrásokból származó ötvözet. A mély alvás munkába állítása sok olyan úton vezetett, amelyek gyakran eredménytelennek bizonyultak. Vicces az, hogy ha egy út eredményesnek bizonyul, abbahagyja az újabb utak keresését. Ezért köszönetet mondok mindazoknak, akik hozzájárultak a sikerhez, és még ismeretlenek.
Ugyanez volt a problémám, amikor a PIR érzékelőt működésbe hozták az ESP-01 mély alvás kiváltásakor. Sok út, amíg nem volt egy, ami működött.
Mondanom sem kell, hogy voltak érdekes akadályok vagy talán relevánsabbak, az elektronika jobb megértése, amire szükségem volt. Addig tanul, amíg valami nem működik, és akkor nem kell tovább tanulnia.
Az ESP-01 ugyanúgy mély alvást végez, mint bármely más ESP8266 modul, amíg nincs szüksége időzített alvásra. Ha azt szeretné, hogy a modul egy meghatározott idő elteltével felébredjen, az ESP-01 nem az a modul, amelyet használni kell. De nem ezt akartam. Az eltelt idő értelmetlen PIR használatakor. Azt akartam, hogy az ESP-01 csak akkor ébredjen fel, ha a PIR által érzékelt mozgás váltja ki. Ha órákig vagy napokig nem érzékel mozgást, az ESP-01 minimális akkumulátor-fogyasztással alszik.
Sok áramkört fog látni, amelyek GPIO16 -ot használnak az ESP8266 Reset -hez csatlakoztatva, mert a GPIO16 az ébresztő jel. Ez igaz, de ez az ébresztés jele az időzített alvásból. Figyelmen kívül hagyhatjuk ezt a PIN-kódot, ami azért jó, mert nem áll rendelkezésre az ESP-01 készüléken.
Alapvetően csak annyit kell tennünk, hogy megkapjuk a jelet a PIR-től az ESP-01 Reset pin aktiválásához. Az első nehézség, amit feltételezni fog, az, hogy a Reset LOW jelre vált, és a PIR HIGH jelet küld, amikor elindul. Az alaphelyzetbe állításnak is HIGH vagy lebegőnek kell lennie a rendszerindításkor. Tehát, hogy ez rövid legyen, néhány különböző áramkör kipróbálása után úgy döntöttem, hogy felhúzó ellenállással rendelkező NPN tranzisztort használok, hogy a RESET pin MAGAS legyen a rendszerindítás során. A PIR kimenete minimális, de elegendő alapáramot biztosít a tranzisztor bekapcsolásához.
Amint az alábbi kapcsolási rajzon látható, az ESP-01 minden egyes alkalommal felébredt a mély alvásból, amikor a PIR mozgást érzékelt.
De volt még egy probléma. Az ESP-01 alaphelyzetbe állítása csak azután történt, hogy a PIR abbahagyta a mozgásérzékelést, és visszatért egy alacsony jelre, amely kikapcsolta a tranzisztort, és visszaállította a Reset csapot HIGH-ba a felhúzó ellenállás miatt. Ez azt jelentené, hogy az e -mailt nem küldik el, és a hangjelző sem aktiválódik, amíg a PIR nem hagyja abba a mozgásérzékelést. Azt akartam, hogy a kiváltó ok azonnal megtörténjen, amint a mozgást érzékelték.
Ebből a viselkedésből megállapítottam, hogy az ESP-01 valójában a jel emelkedő szélén vált ki. A Reset csap földhöz tartása valójában nem váltja ki az ESP-01-et a mély alvásból, hanem abban a pillanatban, amikor a feszültség a HIGH jelre emelkedik, akkor a reset történik.
Erre a viselkedésre nagyon egyszerű válaszom az volt, hogy egy kondenzátort adtam a PIR kimenet és a tranzisztor bázis közötti vonalhoz. Emiatt a tranzisztor csak a kondenzátor töltése közben kapcsol be. Feltöltés után nem volt további áram, és a tranzisztor kikapcsolt. Az 5k ellenállás lehetővé teszi az áram levezetését a földhöz. Ezt teszteltem az ESP-01 helyett egy LED-del, és láttam, hogy a LED villog egy másodperc töredéke előtt, mielőtt kikapcsol. Ez a kis impulzus elég volt ahhoz, hogy a Reset csapot pillanatnyilag a földhöz húzza, és elég hosszú ideig ahhoz, hogy kiválthassa a Resetet a mély alvásból.
1. lépés: ESP-01 mély alvás modul
A mély alvás modul két üzemi feszültséget használ. Az akkumulátor véletlenszerű 5 V+ értéke a PIR-hez és egy 3,3 voltos szabályozó kártya az ESP-01-hez. Diódát is beépítek az áramkörbe, hogy megakadályozzam a sérült alkatrészek fordított feszültségeit. Ez egy kis plusz energiát igényel, és 0,7 voltkal csökkenti az akkumulátor feszültségét. A dióda kimaradhat az áramkörből, ha biztos abban, hogy soha nem fordítja meg az akkumulátor vezetékét. A kényelem érdekében egy kapcsoló is hozzáadásra került.
Ez a modul egy kisebb frissítés az eredeti nem mély alvás elrendezésemhez. A nem mély alvás konfigurációban a PIR közvetlenül csatlakozik az ESP-01 RX csapjához. Az ESP-01 RX tűjét használom a PIR bemeneti tűjeként néhány okból. A GPIO0 nem működött, mert rendszerindításkor a PIR kimeneti PIN-kód LOW lesz, ami miatt az ESP-01 vaku módba lép. Nem használtam GPIO2-t, mert akkor nem tudtam használni a beépített LED-et vizuális visszacsatoláshoz. Az RX és TX csapokat gyakran extra IO csapokként írják le, de az a tapasztalatom, hogy az RX egy extra INPUT pin és a TX egy extra OUTPUT pin.
Mély alvás konfigurációban az RX kapcsolat nem feltétlenül szükséges. Csak arra használom, hogy figyelemmel kísérjem, mennyi ideig aktiválódik a PIR a LED bekapcsolásával, miközben a bemenet HIGH. Amint azt korábban említettük, ha törli a ciklus funkciót, és csak a beállítási rutint használja, akkor az RX kapcsolat felesleges.
Itt található az ESP-01 mély alvás modul alkatrészlistája:
1 - 5 x 7 cm PCB prototípus tábla
1-2 tűs csatlakozó
2 - 1 x 3 női fejléc
1 - AMS1117 - 3.3 feszültségszabályozó áramköri lap
1 - 1 x 3 derékszögű dugófej
1 - 1 x 3 hüvelyes aljzatcsatlakozó
1 - 1 x 4 hüvelyes aljzatcsatlakozó
1 - 2 x 4 női fejléc
1 - 1uf kondenzátor
1 - HC -SR501 PIR mozgásérzékelő
1 - 2N2222 Tranzisztor
1-10k ellenállás
1 - 4.7k ellenállás
1-1k ellenállás
1 - 1N4148 dióda
1 - kapcsoló SS12D00G4 SPDT
1 - ESP -01
1 - 4 AA elem
Kérjük, vegye figyelembe, hogy a videóban az áramköri lap 2 x 4-es fejléc helyett ESP-01 kenyértáblás adaptert használ. Bár ez az adapter könnyebben forrasztható, a 2 x 4 fejléc jól működik, és valójában jobban illeszkedik.
2. lépés: ESP-01 Mély alvási kód
A mély alvás kód két funkciót lát el. Küldjön e-mail üzenetet (alapértelmezés szerint a gmail-en keresztül), és küldjön egy http-webes kérést a hozzá tartozó ESP-01 zümmögő modulhoz a zümmögő aktiválásához.
Amikor ez a modul aktiválódik, két értesítési lehetőséget kínál, és különösen hasznos lehet, ha nem figyel az e -mail üzenetekre.
A vázlat működéséhez hat kódsort kell frissítenie a megadott értékekkel:
const char* ssid = "xxxxx"; // Az Ön WiFi SSID -je char* password = "xxxxx"; // A WiFi jelszavas karakterlánc Senders_Login = "xxxxx"; // az e -mail szolgáltató bejelentkezési karakterlánca Senders_Password = "xxxxx"; // az e -mail szolgáltató jelszava
To = "xxxxxx"; From = "xxxxxx"; // A Gmail általában azt szeretné, ha ez ugyanaz lenne, mint a Senders_Login, és helyettesítheti
Azt tapasztaltam, hogy a mély alvás modul kiszámíthatatlanul működik, amikor a PIR érzékelő 10 másodperc alá volt állítva a trigger esemény hosszára. Az enyém 20 másodpercre van állítva. Ez nagyon megbízhatónak bizonyult, de azt is jelenti, hogy ilyen gyakorisággal történhetnek események.
Kódot is hozzáadtam a hurok funkcióhoz, hogy az ESP-01 folyamatosan világítson, amíg a PIR még érzékeli a mozgást. A ciklusfunkció összes kódja eltávolítható, és a mély alvás hívása a beállítási funkció végére kerül.
A villogás funkciót az ESP-01 modul aktivitásának vizuális jelzésére használom.
Míg a gmail -vel való kapcsolatot használtam és teszteltem, más e -mail szolgáltatók is működnek. Kipróbáltam egy párat. Tulajdonképpen a gmail -t is problémásabbnak találtam. A Gmail megköveteli, hogy a fiókját konfigurálja a kevésbé biztonságos alkalmazások hozzáférésére. Ez a fiókbeállítás alapértelmezés szerint KI van kapcsolva, ezért győződjön meg róla, hogy megtalálta, és módosítsa kevésbé biztonságosra. A Gmail egyébként nem működik.
Ha több zümmögő modult választ, csak adjon hozzá további hívásokat a http -ügyfélhez (ismételje meg a három kódsorot, de változtassa meg a használt IP -címet, és csak egyszer határozza meg a httpCode változót int -ként!
Ne feledje, hogy a zümmögő IP -címe ebben a modulban keményen van kódolva. Nem kell használnia az általam választott IP -címet, de meg kell egyeznie a webes hívás IP -címével ebben a modulban a webkiszolgáló beállítása következő moduljában.
3. lépés: ESP-01 zümmögő modul
A zümmögő modul meglehetősen egyszerű beállítással rendelkezik. Akkumulátor helyett USB -csatlakozót használ, mert nem hiszem, hogy ez a modul alkalmas akkumulátorra. Folyamatosan bekapcsolva kell maradnia, és csatlakoznia kell a nework/wifi -hez, mert soha nem tudja, mikor kerül sor webes kérésre. Ez több folyamatos energiát igényel, mint az akkumulátorok hasznosak.
A zümmögő modulok kényelmesen elhelyezhetők több helyen, értesítve a mozgásérzékelő kiváltó eseményéről, függetlenül attól, hogy hol tartózkodik!
A zümmögő az USB csatlakozó 5 V-os csatlakozójához van csatlakoztatva, és van egy másik 3,3 V-os szabályozó kártya, amely áramot biztosít az ESP-01 számára.
A zümmögő modul a kimenethez TX, GPIO0 vagy GPIO2 használatával fog működni. A konfigurációmban a GPIO0 -t használom. (A modul képén a vezeték a GPIO2 -hez van csatlakoztatva, de azóta áthelyeztem.) Bár a GPIO0 nem működött a mély alvás modulnál (bemenetként), ez az elrendezés OUTPUT -ként jól működik. A rendszer nem húzza a talajra, ami problémákat okozhat. Használtam a GPIO2 -t, de akkor nem tudtam használni a fedélzeti LED -et semmilyen visszajelzéshez, de a GPIO0 használatával az OUTPUT -hoz használhatom a fedélzeti LED -et.
Megpróbáltam NPN tranzisztorral áramkörben használni a zümmögőt, amikor az ESP-01 HIGH jelet adott a GPIO0 érintkezőre, de az eredmények szörnyen ellentmondásosak voltak. Úgy tűnt, hogy a zümmögő mindenkor szólni akar, még akkor is, ha nagyon kis erővel. Így helyette egy N csatornás MOSFET -et (2n7000) használtam, és az eredmény fantasztikus volt. Az IO csap szükség szerint hajtja a kaput.
Bár csak két tűre van szükségünk a Vcc (+) és a Gnd (-) USB-csatlakozóról, én 5 tűs fejlécet használok a PCB-kártya csatlakoztatásához a nagyobb stabilitás és a forrasztás előtt, mielőtt csatlakoztatná az USB-t a szabályozóhoz. A 3,3 V -os szabályozókártyám a csapokat előre telepítve és fejemben fejjel lefelé járt. Tehát a szabályozónak a fejlécekbe való behelyezéséhez láthatja, hogy az áramköri lap rejtve van, de ennél rosszabb, hogy a vcc és a gnd a szabályozón megfordulnak az vcc és gnd között az USB csatlakozón. Tehát a vezetékek keresztezik egymást.
Azt is vegye figyelembe, hogy az aktív zümmögő + energiája az USB 5 V -os feszültségéből származik. Ezenkívül egy 4 tűs női aljzatfej jól működik a zümmögő tű elhelyezésével.
ESP-01 zümmögő modul alkatrészlistája:
1 - 5 x 7 NYÁK lap
1 - USB mini csatlakozó érintkezőkkel (7 érintkező)
2 - 1 x 3 női fejléc
1 - AMS1117-3,3 V feszültségszabályozó kártya
1 - 2 x 4 női fejléc
2 - 1 x 4 női aljzatfej
1 - 2N7000 N -csatornás MOSFET
1-10 ohmos ellenállás
1 - 5 V aktív zümmögő
4. lépés: ESP-01 zümmögő modul kódja
A zümmögő modul egyszerű ESP-01 webszerverként működik. Egy egyszerű üzenettel válaszol a root kérésre, és amikor megkapja a buzz kérést, elindítja a hangjelzőt. A GPIO0 a zümmögő jel GPIO tűje.
Vegye figyelembe, hogy az ESP-01 merev kódolású IP-címmel van konfigurálva. Erre azért van szükség, hogy a mély alvás modul csatolva legyen a zümmer címéhez.
Az előző modulhoz hasonlóan két kódsort is frissítenie kell a megadott értékekkel:
// A WiFi router SSID -je és jelszava: char* ssid = "xxxxxxx";
const char* password = "xxxxxxxx";
Ha több zümmögő modult hoz létre, mindegyiket saját egyedi IP -címmel kell betölteni.
Különböző zümmögési módszereket is hozzáadhat, amelyek különböző zümmögő dallamokat hoznak létre. Például, ha van PIR -érzékelője a bejárati ajtón és egy a hátsó ajtón, akkor mindegyik webes kérést küldhet minden zümmögő moduljához, de az egyik érzékelő vázlatot tartalmazhat, amely buzz -ot hív, a másik pedig buzz2 -t hogy a hangból meg tudja állapítani, melyik érzékelőt váltotta ki. És így tovább és így tovább! A buzz2 függvény nem létezik, csak másolja a buzz funkciót, és módosítsa a késleltetési értékeket.
A webszerverhez csak egy ilyen kódot kell hozzáadnia:
szerver.on ("/buzz2", buzz2);
5. lépés: Utolsó gondolatok
Ez az első tanítható, így lehet, hogy lemaradtam néhány gyakorlati dologról, amelyeket be kellett volna vennem. Az általam használt AMS1117-3.3 szabályozókártya tartalmaz egy apró ledet, amely bekapcsoláskor világít. A mély alvás modul esetében nem akartam, hogy ez bekapcsoljon és feleslegesen lemerítse az energiát. Így a táblán lévő led egyik oldalán kiforrasztottam, amit lehetett, majd egy késsel vágtam le a nyomvonalat. Ez könnyebb volt, mint gondoltam, és megakadályozza a LED kigyulladását. Nem tudtam megállapítani, hogy mi az áramfelvétel, amikor az ESP-01 mély alvásban van, de lehet, hogy néhány hét múlva kapok választ. Egy kollégám működtette az érzékelőt (nem mély alvásban), és úgy találta, hogy az elemek körülbelül egy hét alatt lemerültek (5AA). Szerintem ennek a beállításnak egy hónapot vagy még többet kell adnia. Látni fogjuk.
A mély alvás modul körülbelül 8 dollárba került CDN -ben (az elemeket nem tartalmazza!), A zümmögő modul pedig 5 dollárba került.
Ajánlott:
Zombi észleli az intelligens biztonsági bagolyt (mély tanulás): 10 lépés (képekkel)
Zombi észleli az intelligens biztonsági bagolyt (mély tanulás): Üdv mindenkinek, üdvözöljük a T3chFlicksben! Ebben a halloweeni bemutatóban megmutatjuk, hogyan tettünk szuper kísérteties csavart egy hétköznapi háztartási klasszikusba: a biztonsági kamerába. Hogyan?! Készítettünk egy éjjellátó bagolyt, amely képfeldolgozással követi nyomon az embereket
Meteorológiai állomás: ESP8266 Mély alvással, SQL -sel, Flask grafikus ábrázolásával és ábrázolásával: 3 lépés
Meteorológiai állomás: ESP8266 Mély alvás, SQL, Flask & Plotly grafikus ábrázolása: Jó lenne tudni az erkély hőmérsékletét, páratartalmát vagy fényintenzitását? Tudom, hogy megtenném. Ezért készítettem egy egyszerű időjárás -állomást az ilyen adatok gyűjtésére. A következő szakaszok azok a lépések, amelyeket megtettem az egyik felépítéséhez. Kezdjük
Hangerő, mély és magas hang áramkör az audioerősítőben: 11 lépés
Hangerő, basszus és magas hangáramkör az audioerősítőben: Hi, barátom, ma egy hangerő-, mély- és magashang -áramkört fogok készíteni. Ez az áramkör szabályozza az erősítő és a basszus hangerejét, valamint az erősítő magas hangjait is. Az áramkör csak egycsatornás audió erősítőhöz lesz
DIY mozgásérzékelő (ESP - 8266): 5 lépés
DIY mozgásérzékelő (ESP - 8266): Ez a projekt az otthoni barkácsoláshoz készült. Ez a projekt a Konnected projekten alapul. A Konnected új életet hoz azoknak a lakástulajdonosoknak, akik előre bekötött mozgásérzékelőkkel rendelkeznek az ADT-től és más cégektől. Azáltal, hogy új technológiával frissíti
Az akkumulátor élettartamának megtakarítása mély alvással: 20 lépés
Az akkumulátor élettartamának megtakarítása mély alvással: Érdekli az akkumulátor használata az ESP32 készülékkel? Ha igen, ma megvitatok néhány fontos technikai információt ezzel a témával kapcsolatban. Tudjuk, hogy ez a mikrokontroller sok energiát költ, amikor információt továbbít. Fogyasztja