- Wymagane materiały:
- Objaśnienie modułów:
- Schemat i sprzęt
- Stworzenie API do wysyłania wiadomości e-mail przy użyciu IFTTT:
- Program Arduino
- -CircuitDigest
- Pracujący
To kolejny ciekawy projekt IOT, w którym zbudujemy system bezpieczeństwa, który może wywołać e-mail, gdy kogoś wykryje. Ten projekt łączy w sobie moc ESP8266, czujnika PIR i modułu głosowego ISD1820. Na końcu tego artykułu stworzyłbyś w pełni funkcjonalny system bezpieczeństwa, który można uzbroić / rozbroić (aktywować / dezaktywować) zdalnie przez Internet. Możesz nagrać własny klip dźwiękowy, który zostanie odtworzony po wykryciu ruchu, a także wysłać wiadomość e-mail z datą i godziną na określony adres e-mail z informacją o włamaniu. Wystarczająco fajne….. !!! ??
Więc zbudujmy to…
Wymagane materiały:
Materiały wymagane do zbudowania tego projektu są wymienione poniżej
- ESP8266
- Czujnik PIR
- Moduł głosowy ISD1820
- LM317, LM7805
- BC547 (2Nos)
- Rezystory 1K, 200ohm, 330ohm
- Kondensatory 10uf i 0.1uf
- Zasilacz 12V / bateria 9V do zasilania zestawu
Objaśnienie modułów:
Projekt zawiera trzy ważne komponenty, którymi są moduł ESP8266, czujnik PIR i moduł głosowy ISD1820. Jeśli znasz te moduły, możesz pominąć tę część i przejść do schematów, ale jeśli chcesz wiedzieć, jak działają, czytaj dalej.
Moduł ESP8266:
Jestem pewien, że kiedyś natknąłbyś się na ten moduł. Jest to bardzo znany i potężny moduł WiFi, który jest najczęściej używany w projektach IOT.
Ten projekt zakłada, że wiesz, jak zaprogramować moduł ESP8266, jeśli nie, odwiedź poniższe dwa samouczki, w których wyjaśniłem, jak rozpocząć pracę z ESP8266 i jak zaprogramować go za pomocą Arduino IDE. Musisz to wiedzieć, aby ukończyć projekt.
- Pierwsze kroki z ESP8266
- Programowanie ESP8266 za pomocą Arduino IDE
Czujnik PIR:
Czujnik PIR oznacza pasywny czujnik podczerwieni. Jest to niedrogi czujnik, który może wykryć obecność ludzi lub zwierząt. W czujniku znajdują się dwa ważne materiały, jeden to kryształ piroelektryczny, który może wykryć sygnatury cieplne żywego organizmu (ludzi / zwierząt), a drugi to soczewki Fresnela, które mogą poszerzyć zasięg czujnika. Również moduły czujnika PIR zapewniają nam pewne opcje regulacji działania czujnika, jak pokazano na poniższym obrazku.
Dwa potencjometry (kolor pomarańczowy) służą do kontroli czułości i czasu wyzwalania czujnika. Zasadniczo pin Dout czujnika znajduje się między pinami Vcc i Gnd. Moduł działa przy napięciu 3,3 V, ale może być również zasilany napięciem 5 V. W lewym górnym rogu ma również ustawienie pinów wyzwalających, które można wykorzystać, aby moduł działał w dwóch różnych trybach. Jeden to tryb „H”, a drugi to tryb „I”.
W trybie „H” styk wyjściowy Dout przejdzie w stan wysoki (3,3 V), gdy osoba zostanie wykryta w zasięgu i po określonym czasie (czas ustawiany jest potencjometrem). W tym trybie pin wyjściowy przejdzie w stan wysoki niezależnie od tego, czy osoba jest nadal obecna w zasięgu, czy też opuściła obszar. W naszym projekcie używamy naszego modułu w trybie „H”.
W trybie „I” styk wyjściowy Dout przejdzie w stan wysoki (3,3 V), gdy osoba zostanie wykryta w zasięgu i pozostanie wysoki, dopóki znajduje się w granicach zakresu czujników. Gdy osoba opuści obszar, pin opuści się po określonym czasie, który można ustawić za pomocą potencjometru.
Uwaga: położenie potencjometrów lub pinów może się różnić w zależności od dostawcy czujnika PIR. Postępuj zgodnie z sitodrukiem, aby określić, czy pinouty
Moduł głosowy ISD1820:
Moduł głosowy ISD 1820 to naprawdę fajny moduł, który może urozmaicić Twoje projekty zapowiedziami głosowymi. Ten moduł może nagrywać klip audio przez 10 sekund, a następnie odtwarzać go w razie potrzeby. Sam moduł jest wyposażony w mikrofon i głośnik (8ohm 0,5 wata) i powinien wyglądać mniej więcej tak, jak pokazano poniżej.
Moduł działa na + 5V i może być zasilany za pomocą drążków górskich po lewej stronie. Posiada również trzy przyciski na dole, które są Rec. przycisk PlayE. przycisk i PlayL. odpowiednio przycisk. Możesz nagrać swój głos, naciskając przycisk Rec. i odtwórz za pomocą przycisku PlayE. PlayL będzie odtwarzać głos tak długo, jak przytrzymasz przycisk. Podczas współpracy z MCU lub ESP możemy użyć pinów po lewej stronie. Te piny są tolerowane przez 3 V-5 V i dlatego mogą być bezpośrednio sterowane przez Arduino / ESP8266. W naszym projekcie kontrolujemy pin PLAYE za pomocą pinu GPIO 0 naszego modułu ESP8266. Abyśmy mogli odtworzyć nagrany głos, gdy zostanie wykryty intruz.
Schemat i sprzęt
Pełny schemat tego projektu systemu bezpieczeństwa IoT przedstawiono poniżej:
Obwód składa się z dwóch regulatorów napięcia. Jeden to regulator 3,3 V zaprojektowany przy użyciu LM317, a drugi to regulator 5 V wykonany za pomocą układu scalonego regulatora 7805. LM317 jest regulatorem zmiennego napięcia, którego wyjście ustawiane jest na 3,3V za pomocą rezystorów 200ohm i 330ohm. Oba regulatory zasilane są za pomocą adaptera 12V. Pobór mocy tego obwodu jest bardzo minimalny, dlatego zamiast adaptera 12 V można zastosować baterię 9 V.
Czujnik PIR i moduł głosowy włącza się, ustawiając wysoki pin GPIO 2. Ten styk poprowadzi BC547 przez rezystor ograniczający prąd 1k i zamknie obwód zasilania dla obu modułów. Pin GPIO_0 jest używany jako pin wejściowy. Jest on podłączony do pinu Dout czujnika PIR przez tranzystor BC547. Kiedy ten pin osiągnie stan wysoki, wywołamy wiadomość e-mail informującą o włamaniu za pośrednictwem naszego programu Arduino.
Prąd źródłowy pinów wyjściowych (Dout, GPIO_2 i GPIO2) jest znacznie mniejszy, dlatego użyłem tranzystora do ich sterowania. Również szpilki GPIO ESP8266 nie mogą być ładowane, gdy moduł jest włączony, w przeciwnym razie moduł wejdzie w nieskończoną pętlę resetowania. Aby tego uniknąć, umieściłem dwa przełączniki, aby tymczasowo je rozłączyć podczas włączania.
Możesz przylutować powyższe obwody do tablicy Perf lub po prostu użyć płytki stykowej. Użyłem sztyftów żeńskich / męskich berg, aby uniknąć lutowania na modułach. Po zakończeniu Twoja tablica powinna wyglądać jak poniżej
Stworzenie API do wysyłania wiadomości e-mail przy użyciu IFTTT:
Gdy sprzęt będzie gotowy, stwórzmy API (Application Program Interface), które może wysyłać e-maile na określony adres e-mail. Można to łatwo zrobić za pomocą strony internetowej o nazwie IFTTT.com. Omówiłem również projekt, w którym można było wysyłać wiadomości SMS za pomocą ESP8266 i poczty e-mail za pomocą mikrokontrolera PIC, który korzysta z tych samych usług IFTTT.
Jeśli nie korzystałeś jeszcze z IFTTT, odwiedź wideo na końcu tego samouczka, jeśli znasz, po prostu wykonaj poniższe czynności
1. Zaloguj się na swoje konto IFTTT
2. Wyszukaj „Maker Web hooks” i kliknij połącz
3. Teraz wyszukaj „Gmail”, kliknij połącz i postępuj zgodnie z instrukcjami, aby przyznać dostęp
4. Następnie utwórz aplet, klikając My Applet-> New Applet.
5. W tym przypadku funkcja „Ta” będzie dotyczyła usługi web makerhooks, a funkcja „ta” będzie usługą Gmail
6. Kliknij „This”, wyszukaj i wybierz hooki Web Maker. Zapyta o nazwę wydarzenia, które nazwałem swoim wydarzeniem jako „123”, możesz dowolnie nazwać swoje
7. Następnie kliknij „To”, wyszukaj i wybierz Gmail i wprowadź temat oraz treść wiadomości.
8. Po wprowadzeniu wszystkich wymaganych danych Apple powinno być gotowe i powinno wyglądać mniej więcej tak jak poniżej
9. Teraz wyszukaj i ponownie wejdź do Hooków Web Maker i kliknij „Dokumentacja”. Następnie pod nazwą zdarzenia wpisz nazwę zdarzenia, której użyliśmy w aplecie. W moim przypadku jest to „123” i skopiuj adres URL, ponieważ będziemy go potrzebować w naszym programie Arduino. Adres URL powinien wyglądać jak poniżej.
10. Możesz kliknąć przycisk „Przetestuj”, aby sprawdzić, czy link działa poprawnie i powinieneś otrzymać wiadomość testową.
Program Arduino
Program Arduino dla tego projektu jest prosty i łatwy. Musimy po prostu sprawić, by ESP działał jako AP i STA. Następnie stwórz stronę internetową za pomocą kodu HTML, na której możemy UZBRAĆ / ROZBRAĆ system alarmowy. Kompletny kod znajduje się na końcu tego samouczka, kod jest również wyjaśniony za pomocą wierszy komentarza. Dalsze ważne kwestie wyjaśniono poniżej.
const char * ssid = "Strona główna BPAS"; // Wpisz tutaj identyfikator SSID Wi-Fi const char * hasło = "cracksen"; // Wpisz tutaj swoje hasło
W powyższym wierszu kodu zmień nazwę SSID i hasło na nazwę SSID routera i odpowiadające jej hasło.
Jeśli chcesz dowiedzieć się, do którego adresu IP podłączony jest twój ESP8266, możesz to sprawdzić, otwierając monitor szeregowy, następujące linie kodu wydrukują twoje IP na monitorze szeregowym Arduino IDE.
Serial.println (""); Serial.print („Połączony z”); Serial.println (ssid); Serial.print ("adres IP:"); Serial.println (WiFi.localIP ()); // Monitor szeregowy poda adres IP twojego modułu ESP
Poniżej znajduje się kod HTML odpowiedzialny za stworzenie strony internetowej. Możesz dostosować swoją stronę internetową za pomocą własnego kodu. Zmodyfikowałem część dotyczącą opinii, aby potwierdzić, że strona została pomyślnie załadowana.
// Kod HTML strony internetowej // mainPage + = "
System bezpieczeństwa oparty na IOT
-CircuitDigest
Stan alarmu:
"; feedback ="Kliknij ARM, aby włączyć system bezpieczeństwa
"; // Koniec kodu HTML //Poniższe wiersze kodu określają, co należy zrobić, gdy alarm jest uzbrojony lub rozbrojony. W moim programie zmieniłem część zwrotną kodu HTML i zrobiłem pin GPIO 2 WYSOKI / NISKI na podstawie przycisku, jak pokazano poniżej
server.on ("/ switch2On", () {feedback = "
Alarm jest włączony i działa
"; // modyfikacja kodu HTML currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, HIGH); // Włącz moduł PIR i głosowy power_module = true; delay (1000);}); server.on ("/ switch2Off", () {feedback = "Alarm wyłączony
"; // modyfikacja kodu HTML currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, LOW); // Wyłącz moduł PIT i głosowy power_module = fałsz; opóźnienie (1000);});Kolejną ważną linią, którą należy zmienić, aby system działał poprawnie, jest linia ciągu URL. Wklejasz tutaj wiersz (po „/ trigger”) skopiowany ze strony internetowej IFTTT. Pokazałem mój poniżej, ale nie używaj mojego klucza API, użyj tutaj własnego
String url = "/ trigger / 123 / with / key / mDsoOV_EERS3xRfrh3_UQBhbcx0qlRHns-z2qXXXXX"; // Należy zmienić go na adres URL interfejsu API
Reszta kodu jest oczywista, jeśli masz jakiekolwiek wątpliwości, możesz skorzystać z sekcji komentarzy, a ja ci pomogę.
Pracujący
Gdy będziesz gotowy ze sprzętem i kodami, możesz załadować program do modułu ESP8266 za pomocą płyty FTDI. Jeśli nie jesteś pewien, jak załadować programy do ESP8266 za pomocą Arduino IDE, odwiedź ten samouczek.
Po wgraniu programu kliknij na monitor szeregowy i powinieneś zobaczyć coś takiego poniżej. Jeśli nie, zresetuj moduł ESP8266 i spróbuj ponownie
Tutaj możesz również zanotować adres IP przydzielony do twojego modułu ESP8266. Następnie możesz użyć adresu IP, aby załadować stronę internetową w przeglądarce i uzbroić / rozbroić system bezpieczeństwa IoT, jak pokazano na poniższym obrazku.
Po sprawdzeniu wszystkich tych elementów możesz teraz przenieść ESP8266 na płytę Perf i włączyć go, a następnie zewrzeć przełączniki, jak pokazano na wideo.
Po włączeniu możesz użyć adresu IP, aby wejść na powyższą stronę internetową i włączyć system Securtiy. Po włączeniu odczekaj 50-60 sekund na kalibrację czujnika PIR.
Teraz twój projekt jest gotowy do działania, możesz go zostawić w wybranym miejscu, a jeśli ktokolwiek przekroczy to miejsce i znajdzie się w zasięgu czujnika PIR, uruchomi się wiadomość głosowa i zostanie wysłana wiadomość e-mail na Twój adres e-mail Identyfikator z datą i godziną, którą przekroczył. E-mail jest pokazany poniżej.
Więc to wszystko… Mam nadzieję, że spodobał Ci się projekt i spodoba Ci się tworzenie własnego. Pełne działanie Projektu jest pokazane na poniższym wideo. Jeśli masz jakieś wątpliwości lub sugestie, możesz je napisać w sekcji komentarzy poniżej, a ja odpowiem jak najwięcej.