- Komponenter, der kræves
- Kredsløbsdiagram
- IFTTT-opsætning til Wi-Fi-dørklokke
- Kode Forklaring
- 3D-trykt kabinet til smart Wi-Fi dørklokke
- Test af Smart Wi-Fi-dørklokken
I dag er sikkerhedssystem et af de mest efterforskede felter, og med stigende sikkerhedstrusler lancerer virksomheder nye smarte sikkerhedsprodukter for at bekæmpe disse trusler. IoT er en ekstra fordel i dette felt, som automatisk kan udløse en begivenhed, som at ringe til politiet, brandvæsenet eller din nabo i tilfælde af en nødsituation. Vi har tidligere bygget mange sikkerhedssystemer som Raspberry Pi Visitor-overvågningssystem, videoovervågningskamera, trådløs dørklokke, IoT-baseret dørsikkerhedsalarm osv. I dag bruger vi ESP32 og kamera til at bygge en Smart Wi-Fi-dørklokke.
I en anden tutorial har vi lært om ESP32-CAM og hvordan man bruger det til videostreaming, nu laver vi en Smart Wi-Fi Video Doorbell ved hjælp af ESP32-CAM. Denne smarte dørklokke kan let drives af en stikkontakt, og når nogen ved døren trykker på dørklokkens knap, afspiller den en bestemt sang på din telefon og sender en tekstbesked med et link til videostreaming-siden, hvor du kan se personen på døren fra hvor som helst i verden.
Komponenter, der kræves
- ESP32-CAM
- FTDI Programming Board
- 220V AC til 5V DC Converter
- Summer
- Trykknap
- LED (2)
Kredsløbsdiagram
Kredsløbsdiagram for denne Smart Wi-Fi-dørklokke er meget enkel, tilslut bare to lysdioder, en trykknap og en summer til ESP32 GPIO-ben. En summer bruges til at afgive en lyd, når der trykkes på knappen. Én LED bruges til at indikere strømstatus, og den anden LED bruges til at indikere netværksstatus. Netværks-LED vil være i høj tilstand, hvis ESP er forbundet til et netværk, ellers vil den blinke.
Sådan ser opsætningen af Wi-Fi-videodørklokke ud i 3D-trykt kabinet:
IFTTT-opsætning til Wi-Fi-dørklokke
IFTTT er en gratis webbaseret tjeneste, der giver brugerne mulighed for at oprette kæder af enkle betingede udsagn, kaldet "opskrifter", der udløses baseret på ændringer til andre webtjenester som Gmail, Facebook, Instagram og. IFTTT er en forkortelse af "If This Then That".
I dette projekt bruges IFTTT til at sende en e-mail, når temperaturen eller fugtigheden går ud over en foruddefineret grænse. Vi har tidligere brugt IFTTT i mange IoT-baserede projekter til at sende e-mails eller SMS om bestemte begivenheder som for overdreven elforbrug, ved høj puls, ved indtrængen osv.
Log ind på IFTTT med dine legitimationsoplysninger, eller tilmeld dig, hvis du ikke har en konto på det.
Søg nu efter 'Webhooks', og klik på Webhooks i sektionen Services.
Klik nu på vinduet Webhooks på 'Dokumentation' i øverste højre hjørne for at hente den private nøgle.
Kopier denne nøgle. Det vil blive brugt i programmet.
Efter at have fået den private nøgle opretter vi nu en applet ved hjælp af Webhooks og e-mail-tjenester. For at oprette en applet skal du klikke på din profil og derefter klikke på ' Opret. ''
Klik nu på ikonet 'Dette' i det næste vindue.
Søg nu efter Webhooks i søgesektionen, og klik på ' Webhooks. ''
Vælg nu ' Modtag en webanmodning ' udløser, og i det næste vindue skal du indtaste begivenhedsnavnet som knappen_trykt og derefter klikke på Opret en udløser.
For at færdiggøre appleten skal du klikke på 'That' for at oprette en reaktion for knappen_presset begivenhed.
Her spiller vi en bestemt sang på telefonen, når der trykkes på IoT-dørklokkeknappen. For den søgning efter 'Android-enhed' i søgesektionen.
Vælg nu på Android-enhed udløseren ' Afspil en bestemt sang' .
Indtast nu den sangtitel, du vil afspille, når der trykkes på dørklokken. I mit tilfælde spiller jeg en sang ved navn '123' fra min Google-afspilning af musik. Du kan også bruge Spotify eller andre musikapps.
Klik derefter på ' Opret handling' og derefter 'Udfør' for at afslutte processen.
Opret nu en anden applet for at sende en besked med websideslinket til telefonen, når der trykkes på dørklokken.
Så for at oprette denne applet skal du vælge ' Webhooks ' i ' denne ' sektion og i 'den' sektion vælge ' Android SMS .'
Nu vil den bede om at indtaste telefonnummeret og meddelelsesteksten. Til dette Wi-Fi-dørklokkeprojekt sender vi en besked med webserverlinket, så du kan se live-videostreaming direkte.
Kode Forklaring
Komplet kode sammen med videoen til dette Wi-Fi dørklokke kamera er angivet i slutningen af dette dokument. Det kan også downloades herfra. Nedenfor forklarer vi nogle vigtige dele af koden.
Først skal du medtage alle de nødvendige biblioteksfiler til denne kode.
#include "esp_camera.h" #include
Så Indtast Wi-Fi-legitimationsoplysninger.
const char * ssid = "Wi-Fi navn"; const char * password = "Wi-Fi-adgangskode";
Derefter skal du indtaste IFTTT-værtsnavnet og den private nøgle, som du kopierede fra IFTTT-webstedet.
const char * host = "maker.ifttt.com"; const char * privateKey = "Din private nøgle";
Definer alle de ben, du bruger i dette projekt. Jeg bruger GPIO 2, 14 og 15 ben til at forbinde trykknap, LED og summer.
const int buttonPin = 2; const int led1 = 14; const int summer = 15;
Inde i tomrumsopsætningsløkken skal du definere knapstiften som input og LED og summerstifter som output.
ugyldig opsætning () {pinMode (buttonPin, INPUT); pinMode (led1, OUTPUT); pinMode (summer, OUTPUT);
Det vil forsøge at oprette forbindelse til Wi-Fi ved hjælp af de givne legitimationsoplysninger, og når den er forbundet til et netværk, ændres LED-tilstand fra lav til høj.
WiFi.begin (ssid, password); int ledet = LAV; mens (WiFi.status ()! = WL_CONNECTED) {forsinkelse (500); Serial.print ("."); digitalWrite (led1, led); førte =! førte; } Serial.println (""); Serial.println ("WiFi-tilsluttet"); digitalWrite (led1, HIGH);
Mens den er afbrudt fra et netværk, genstartes ESP32, indtil den opretter forbindelse til et netværk.
mens (WiFi.status () == WL_DISCONNECTED) {ESP.restart (); digitalWrite (led1, LOW); Serial.print ("Forbindelse mistet");
ESP32 læser knaptilstanden, og hvis knappen er i LAV tilstand (trukket højt), dvs. at der er trykket på en knap, sender den begivenheden og tænder summeren i 3 sekunder.
int læsning = digitalRead (buttonPin); hvis (buttonState == LOW) {send_event ("button_pressed"); Serial.print ("knap trykket"); digitalWrite (summer, HIGH); forsinkelse (3000); digitalWrite (summer, LAV);
3D-trykt kabinet til smart Wi-Fi dørklokke
Her designet jeg et 3D-trykt kabinet til dette trådløse dørklokkekamera. Til det målte jeg dimensionerne på ESP32-kortet, Pushbutton, Buzzer og LED ved hjælp af min vernierkaliper, og designet så noget ud som dette nedenfor, når det først var gjort.
Derefter eksporterede jeg den som en STL-fil, skar den ud på baggrund af printerindstillingerne og til sidst udskrev den. STL-filen kan downloades fra Thingiverse, og du kan udskrive dit eget kabinet ved hjælp af det.
Efter udskrivning af sagen samlede jeg kredsløbet i mit kabinet, og alt passede godt, som du kan se her.
Hvis du vil vide mere om en 3D-printer, og hvordan den fungerer, kan du læse denne artikel om Begyndervejledning til Kom godt i gang med 3D-udskrivning og kan også kontrollere vores andre projekter, hvor vi brugte 3D-trykte kapper som Biped Robot, Robotic Arm osv.
Test af Smart Wi-Fi-dørklokken
Når du har samlet kredsløbet, skal du tænde dørklokken ved hjælp af en vekselstrømsstik. Nu når der trykkes på IoT-dørklokkeknappen, begynder smarttelefonen at afspille en sang med navnet '123', og der modtages en besked med et link på en webside som vist nedenfor, hvor live-video-feedet kan ses.
Komplet kode og arbejdsvideo til denne Smart Wi-Fi dørklokke kan findes i slutningen af dokumentet, eller du kan downloade koden herfra. Hvis du har spørgsmål vedrørende dette projekt, skal du lade dem være i kommentarsektionen.