Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
V tomto tutoriálu vám ukážu, jak detekovat událost otevírání dveří a odeslat oznámení přes Gmail pomocí Arduino Uno.
Pokud jste začátečník, můžete se o wifi a senzoru dozvědět v tutoriálech Arduino - WiFi a Arduino - Dveřní senzor.
Začněme!
Detekce otevírání dveří EventMagnetický senzor, který jsem použil, obsahuje dvě části: senzor a magnet. Když jsou dvě části v blízkosti, výstupní kolík snímače je VYSOKÝ, jinak je výstupní kolík NÍZKÝ. S využitím této funkce jsem nainstaloval jednu část senzoru na křídlo dveří a druhou na zárubeň. Zkontrolováním stavu výstupního kolíku můžeme zjistit, kdy jsou dveře otevřeny, a poté provést výstrahu nebo odeslat oznámení.
Zpracování události
Když dojde k události otevírání dveří, je prostřednictvím Gmailu odesláno oznámení.
Krok 1: Věci, které potřebujeme
1. Arduino UNO nebo Genuino UNO
2. Štít PHPoC pro Arduino
3. Magnetický senzor
Krok 2: Sestavení
1. Skládejte PHPoC štít na Arduino.
2. Připojte kabel LAN ke stínění pro ethernet.
3. Zapojte kolíky mezi Arduino a senzorem.
---- 5v -------- červený pin.
---- A0 ------- černý pin.
Krok 3: Nainstalujte si tuto sadu na dveře
1. Připevněte senzorovou část, sadu Arduino (včetně štítu PHPoC) na rám dveří
2. Připevněte část magnetu na křídlo dveří.
3. Napájení Arduina
4. Připojte se k internetu pomocí kabelu LAN nebo USB Wifi dongle.
Krok 4: Stáhněte a nainstalujte knihovnu na Arduino
Nainstalujte si knihovnu PHPoC a ezButton
Krok 5: Arduino kód
#zahrnout
#include PhpocEmail email; tlačítko ezButton (A0); // vytvoření Button objektu, který se připojí na pin A0; neplatné nastavení () {Serial.begin (9600); Phpoc.begin (PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP); //Phpoc.beginIP6 (); zrušte označení tohoto řádku, pokud se chystáte použít tlačítko IPv6. setDebounceTime (100); // nastavení doby odskoku na 100 milisekund} void loop () {button.loop (); // MUSÍ nejprve zavolat funkci loop (), pokud (button.isPressed ()) {// pokud jsou dveře otevřeny … email.setOutgoingServer ("smtp.gmail.com", 587); email.setOutgoingLogin („Google ID“, „Google Google“); email.setFrom („adresa Gmailu“, „jméno odesílatele“); email.setTo („E -mailová adresa příjemce“, „Jméno příjemce“); email.setSubject ("Dveře jsou otevřeny. [#905]"); // Předmět pošty // Obsah pošty email.beginMessage (); email.println ("#905"); email.println (""); email.println („Dveře jsou otevřené.“); email.endMessage (); if (email.send ()> 0) // Odeslat e -mail Serial.println ("Vaše pošta byla úspěšně odeslána"); else Serial.println („Vaše pošta není odeslána“); } else if (button.isReleased ()) {// pokud jsou dveře zavřené … // Pište kódy stejným způsobem}}
Krok 6: Odkazy na funkce
- smyčka()
- založit()
- Serial.begin ()
- Serial.println ()
- zpoždění()
- pro smyčku
- zatímco smyčka
- když jinak
- String.toInt ()