- Nødvendige materialer:
- Moduler Forklaring:
- Skematisk og hardware
- Oprettelse af en API til at sende e-mail ved hjælp af IFTTT:
- Arduino-program
- -CircuitDigest
- Arbejder
Dette er et andet interessant IOT-projekt, hvor vi vil opbygge et sikkerhedssystem, der kan udløse en e-mail, når den opdager nogen. Dette projekt har blandet kraften i ESP8266, PIR-sensor og ISD1820 Voice-modul. I slutningen af denne artikel ville du have bygget et fuldt funktionelt sikkerhedssystem, der kan aktiveres / frakobles (aktiveres / deaktiveres) eksternt via internettet. Du kan optage dit eget lydklip, der afspilles, når en bevægelse registreres, og også sende en mail med dato og klokkeslæt til et bestemt e-mail-id, der angiver indtrængen. Cool nok….. !!! ??
Så lad os bygge det..
Nødvendige materialer:
De nødvendige materialer til at bygge dette projekt er angivet nedenfor
- ESP8266
- PIR-sensor
- ISD1820 Voice Module
- LM317, LM7805
- BC547 (2Nos)
- 1K, 200ohm, 330ohm modstande
- 10uf og 0.1uf kondensatorer
- 12V adapter / 9V batteri til at drive opsætningen
Moduler Forklaring:
Projektet indeholder tre vigtige komponenter, som er ESP8266-modulet, PIR-sensoren og ISD1820 Voice-modulet. Hvis du er fortrolig med disse moduler, kan du springe denne del over ved at gå videre til skemaerne, men hvis du vil vide, hvordan de fungerer, læs videre.
ESP8266-modul:
Jeg er sikker på, at du ville være stødt på dette modul et eller andet tidspunkt. Det er et meget berømt og kraftfuldt WiFi-modul, der mest bruges i IOT-projekter.
Dette projekt forudsætter, at du ved, hvordan du programmerer et ESP8266-modul, hvis ikke venligt besøg nedenstående to vejledninger, hvor jeg har forklaret dig, hvordan du kommer i gang med ESP8266, og hvordan du kan programmere en ved hjælp af Arduino IDE. Du skal vide dette for at gennemføre projektet.
- Kom godt i gang med ESP8266
- Programmering ESP8266 ved hjælp af Arduino IDE
PIR-sensor:
PIR-sensoren står for passiv infrarød sensor. Det er en billig sensor, der kan registrere tilstedeværelsen af mennesker eller dyr. Der er to vigtige materialer til stede i sensoren, den ene er den pyroelektriske krystal, der kan detektere varmesignaturerne fra en levende organisme (mennesker / dyr), og den anden er Fresnel-linser, der kan udvide sensorens rækkevidde. Også PIR-sensormodulerne giver os nogle muligheder for at justere sensorens funktion som vist i billedet nedenfor.
De to potentiometre (orange farve) bruges til at kontrollere følsomheden og triggeren til tiden for sensoren. Dybest set er sensorens Dout-stift til stede mellem Vcc- og GND-stifterne. Modulet fungerer på 3,3 V, men kan også få strøm med 5 V. I øverste venstre hjørne har den også en trigger pin opsætning, som kan bruges til at få modulet til at fungere i to forskellige tilstande. Den ene er “H” -tilstand og den anden er “I” -tilstand.
I “H” -tilstand vil udgangsstiften Dout blive høj (3,3 V), når en person registreres inden for rækkevidde og bliver lav efter en bestemt tid (tiden indstilles af potentiometeret). I denne tilstand vil outputstiften gå højt, uanset om personen stadig er til stede inden for området eller har forladt området. Vi bruger vores modul i “H” -tilstand i vores projekt.
I “I” -tilstand vil output pin Dout gå højt (3.3V), når en person registreres inden for rækkevidde og forblive høj, så længe han / hun forbliver inden for grænserne for sensorområdet. Når personen har forladt området, går stiften lavt efter den bestemte tid, som kan indstilles ved hjælp af potentiometeret.
Bemærk: Placeringen af potentiometre eller stifter kan variere afhængigt af din PIR-sensorleverandør. Følg skærmbilledet Silke for at bestemme dine pinouts
ISD1820 Stemmemodul:
ISD 1820 Voice-modulet er virkelig et sejt modul, der kan krydre dine projekter med stemmemeddelelser. Dette modul er i stand til at optage et lydklip i 10 sekunder og derefter afspille det, når det er nødvendigt. Selve modulet leveres med en mikrofon og en højttaler (8 ohm 0,5 watt), og det skal se ud som dette vist nedenfor.
Modulet fungerer på + 5V og kan drives ved hjælp af bergstængerne til venstre. Det har også tre knapper i bunden, som er Rec. knap, PlayE. knap og PlayL. knap hhv. Du kan optage din stemme ved at trykke på Rec. og afspil den ved hjælp af PlayE-knappen. PlayL afspiller stemmen, så længe du holder knappen nede. Ved grænseflade med en MCU eller ESP kan vi bruge stifterne til venstre. Disse ben er 3V-5V tolerable og kan derfor drives direkte af Arduino / ESP8266. I vores projekt styrer vi PLAYE-stiften ved hjælp af GPIO 0-stiften på vores ESP8266-modul. Så vi kan afspille den indspillede stemme, når en indtrænger opdages.
Skematisk og hardware
Den komplette skema for dette IoT-sikkerhedssystem-projekt er vist nedenfor:
Kredsløbet består af to spændingsregulatorer. Den ene er en 3.3V regulator designet med LM317, og den anden er en 5V regulator udført ved hjælp af 7805 Regulator IC. LM317 er en regulator med variabel spænding, hvis output er indstillet til 3,3 V ved hjælp af modstandene 200 ohm og 330 ohm. Begge regulatorer får strøm ved hjælp af en 12V adapter. Strømforbruget i dette kredsløb er meget minimalt, derfor kan et 9V batteri også bruges i stedet for en 12V adapter.
PIR-sensoren og Voice-modulet er tændt ved at gøre GPIO 2 pin høj. Denne pin kører BC547 gennem en 1k strømbegrænsende modstand og fuldfører strømkredsen til begge moduler. Stiften GPIO_0 bruges som en indtastningsstift. Den er forbundet med DIR-stiften på PIR-sensoren grundigt en BC547-transistor. Når denne pin går højt, udløser vi en e-mail, der angiver indtrængen gennem vores Arduino-program.
Kildestrømmen for outputstifterne (Dout, GPIO_2 og GPIO2) er meget mindre, derfor har jeg brugt en transistor til at drive dem. Også GPIO-benene på ESP8266 må ikke indlæses, når modulet er tændt, ellers vil modulet gå ind i uendelig reset-loop. For at undgå dette har jeg placeret to kontakter for midlertidigt at frakoble dem, mens jeg tænder.
Du kan lodde de ovennævnte kredsløb på et Perf-kort eller blot bruge et brødbræt. Jeg har brugt kvindelige / mandlige bergstænger, så jeg kan undgå lodning på modulerne. Når dette er gjort, skal dit bord se ud som nedenfor
Oprettelse af en API til at sende e-mail ved hjælp af IFTTT:
Når hardwaren er klar, kan du oprette en API (Application Program Interface), der kan sende e-mail til et bestemt e-mail-id. Dette kan let gøres ved hjælp af et websted kaldet IFTTT.com. Jeg har også dækket et projekt, der kunne sende SMS ved hjælp af ESP8266 og e-mail ved hjælp af PIC Microcontroller, der bruger de samme IFTTT-tjenester.
Hvis du endnu ikke har brugt IFTTT, skal du besøge videoen i slutningen af denne vejledning, hvis du er bekendt, skal du blot følge nedenstående trin
1. Log ind på din IFTTT-konto
2. Søg efter "Maker Web hooks" og klik på connect
3. Søg nu efter "Gmail", og klik på Opret forbindelse, og følg trinene for at give adgang
4. Opret derefter en applet ved at klikke på Min applet-> Ny applet.
5. Her er "Denne" -funktionen til web-makerhooks-tjenesten, og "den" -funktionen er Gmail-tjenester
6. Klik så på "Dette", søg og vælg Web maker-kroge. Det vil bede om begivenhedsnavn, jeg har navngivet min begivenhed som “123”, du kan navngive din noget
7. Klik derefter på "That", søg og vælg Gmail, og indtast emnets emne og brødtekst.
8. Når alle de krævede detaljer er indtastet, skal din Apple være klar, og den skal se sådan ud nedenfor
9. Søg nu og gå ind i Web Maker Hooks igen og klik på "Dokumentation". Indtast derefter begivenhedsnavnet under begivenhedsnavnet, vi brugte i appleten. I mit tilfælde er det "123" og kopier URL'en, da vi har brug for det i vores Arduino-program. URL'en kunne lide noget som dette nedenfor.
10.Du kan klikke på “Test det” -knappen for at kontrollere, om dit link fungerer korrekt, og du skulle have fået en testmail ved at gøre det.
Arduino-program
Arduino-programmet til dette projekt er enkelt og let. Vi er simpelthen nødt til at få ESP til at fungere som AP og STA. Opret derefter en webside ved hjælp af HTML-kode, hvor vi kan tilkoble / frakoble alarmsystemet. Den komplette kode gives i slutningen af denne vejledning. Koden forklares også ved hjælp af kommentarlinjer. Yderligere forklares de vigtige linjer nedenfor.
const char * ssid = "BPAS hjem"; // Indtast dit Wifi SSID her const char * password = "cracksen"; // Indtast din adgangskode her
I ovenstående kodelinje skal du ændre SSID-navnet og adgangskoden til dine routere SSID-navn og dets tilsvarende adgangskode.
Hvis du vil finde ud af, hvilken IP din ESP8266 er tilsluttet, kan du finde ud af det ved at åbne den serielle skærm følgende linjer med kode udskriver din IP på Arduino IDE seriel skærm.
Serial.println (""); Serial.print ("Forbundet til"); Serial.println (ssid); Serial.print ("IP-adresse:"); Serial.println (WiFi.localIP ()); // Seriel skærm giver IP-tilføjelserne til dit ESP-modul
HTML-koden, der er ansvarlig for oprettelse af en webside, er angivet nedenfor. Du kan tilpasse din webside med din egen kode. Jeg har ændret feedback-delen for at anerkende brugeren, hvis siden blev indlæst med succes.
// HTML-kode til webside // mainPage + = "
IOT-baseret sikkerhedssystem
-CircuitDigest
Alarmstatus:
"; feedback ="Klik på ARM for at aktivere sikkerhedssystemet
"; // Slut på HTML-kode //Nedenstående kodelinjer bestemmer, hvad der skal gøres, når alarmen er tilkoblet eller frakoblet. I mit program har jeg ændret feedback-delen af HTML-koden og lavet GPIO 2-pin HIGH / LOW baseret på knappen som vist nedenfor
server.on ("/ switch2On", () {feedback = "
Alarmen er i gang
"; // HTML-kodeændring currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, HIGH); // Tænd PIR- og Voice-modul power_module = true; delay (1000);}); server.on ("/ switch2Off", () {feedback = "Alarmen er nede
"; // HTML-kodeændring currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, LOW); // Sluk for PIT og Voice Module power_module = falsk; forsinkelse (1000);});En anden vigtig linje, der skal ændres for at systemet fungerer korrekt, er URL-strenglinjen. Du indsætter linjen (efter ”/ trigger”), som du kopierede fra IFTTT-webstedet her. Jeg har vist min nedenfor, men brug ikke min API-nøgle, brug din egen her
String url = "/ trigger / 123 / with / key / mDsoOV_EERS3xRfrh3_UQBhbcx0qlRHns-z2qXXXXX"; // Skal ændre det til din API-URL
Resten af koden er selvforklarende. Hvis du er i tvivl, kan du bruge kommentarsektionen, så hjælper jeg dig.
Arbejder
Når du er klar med hardware og koder, kan du uploade programmet til dit ESP8266-modul ved hjælp af et FTDI-kort. HVIS du ikke er sikker på, hvordan du uploader programmer til ESP8266 ved hjælp af Arduino IDE, skal du besøge denne vejledning.
Efter uploaden af programmet skal du klikke på seriel skærm og du skal se noget som dette nedenfor. Hvis ikke nulstill dit ESP8266-modul, og prøv igen
Her kan du også notere den IP-adresse, der er tildelt dit ESP8266-modul. Derefter kan du bruge IP'en til at indlæse websiden på din browser og aktivere / deaktivere dit IoT-sikkerhedssystem derfra som vist på nedenstående billede.
Når du har bekræftet alle disse, kan du nu overføre din ESP8266 til Perf-kortet og tænde den og derefter kortslutte kontakten som vist i videoen.
Efter tænding kan du bruge IP'en til at komme ind på ovenstående webside og aktivere Securtiy-systemet. Når du har aktiveret, skal du vente i 50-60 sekunder, indtil PIR-sensoren er kalibreret.
Nu er dit projekt klar til handling, du kan lade det være på et sted, du ønsker, og hvis nogen krydser dette sted og falder inden for rækkevidden af PIR-sensor, udløses en talebesked, og en e-mail sendes til din e-mail ID med den dato og det tidspunkt, han / hun krydsede. E-mailen vises nedenfor.
Så det er det.. Jeg håber, du kunne lide projektet og vil nyde at lave dit eget. Den komplette bearbejdning af projektet vises i videoen nedenfor. Hvis du er i tvivl eller forslag, kan du skrive dem i kommentarfeltet nedenfor, og jeg vil svare så meget som muligt.