- Nødvendige materialer:
- Moduler Forklaring:
- Skjematisk og maskinvare
- Opprette et API for å sende e-post ved hjelp av IFTTT:
- Arduino-programmet
- -CircuitDigest
- Jobber
Dette er et annet interessant IOT-prosjekt der vi skal bygge et sikkerhetssystem som kan utløse en e-post når den oppdager noen. Dette prosjektet har blandet kraften til ESP8266, PIR-sensor og ISD1820 Voice-modul. På slutten av denne artikkelen ville du ha bygget et fullt funksjonelt sikkerhetssystem som kan aktiveres / deaktiveres (aktiveres / deaktiveres) eksternt via internett. Du kan ta opp ditt eget lydklipp som spilles av når en bevegelse oppdages, og også sende en e-post med dato og klokkeslett til en bestemt e-post-ID med angivelse av innbruddet. Kult nok….. !!! ??
Så la oss bygge den..
Nødvendige materialer:
Materialene som kreves for å bygge dette prosjektet er listet opp nedenfor
- ESP8266
- PIR-sensor
- ISD1820 talemodul
- LM317, LM7805
- BC547 (2Nos)
- 1K, 200ohm, 330ohm motstand
- Kondensatorer på 10uf og 0.1uf
- 12V adapter / 9V batteri for å drive oppsettet
Moduler Forklaring:
Prosjektet inneholder tre viktige komponenter som er ESP8266-modulen, PIR-sensoren og ISD1820 talemodulen. Hvis du er kjent med disse modulene, kan du hoppe over denne delen ved å gå videre til skjemaene, men hvis du vil vite hvordan de fungerer, les videre.
ESP8266-modul:
Jeg er sikker på at du hadde kommet over denne modulen en eller annen gang. Det er en veldig kjent og kraftig WiFi-modul som mest brukes i IOT-prosjekter.
Dette prosjektet forutsetter at du vet hvordan du programmerer en ESP8266-modul, hvis ikke vennligst besøk de to veiledningene nedenfor, hvor jeg har forklart deg hvordan du kommer i gang med ESP8266 og hvordan du kan programmere en ved hjelp av Arduino IDE. Du må vite dette for å fullføre prosjektet.
- Komme i gang med ESP8266
- Programmering ESP8266 ved hjelp av Arduino IDE
PIR-sensor:
PIR-sensoren står for passiv infrarød sensor. Det er en lavprissensor som kan oppdage tilstedeværelsen av mennesker eller dyr. Det er to viktige materialer tilstede i sensoren, det ene er det pyroelektriske krystallet som kan oppdage varmesignaturene fra en levende organisme (mennesker / dyr) og det andre er Fresnel-linser som kan utvide sensorens rekkevidde. Også PIR-sensormodulene gir oss noen alternativer for å justere sensorens funksjon som vist på bildet nedenfor.
De to potensiometrene (oransje farge) brukes til å kontrollere følsomheten og utløseren i tide til sensoren. I utgangspunktet er sensorens Dout-pinne mellom Vcc og GND-pinnene. Modulen fungerer på 3,3V, men kan også drives med 5V. Øverst i venstre hjørne har den også en trigger pin setup som kan brukes til å få modulen til å fungere i to forskjellige moduser. Den ene er “H” -modus og den andre er “I” -modus.
I “H” -modus vil utgangsstiftet Dout bli høyt (3,3 V) når en person blir oppdaget innen rekkevidde og blir lav etter en bestemt tid (tiden er satt av potensiometer). I denne modusen vil utgangspinnen gå høyt uavhengig av om personen fremdeles er til stede innenfor området eller har forlatt området. Vi bruker modulen vår i “H” -modus i prosjektet vårt.
I “I” -modus vil utgangsstiften Dout bli høy (3,3 V) når en person blir oppdaget innen rekkevidde og vil holde seg høy så lenge han / hun holder seg innenfor grensen for sensorområdet. Når personen har forlatt området, vil pinnen bli lav etter den bestemte tiden som kan stilles inn med potensiometeret.
Merk: Posisjonen til potensiometre eller pinner kan variere avhengig av leverandøren av PIR-sensoren. Følg Silk-skjermen for å finne ut hvilke pinouts du har
ISD1820 Stemmemodul:
ISD 1820 Voice-modulen er virkelig en kul modul som kan krydre prosjektene dine med talemeldinger. Denne modulen er i stand til å ta opp et lydklipp i 10 sekunder og deretter spille det når det er nødvendig. Selve modulen kommer med en mikrofon og en høyttaler (8ohms 0,5 watt), og den skal se ut som dette vist nedenfor.
Modulen fungerer på + 5V og kan drives med bergpinner til venstre. Den har også tre knapper nederst som er Rec. knappen, PlayE. knappen og PlayL. knappen henholdsvis. Du kan spille inn stemmen din ved å trykke på Rec. og spill den med PlayE-knappen. PlayL vil spille stemmen så lenge du holder knappen. Ved grensesnitt med en MCU eller ESP kan vi bruke pinnene til venstre. Disse pinnene er 3V-5V tolerable og kan derfor drives direkte av Arduino / ESP8266. I prosjektet vårt styrer vi PLAYE-pinnen ved hjelp av GPIO 0-pinnen på ESP8266-modulen. Slik at vi kan spille av den innspilte stemmen når en inntrenger blir oppdaget.
Skjematisk og maskinvare
Det fullstendige skjemaet for dette IoT-sikkerhetssystemprosjektet er vist nedenfor:
Kretsen består av to spenningsregulatorer. Den ene er en 3.3V regulator designet med LM317, og den andre er en 5V regulator utført med 7805 Regulator IC. LM317 er en regulator med variabel spenning hvis utgang er satt til 3,3V ved å bruke motstandene 200ohm og 330ohm. Begge regulatorene får strøm fra en 12V adapter. Strømforbruket til denne kretsen er veldig minimalt, derfor kan et 9V batteri også brukes i stedet for en 12V adapter.
PIR-sensoren og stemmemodulen slås på ved å gjøre GPIO 2-pinnen høy. Denne pinnen vil kjøre BC547 gjennom en 1k strømbegrensende motstand og fullføre strømkretsen for begge modulene. Pinnen GPIO_0 brukes som en inngangspinne. Den er koblet til Dout-pinnen til PIR-sensoren grundig en BC547-transistor. Når denne nålen går høyt, vil vi utløse en e-post som sier innbrudd gjennom vårt Arduino-program.
Kildestrømmen til utgangspinnene (Dout, GPIO_2 og GPIO2) er veldig mindre, derfor har jeg brukt en transistor til å drive dem. Også GPIO-pinnene til ESP8266 må ikke lastes når modulen er slått på, ellers vil modulen gå inn i en uendelig reset-sløyfe. For å unngå dette har jeg plassert to brytere for å koble dem midlertidig fra mens du slår på.
Du kan lodde de ovennevnte kretsene til et Perf-kort eller bare bruke et brødbrett. Jeg har brukt kvinnelige / mannlige bergpinner slik at jeg kan unngå lodding på modulene. Når du er ferdig, skal styret ditt se ut som nedenfor
Opprette et API for å sende e-post ved hjelp av IFTTT:
Når maskinvaren er klar kan vi opprette et API (Application Program Interface) som kan sende e-post til en bestemt e-post-ID. Dette kan enkelt gjøres ved hjelp av et nettsted som heter IFTTT.com. Jeg har også dekket et prosjekt som kan sende SMS ved hjelp av ESP8266 og e-post ved hjelp av PIC Microcontroller som bruker de samme IFTTT-tjenestene.
Hvis du ennå ikke har brukt IFTTT, besøk videoen på slutten av denne opplæringen, hvis du er kjent, følg bare trinnene nedenfor
1. Logg deg på IFTTT-kontoen din
2. Søk etter “Maker Web hooks” og klikk på connect
3. Nå søker du etter “Gmail” og klikker på koble til og følg trinnene for å gi tilgang
4. Opprett deretter en applet ved å klikke på Min applet-> Ny applet.
5. Her vil "Denne" -funksjonen være for nettverkstjeneste og "den" -funksjonen er Gmail-tjenester
6. Så klikk på "Dette", søk og velg kroker på nettprodusenten. Det vil be om hendelsesnavn jeg har kalt arrangementet mitt som “123”, du kan gi navnet ditt hva som helst
7. Klikk deretter på "That", søk og velg Gmail og skriv inn emnet og brødteksten til e-posten.
8. Når alle nødvendige detaljer er skrevet inn, skal Apple være klart, og det skal se ut som dette nedenfor
9. Nå, søk og gå inn i Web Maker Hooks igjen og klikk på "Dokumentasjon". Skriv deretter inn hendelsesnavnet vi brukte i appleten under hendelsesnavnet. I mitt tilfelle er det "123" og kopier nettadressen siden vi trenger det i vårt Arduino-program. URL-en skal like noe slikt nedenfor.
10. Du kan klikke på "Test det" -knappen for å sjekke om du lenker, og du burde ha fått en testpost ved å gjøre det.
Arduino-programmet
Arduino-programmet for dette prosjektet er enkelt og enkelt. Vi må bare få ESP til å fungere som AP og STA. Opprett deretter en webside ved hjelp av HTML-kode der vi kan ARME / FRAKOBLE alarmsystemet. Den komplette koden er gitt på slutten av denne veiledningen. Koden forklares også ved hjelp av kommentarlinjer. Videre er de viktige linjene forklart nedenfor.
const char * ssid = "BPAS home"; // Skriv inn Wifi SSID her const char * password = "cracksen"; // Skriv inn passordet ditt her
I den ovennevnte kodelinjen endrer du SSID-navnet og passordet til ruterenes SSID-navn og tilhørende passord.
Hvis du vil finne hvilken IP din ESP8266 er koblet til, kan du finne ut av det ved å åpne seriell skjerm, følgende kodelinjer vil skrive ut IP-en din på Arduino IDE seriell skjerm.
Serial.println (""); Serial.print ("Connected to"); Serial.println (ssid); Serial.print ("IP-adresse:"); Serial.println (WiFi.localIP ()); // Seriell skjerm vil gi IP-tillegg til ESP-modulen din
HTML-koden som er ansvarlig for å lage en webside er gitt nedenfor. Du kan tilpasse websiden din med din egen kode. Jeg har endret tilbakemeldingsdelen for å bekrefte brukeren hvis siden ble lastet inn.
// HTML-kode for webside // mainPage + = "
IOT-basert sikkerhetssystem
-CircuitDigest
Alarmstatus:
"; tilbakemelding ="Klikk på ARM for å aktivere sikkerhetssystemet
"; // Slutt på HTML-kode //Kodelinjene nedenfor bestemmer hva som skal gjøres når alarmen er aktivert eller frakoblet. I programmet mitt har jeg endret tilbakemeldingsdelen av HTML-koden og laget GPIO 2-pinnen HIGH / LOW basert på knappen som vist nedenfor
server.on ("/ switch2On", () {feedback = "
Alarmen er i gang
"; // HTML-kodemodifisering currentPage = mainPage + tilbakemelding; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, HIGH); // Slå på PIR og Voice module power_module = true; delay (1000);}); server.on ("/ switch2Off", () {feedback = "Alarmen er nede
"; // HTML-kodendring currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, LOW); // Slå av PIT og Voice Module power_module = usann; forsinkelse (1000);});En annen viktig linje som må endres for at systemet skal fungere skikkelig er URL-strenglinjen. Du limer inn linjen (etter ”/ trigger”) som du kopierte fra IFTTT-nettstedet her. Jeg har vist min nedenfor, men ikke bruk min API-nøkkel, bruk din egen her
String url = "/ trigger / 123 / with / key / mDsoOV_EERS3xRfrh3_UQBhbcx0qlRHns-z2qXXXXX"; // Må endre det til API-URL-en
Resten av koden er selvforklarende. Hvis du er i tvil, kan du bruke kommentarseksjonen, så hjelper jeg deg.
Jobber
Når du er klar med maskinvaren og kodene, kan du laste opp programmet til ESP8266-modulen din ved å bruke et FTDI-kort. HVIS du ikke er sikker på hvordan du laster opp programmer til ESP8266 ved hjelp av Arduino IDE, kan du gå til denne veiledningen.
Etter at du har lastet opp programmet, klikker du på seriell skjerm, og du bør se noe slikt nedenfor. Hvis ikke tilbakestiller du ESP8266-modulen og prøver på nytt
Her kan du også notere IP-adressen som er tildelt din ESP8266-modul. Deretter kan du bruke IP-en til å laste opp nettsiden på nettleseren din og frakoble / deaktivere IoT-sikkerhetssystemet derfra, som vist på bildet nedenfor.
Når du har bekreftet alle disse, kan du nå overføre ESP8266 til Perf-kortet og slå den på og deretter kortslutte bryterne som vist i videoen.
Etter at du har slått på, kan du bruke IP-en til å komme inn på ovennevnte webside og aktivere Securtiy-systemet. Etter at du har slått på vent 50-60 sekunder til PIR-sensoren har kalibrert.
Nå er prosjektet klart for handling, du kan la det være på et sted du ønsker, og hvis noen krysser det stedet og faller innenfor rekkevidden til PIR-sensoren, vil en talemelding bli utløst og en e-post vil bli sendt til din e-post ID med dato og klokkeslett han / hun krysset. E-posten er vist nedenfor.
Så det er det.. Jeg håper du likte prosjektet og vil like å lage ditt eget. Fullstendig bearbeiding av prosjektet er vist i videoen nedenfor. Hvis du er i tvil eller forslag, kan du skrive dem i kommentarfeltet nedenfor, og jeg vil svare så mye som mulig.