Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
W tym samouczku pokażę, jak wykryć zdarzenie otwarcia drzwi i wysłać powiadomienie przez Gmaila za pomocą Arduino Uno.
Jeśli jesteś początkujący, możesz dowiedzieć się o wifi i czujniku w samouczkach Arduino - WiFi i Arduino - Door Sensor.
Zacznijmy!
Wykrywanie otwarcia drzwi EventMagnetic Użyty przeze mnie czujnik magnetyczny składa się z dwóch części: czujnika i magnesu. Gdy dwie części znajdują się w pobliżu, pin wyjściowy czujnika jest WYSOKI, w przeciwnym razie pin wyjściowy jest NISKI. Korzystając z tej funkcji, zainstalowałem jedną część czujnika na skrzydle drzwi, a drugą na ościeżnicy. Sprawdzając stan pinu wyjściowego, możemy wykryć, kiedy drzwi są otwarte, a następnie dokonać alertu lub wysłać powiadomienie.
Obsługa zdarzenia
Gdy nastąpi zdarzenie otwarcia drzwi, powiadomienie zostanie wysłane przez Gmaila.
Krok 1: Rzeczy, których potrzebujemy
1. Arduino UNO lub Genuino UNO
2. Osłona PHPoC dla Arduino
3. Czujnik magnetyczny
Krok 2: Montaż
1. Stosuj PHPoC Shield na Arduino.
2. Podłącz kabel LAN do ekranu dla Ethernetu.
3. Okablowanie pinów między Arduino a czujnikiem.
----5v--------czerwona szpilka.
----A0-------czarna szpilka.
Krok 3: Zainstaluj ten zestaw na drzwiach
1. Przymocuj część czujnika, zestaw Arduino (wraz z nakładką PHPoC) do futryny drzwi
2. Zamocuj część magnesu na skrzydle drzwi.
3. Zasilanie Arduino
4. Połącz się z Internetem za pomocą kabla LAN lub klucza USB Wifi.
Krok 4: Pobierz i zainstaluj bibliotekę na Arduino
Zainstaluj PHPoC i bibliotekę ezButton
Krok 5: Kod Arduino
#włączać
#include PhpocEmail e-mail; przycisk ezButton (A0); // utwórz obiekt Button, który dołącza się do pinu A0; void setup() { Serial.begin(9600); Phpoc.begin(PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP); //Phpoc.początekIP6(); odkomentuj tę linię, jeśli zamierzasz używać IPv6 button.setDebounceTime(100); // ustaw czas odbicia na 100 milisekund } void loop() { button.loop(); // MUSISZ najpierw wywołać funkcję loop() if(button.isPressed()) { // jeśli drzwi są otwarte… email.setOutgoingServer("smtp.gmail.com", 587); email.setOutgoingLogin("Identyfikator Google", "Hasło Google"); email.setFrom("Adres Gmail", "Nazwa nadawcy"); email.setTo("Adres e-mail odbiorcy", "Nazwa odbiorcy"); email.setSubject("Drzwi są otwarte. [#905]"); // Temat wiadomości // Zawartość wiadomości email.beginMessage(); email.println("#905"); email.println(""); email.println("Drzwi są otwarte."); email.endMessage(); if (email.send() > 0) // Wyślij e-mail Serial.println("Twoja poczta została pomyślnie wysłana"); else Serial.println("Twoja poczta nie została wysłana"); } else if (button.isReleased()) { // jeśli drzwi są zamknięte… // Napisz kody w ten sam sposób } }
Krok 6: Odniesienia do funkcji
- pętla()
- Ustawiać()
- Serial.początek()
- Serial.println()
- opóźnienie()
- dla pętli
- podczas gdy pętla
- Jeśli inaczej
- String.toInt()