- Komponenter kreves
- Kretsdiagram
- IFTTT Setup for Wi-Fi Doorbell
- Kode Forklaring
- 3D-trykt deksel for smart Wi-Fi-dørklokke
- Testing av Smart Wi-Fi-dørklokken
I dag er sikkerhetssystem et av de mest undersøkte feltene, og med økende sikkerhetstrusler lanserer selskaper nye smarte sikkerhetsprodukter for å bekjempe disse truslene. IoT er en ekstra fordel i dette feltet som automatisk kan utløse en hendelse, som å ringe politiet, brannvesenet eller naboen din, i en nødsituasjon. Vi har tidligere bygget mange sikkerhetssystemer som Raspberry Pi Visitor-overvåkingssystem, videoovervåkingskamera, trådløs dørklokke, IoT-basert dørsikkerhetsalarm etc. I dag skal vi bruke ESP32 og kamera til å bygge en smart Wi-Fi-dørklokke.
I en annen opplæring har vi lært om ESP32-CAM og hvordan du bruker den til videostreaming, nå skal vi lage en Smart Wi-Fi Video Doorbell ved hjelp av ESP32-CAM. Denne smarte dørklokken kan enkelt drives av en stikkontakt, og når noen på døren trykker på dørklokkeknappen, vil den spille en bestemt sang på telefonen din og sende en tekstmelding med en lenke til en videostreaming-side der du kan se personen på døren fra hvor som helst i verden.
Komponenter kreves
- ESP32-CAM
- FTDI Programming Board
- 220V AC til 5V DC Converter
- Summer
- Trykknapp
- LED (2)
Kretsdiagram
Kretsskjema for denne Smart Wi-Fi-dørklokken er veldig enkel, bare koble to lysdioder, en trykknapp og en summer til ESP32 GPIO-pinner. En summer brukes til å lage en lyd når du trykker på knappen. Én LED brukes til å indikere strømstatus, og den andre LED brukes til å indikere nettverksstatus. Network LED vil være i høy tilstand hvis ESP er koblet til et nettverk ellers, vil den blinke.
Slik ser oppsett for Wi-Fi-videodørklokke ut i 3D-trykt foringsrør:
IFTTT Setup for Wi-Fi Doorbell
IFTTT er en gratis nettbasert tjeneste som lar brukerne lage kjeder med enkle betingede utsagn, kalt "oppskrifter", som utløses basert på endringer i andre webtjenester som Gmail, Facebook, Instagram og. IFTTT er en forkortelse av "If This Then That".
I dette prosjektet brukes IFTTT til å sende en e-post når temperaturen eller fuktigheten går utover en forhåndsdefinert grense. Vi brukte tidligere IFTTT i mange IoT-baserte prosjekter for å sende e-post eller SMS om spesielle hendelser som for mye strømforbruk, ved høy puls, ved inntrenger, etc.
Logg deg først på IFTTT med påloggingsinformasjonen eller Registrer deg hvis du ikke har en konto på den.
Søk nå etter 'Webhooks' og klikk på Webhooks i Services-delen.
Nå, i Webhooks-vinduet, klikker du på 'Dokumentasjon' øverst til høyre for å hente den private nøkkelen.
Kopier denne nøkkelen. Den vil bli brukt i programmet.
Etter å ha fått den private nøkkelen, vil vi nå opprette en applet ved hjelp av Webhooks og e-posttjenester. For å opprette en applet, klikk på profilen din og klikk deretter på ' Create. '
Nå, i neste vindu, klikker du på 'Dette' -ikonet.
Nå søker du etter Webhooks i søkseksjonen og klikker på ' Webhooks. '
Velg nå ' Motta en webforespørsel ' -utløser, og skriv inn hendelsesnavnet i neste vindu som knappen_trykkes, og klikk deretter på opprett en utløser.
Nå for å fullføre appleten, klikk på 'That' for å lage en reaksjon for knappen_presset hendelse.
Her vil vi spille en bestemt sang på telefonen når du trykker på IoT-dørklokkeknappen. For det søket etter 'Android-enhet' i søkseksjonen.
Nå på Android-enhet velger du ' Spill av en bestemt sang' -utløser.
Angi nå sangtittelen du vil spille når du trykker på dørklokkeknappen. I mitt tilfelle spiller jeg en sang med navnet '123' fra min Google-musikk. Du kan også bruke Spotify eller andre musikkapper.
Deretter klikker du på ' Opprett handling' og deretter 'Fullfør' for å fullføre prosessen.
Opprett nå en ny applet for å sende en melding med websidekoblingen til telefonen når du trykker på dørklokkeknappen.
Så for å opprette denne appleten, velg ' Webhooks ' i ' denne ' delen og i 'den' delen velger du ' Android SMS .'
Nå vil den be om å oppgi telefonnummer og meldingstekst. For dette Wi-Fi-dørklokkeprosjektet sender vi en melding med Webserver-lenken slik at du kan se direktesendingen av live video.
Kode Forklaring
Komplett kode sammen med videoen til dette Wi-Fi-dørklokkekameraet er gitt på slutten av dette dokumentet. Den kan også lastes ned herfra. Nedenfor forklarer vi noen viktige deler av koden.
Først må du inkludere alle nødvendige bibliotekfiler for denne koden.
# inkluderer "esp_camera.h" # inkluderer
Skriv deretter inn Wi-Fi-legitimasjonen.
const char * ssid = "Wi-Fi-navn"; const char * password = "Wi-Fi Password";
Deretter skriver du inn IFTTT-vertsnavnet og den private nøkkelen du kopierte fra IFTTT-nettstedet.
const char * host = "maker.ifttt.com"; const char * privateKey = "Din private nøkkel";
Definer alle pinnene du bruker i dette prosjektet. Jeg bruker GPIO 2, 14 og 15 pinner for å koble til trykknapp, LED og summer.
const int buttonPin = 2; const int led1 = 14; const int summer = 15;
Inne i tomrumsoppsettsløyfen , definer knappepinnen som inngang og LED og summerpinner som utgang.
ugyldig oppsett () {pinMode (buttonPin, INPUT); pinMode (led1, OUTPUT); pinMode (summer, UTGANG);
Den vil prøve å koble til Wi-Fi ved hjelp av de gitte legitimasjonene, og når den er koblet til et nettverk, vil LED-tilstand endres fra lav til høy.
WiFi.begin (ssid, passord); int ledet = LAV; mens (WiFi.status ()! = WL_CONNECTED) {forsinkelse (500); Serial.print ("."); digitalWrite (led1, ledet); ledet =! ledet; } Serial.println (""); Serial.println ("WiFi-tilkoblet"); digitalWrite (led1, HIGH);
Mens du er koblet fra et nettverk, starter ESP32 på nytt til den kobles til et nettverk.
mens (WiFi.status () == WL_DISCONNECTED) {ESP.start (); digitalWrite (led1, LOW); Serial.print ("Mistet forbindelse");
ESP32 vil lese knappetilstanden, og hvis knappen er i LAV tilstand (trukket høyt), dvs. at en knapp er trykket, sender den hendelsen og slår på summeren i 3 sekunder.
int-lesing = digitalRead (buttonPin); hvis (buttonState == LOW) {send_event ("button_pressed"); Serial.print ("trykk på knappen"); digitalWrite (summer, HØY); forsinkelse (3000); digitalWrite (summer, LAV);
3D-trykt deksel for smart Wi-Fi-dørklokke
Her designet jeg et 3D-trykt deksel for dette trådløse dørklokkekameraet. For det målte jeg dimensjonene på ESP32-kortet, trykknappen, summeren og LED-en ved hjelp av vernier-tykkelsen min, og designet så omtrent slik ut nedenfor når det var gjort.
Etter det eksporterte jeg den som en STL-fil, skiver den ut basert på skriverinnstillinger, og til slutt skrev den ut. STL-filen er tilgjengelig for nedlasting fra Thingiverse, og du kan skrive ut din egen foring ved hjelp av den.
Etter å ha skrevet ut saken, monterte jeg kretsen i huset, og alt passet bra, som du kan se her.
Hvis du vil vite mer om en 3D-skriver og hvordan den fungerer, kan du lese denne artikkelen i Nybegynnerguide for å komme i gang med 3D-utskrift, og du kan også sjekke de andre prosjektene våre der vi brukte 3D-trykte hylster som Biped Robot, Robotic Arm, etc.
Testing av Smart Wi-Fi-dørklokken
Etter at du har satt sammen kretsen, må du slå på døren ved å bruke en stikkontakt. Nå når du trykker på IoT-dørklokkeknappen, begynner smarttelefonen å spille en sang med navnet '123', og en melding vil mottas med en lenke på en webside som vist nedenfor, der live video-feed kan sees.
Komplett kode og arbeidsvideo for denne Smart Wi-Fi-dørklokken finner du på slutten av dokumentet, eller du kan laste ned koden herfra. Hvis du har spørsmål angående dette prosjektet, kan du legge dem igjen i kommentarfeltet.