- Material som krävs:
- Modulförklaring:
- Schematisk och hårdvara
- Skapa ett API för att skicka e-post med IFTTT:
- Arduino-programmet
- -CircuitDigest
- Arbetssätt
Detta är ett annat intressant IOT-projekt där vi kommer att bygga ett säkerhetssystem som kan utlösa ett e-postmeddelande när det upptäcker någon. Detta projekt har blandat kraften i ESP8266, PIR-sensor och ISD1820 Voice-modul. I slutet av den här artikeln skulle du ha byggt ett fullt fungerande säkerhetssystem som kan aktiveras / avaktiveras (aktiveras / avaktiveras) på distans via internet. Du kan spela in ditt eget ljudklipp som kommer att spelas upp när en rörelse upptäcks och även skicka ett mail med datum och tid till ett visst e-post-ID som anger intrånget. Cool nog….. !!! ??
Så låt oss bygga det..
Material som krävs:
Materialet som krävs för att bygga detta projekt listas nedan
- ESP8266
- PIR-sensor
- ISD1820 röstmodul
- LM317, LM7805
- BC547 (2Nos)
- 1K, 200ohm, 330ohm motstånd
- Kondensatorer på 10uf och 0.1uf
- 12V adapter / 9V batteri för att driva installationen
Modulförklaring:
Projektet innehåller tre viktiga komponenter som är ESP8266-modulen, PIR-sensorn och ISD1820 röstmodulen. Om du känner till dessa moduler kan du hoppa över den här delen när du går vidare till schemat men om du vill veta hur de fungerar läs vidare.
ESP8266-modul:
Jag är säker på att du skulle ha stött på den här modulen någon gång. Det är en mycket känd och kraftfull WiFi-modul som mest används i IOT-projekt.
Detta projekt förutsätter att du vet hur du programmerar en ESP8266-modul om du inte vänligen besöker nedanstående två handledning där jag har förklarat hur du kommer igång med ESP8266 och hur du kan programmera en med Arduino IDE. Du måste veta detta för att slutföra projektet.
- Komma igång med ESP8266
- Programmering ESP8266 med Arduino IDE
PIR-sensor:
PIR-sensorn står för passiv infraröd sensor. Det är en lågkostnadssensor som kan upptäcka närvaron av människor eller djur. Det finns två viktiga material i sensorn, det ena är den pyroelektriska kristallen som kan detektera värmesignaturerna från en levande organism (människor / djur) och den andra är en Fresnel-lins som kan utvidga sensorns räckvidd. PIR-sensormodulerna ger oss också några alternativ för att justera sensorns funktion som visas i bilden nedan.
De två potentiometrarna (orange färg) används för att kontrollera känsligheten och utlösaren i tid för sensorn. I grund och botten finns sensorns Dout-stift mellan Vcc- och Gnd-stiften. Modulen fungerar på 3,3V men kan också drivas med 5V. I det övre vänstra hörnet har den också en trigger pin-inställning som kan användas för att få modulen att fungera i två olika lägen. Den ena är “H” -läget och den andra är “I” -läget.
I “H” -läget blir utgångsstiftet Dout högt (3,3 V) när en person detekteras inom räckvidden och blir låg efter en viss tid (tiden ställs in av potentiometer). I detta läge kommer utgångsstiftet att bli högt oavsett om personen fortfarande finns inom området eller har lämnat området. Vi använder vår modul i “H” -läge i vårt projekt.
I “I” -läget kommer utgångsstiftet Dout att bli högt (3,3 V) när en person upptäcks inom räckvidden och kommer att förbli hög så länge han / hon håller sig inom gränserna för sensorns intervall. När personen har lämnat området blir stiftet lågt efter den specifika tiden som kan ställas in med potentiometern.
Obs! Positionen för potentiometrar eller stift kan variera beroende på din PIR-sensorleverantör. Följ silkskärmen för att avgöra vilka pinouts du har
ISD1820 röstmodul:
ISD 1820 Voice-modulen är verkligen en cool modul som kan krydda dina projekt med röstmeddelanden. Denna modul kan spela in ett ljudklipp i 10 sekunder och sedan spela upp det vid behov. Modulen i sig kommer med en mikrofon och en högtalare (8 ohm 0,5 watt) och den ska se ut så här som visas nedan.
Modulen fungerar på + 5V och kan drivas med bergpinnar till vänster. Den har också tre knappar längst ner som är Rec. knappen, PlayE. och PlayL. knapp. Du kan spela in din röst genom att trycka på Rec. och spela upp den med PlayE-knappen. PlayL spelar rösten så länge du håller ned knappen. Vid gränssnitt med en MCU eller ESP kan vi använda stiften till vänster. Dessa stift är 3V-5V tolererbara och kan därför drivas direkt av Arduino / ESP8266. I vårt projekt kontrollerar vi PLAYE-stiftet med GPIO 0-stiftet i vår ESP8266-modul. Så att vi kan spela den inspelade rösten när en inkräktare upptäcks.
Schematisk och hårdvara
Den fullständiga schemat för detta IoT-säkerhetssystemprojekt visas nedan:
Kretsen består av två spänningsregulatorer. Den ena är en 3.3V-regulator designad med LM317 och den andra är en 5V-regulator som görs med 7805 Regulator IC. LM317 är en regulator med variabel spänning vars utgång är inställd på 3,3 V med hjälp av motstånden 200ohm och 330ohm. Båda regulatorerna drivs med en 12V-adapter. Strömförbrukningen för denna krets är mycket minimal, därför kan ett 9V batteri också användas istället för en 12V adapter.
PIR-sensorn och röstmodulen slås på genom att göra GPIO 2-stiftet högt. Denna stift kommer att driva BC547 genom ett 1k strömbegränsningsmotstånd och slutföra effektkretsen för båda modulerna. Stiftet GPIO_0 används som en ingångsstift. Den är ansluten till Dout-stiftet på PIR-sensorn genom en BC547-transistor. När denna stift går högt utlöser vi ett e-postmeddelande som anger intrånget genom vårt Arduino-program.
Källströmmen för utgångsstiften (Dout, GPIO_2 och GPIO2) är väldigt mindre, därför har jag använt en transistor för att driva dem. GPIO-stiften på ESP8266 får inte laddas när modulen är påslagen, annars kommer modulen att gå in i oändlig återställningsslinga. För att undvika detta har jag placerat två brytare för att tillfälligt koppla bort dem medan jag startar.
Du kan löda ovanstående kretsar till en Perf-kort eller helt enkelt använda en brädbräda. Jag har använt kvinnliga / manliga bergpinnar så att jag kan undvika lödning på modulerna. När du är klar ska din styrelse se ut som nedan
Skapa ett API för att skicka e-post med IFTTT:
När hårdvaran är klar kan vi skapa ett API (Application Program Interface) som kan skicka e-post till ett visst e-post-ID. Detta kan enkelt göras med hjälp av en webbplats som heter IFTTT.com. Jag har också täckt ett projekt som kan skicka SMS med ESP8266 och e-post med PIC Microcontroller som använder samma IFTTT-tjänster.
Om du inte har använt IFTTT ännu, besök videon i slutet av denna handledning, om du är bekant följer du bara stegen nedan
1. Logga in på ditt IFTTT-konto
2. Sök efter “Maker Web hooks” och klicka på connect
3. Sök nu efter "Gmail" och klicka på anslut och följ stegen för att ge åtkomst
4. Skapa sedan en applet genom att klicka på Min applet-> Ny applet.
5. Här kommer funktionen "Denna" att vara för webbtillverkare och "den" -funktionen är Gmail-tjänster
6. Klicka så på "Detta", sök och välj krokar för webbtillverkare. Det kommer att be om händelsens namn. Jag har dömt mitt evenemang till "123"
7. Klicka sedan på "That", sök och välj Gmail och ange ämnets ämne och text.
8. När alla nödvändiga uppgifter har angetts bör din Apple vara redo och den ska se ut så här nedan
9. Sök nu och gå in i Web Maker Hooks igen och klicka på “Dokumentation”. Ange sedan händelsens namn under händelsens namn i appleten. I mitt fall är det "123" och kopiera webbadressen eftersom vi kommer att behöva den i vårt Arduino-program. Webbadressen ska gilla något liknande här nedan.
10. Du kan klicka på “Testa det” -knappen för att kontrollera om du länkar fungerar korrekt och du borde ha fått ett testmeddelande genom att göra det.
Arduino-programmet
Arduino-programmet för detta projekt är enkelt och enkelt. Vi måste helt enkelt få ESP att fungera som AP och STA. Skapa sedan en webbsida med hjälp av HTML-kod där vi kan aktivera / avaktivera larmsystemet. Den fullständiga koden ges i slutet av denna handledning. Koden förklaras också med hjälp av kommentarrader. Vidare förklaras de viktiga raderna nedan.
const char * ssid = "BPAS hem"; // Ange ditt Wifi SSID här const char * password = "cracksen"; // Ange ditt lösenord här
I ovanstående kodrad ändra SSID-namnet och lösenordet till dina routrar SSID-namn och dess motsvarande lösenord.
Om du vill hitta vilken IP din ESP8266 är ansluten till kan du ta reda på den genom att öppna den seriella bildskärmen, följande kodrader kommer att skriva ut din IP på Arduino IDE seriell bildskärm.
Serial.println (""); Serial.print ("Ansluten till"); Serial.println (ssid); Serial.print ("IP-adress:"); Serial.println (WiFi.localIP ()); // Seriell bildskärm ger IP-tillägg till din ESP-modul
HTML-koden som är ansvarig för att skapa en webbsida anges nedan. Du kan anpassa din webbsida med din egen kod. Jag har ändrat återkopplingsdelen för att bekräfta användaren om sidan laddades framgångsrikt.
// HTML-kod för webbsida // mainPage + = "
IOT-baserat säkerhetssystem
-CircuitDigest
Larmstatus:
"; feedback ="Klicka på ARM för att aktivera säkerhetssystemet
"; // Slut på HTML-kod //Nedanstående kodrader avgör vad som ska göras när larmet är aktiverat eller avaktiverat. I mitt program har jag ändrat återkopplingsdelen av HTML-koden och gjort GPIO 2-stift HÖG / LÅG baserat på knappen som visas nedan
server.on ("/ switch2On", () {feedback = "
Larmet är igång
"; // HTML-kodändring currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, HIGH); // Slå på PIR- och röstmodulen power_module = true; delay (1000);}); server.on ("/ switch2Off", () {feedback = "Larmet är nere
"; // HTML-kodändring currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, LOW); // Stäng av PIT och Voice Module power_module = falsk; fördröjning (1000);});En annan viktig rad som måste ändras för att systemet ska fungera korrekt är URL-strängraden. Du klistrar in raden (efter ”/ trigger”) som du kopierade från IFTTT-webbplatsen här. Jag har visat mina nedan men använd inte min API-nyckel, använd din egen här
String url = "/ trigger / 123 / with / key / mDsoOV_EERS3xRfrh3_UQBhbcx0qlRHns-z2qXXXXX"; // Måste ändra den till din API-URL
Resten av koden är självförklarande. Om du är osäker kan du använda kommentarsektionen så hjälper jag dig.
Arbetssätt
När du är redo med hårdvaran och koderna kan du ladda upp programmet till din ESP8266-modul med hjälp av ett FTDI-kort. Om du inte är säker på hur du laddar upp program till ESP8266 med Arduino IDE, besök den här handledningen.
Efter uppladdning av programmet klickar du på seriell bildskärm så ser du något liknande här nedan. Återställ inte din ESP8266-modul och försök igen
Här kan du också notera IP-adressen som tilldelas din ESP8266-modul. Sedan kan du använda IP: n för att ladda upp webbsidan i din webbläsare och aktivera / avaktivera ditt IoT-säkerhetssystem därifrån, som visas på bilden nedan.
När du har verifierat alla dessa kan du nu överföra din ESP8266 till Perf-kortet och slå på den och sedan korta omkopplarna som visas i videon.
Efter att ha slagit på kan du använda IP-adressen för att komma in på ovanstående webbsida och aktivera Securtiy-systemet. Efter att ha aktiverat väntar du 50-60 sekunder tills PIR-sensorn har kalibrerats.
Nu är ditt projekt redo för handling, du kan lämna det på en plats du önskar och om någon korsar den platsen och faller inom PIR-sensorns räckvidd utlöses ett röstmeddelande och ett e-postmeddelande skickas till din e-post ID med datum och tid då han / hon passerade. E-postmeddelandet visas nedan.
Så det är det.. Jag hoppas att du gillade projektet och kommer att tycka om att göra ditt eget. Projektets fullständiga arbete visas i videon nedan. Om du har några tvivel eller förslag kan du skriva dem i kommentarsektionen nedan så svarar jag så mycket som möjligt.