- Komponenter krävs
- Kretsschema
- IFTTT-inställning för Wi-Fi-dörrklocka
- Kodförklaring
- 3D-tryckt hölje för smart Wi-Fi-dörrklocka
- Testar Smart Wi-Fi-dörrklockan
Numera är säkerhetssystemet ett av de mest undersökta områdena och med ökande säkerhetshot lanserar företag nya smarta säkerhetsprodukter för att bekämpa dessa hot. IoT är en extra fördel i detta fält som automatiskt kan utlösa en händelse, som att ringa polisen, brandkåren eller din granne i händelse av nödsituationer. Vi har tidigare byggt många säkerhetssystem som Raspberry Pi Visitor-övervakningssystem, videoövervakningskamera, trådlös dörrklocka, IoT-baserat dörrsäkerhetslarm etc. Idag kommer vi att använda ESP32 och kamera för att bygga en smart Wi-Fi-dörrklocka.
I en annan handledning har vi lärt oss om ESP32-CAM och hur man använder den för videostreaming, nu ska vi skapa en Smart Wi-Fi-videodörrklocka med ESP32-CAM. Den här smarta dörrklockan kan enkelt drivas med ett nätuttag och när någon vid dörren trycker på dörrklockans knapp kommer den att spela en specifik låt på din telefon och skickar ett textmeddelande med en länk till videostreaming-sidan där du kan se personen på dörren var som helst i världen.
Komponenter krävs
- ESP32-CAM
- FTDI programmeringskort
- 220V AC till 5V DC Converter
- Summer
- Tryckknapp
- LED (2)
Kretsschema
Kretsschemat för den här smarta Wi-Fi-dörrklockan är mycket enkelt, anslut bara två lysdioder, en tryckknapp och en summer till ESP32 GPIO-stift. En summer används för att göra ett ljud när du trycker på knappen. En lysdiod används för att indikera strömstatus och den andra lysdioden används för att indikera nätverksstatus. Nätverkslampan kommer att vara i högt läge om ESP är ansluten till ett nätverk annars blinkar den.
Så här kommer installationen av Wi-Fi-videodörrklockan att se ut i 3D-tryckt hölje:
IFTTT-inställning för Wi-Fi-dörrklocka
IFTTT är en gratis webbaserad tjänst som gör det möjligt för användare att skapa kedjor med enkla villkorliga uttalanden, så kallade "recept", som utlöses baserat på ändringar av andra webbtjänster som Gmail, Facebook, Instagram och. IFTTT är en förkortning av "If This Then That".
I detta projekt används IFTTT för att skicka ett e-postmeddelande när temperaturen eller luftfuktigheten överskrider en fördefinierad gräns. Vi använde tidigare IFTTT i många IoT-baserade projekt för att skicka e-post eller SMS om särskilda händelser som vid överdriven elförbrukning, vid hög puls, vid inkräktare etc.
Första inloggning till IFTTT med dina referenser eller Registrera dig om du inte har ett konto på det.
Sök nu efter "Webhooks" och klicka på Webhooks i avsnittet Services.
Klicka nu på 'Dokumentation' i det övre högra hörnet i Webhooks-fönstret för att få den privata nyckeln.
Kopiera den här nyckeln. Den kommer att användas i programmet.
Efter att ha fått den privata nyckeln skapar vi nu en applet med hjälp av Webhooks och e-posttjänster. För att skapa en applet, klicka på din profil och klicka sedan på ' Skapa. ''
Klicka nu på ikonen "Detta" i nästa fönster.
Sök nu efter Webhooks i sökavsnittet och klicka på ' Webhooks. ''
Välj nu ' Ta emot en webbförfrågan' -utlösare och i nästa fönster anger du händelsens namn som knapptryckt och klickar sedan på skapa en utlösare.
Nu för att slutföra appleten, klicka på 'That' för att skapa en reaktion för knappen_pressad händelse.
Här spelar vi en specifik låt på telefonen när du trycker på IoT-dörrklockan. För den sökningen efter "Android-enhet" i sökavsnittet.
Nu på Android-enhet väljer du " Spela en specifik låt" -utlösare.
Nu anger låttitel som du vill spela när dörrklockan knappen trycks. I mitt fall spelar jag en låt som heter '123' från min Google-musik. Du kan också använda Spotify eller andra musikappar.
Klicka sedan på ' Skapa åtgärd' och sedan 'Slutför' för att slutföra processen.
Skapa nu en ny applet för att skicka ett meddelande med webbsidans länk till telefonen när du trycker på dörrklockans knapp.
Så för att skapa denna applet väljer du ' Webhooks ' i ' detta ' avsnitt och i 'det' avsnittet väljer du ' Android SMS .'
Nu kommer den att be att ange telefonnummer och meddelandetext. För detta Wi-Fi-dörrklockaprojekt skickar vi ett meddelande med webbserverlänken så att du kan se livestreaming direkt.
Kodförklaring
Komplett kod tillsammans med videon för denna Wi-Fi-dörrklockakamera ges i slutet av detta dokument. Det kan också laddas ner härifrån. Nedan förklarar vi några viktiga delar av koden.
Först omfattar alla nödvändiga biblioteksfiler för denna kod.
#include "esp_camera.h" #include
Sedan anger Wi-Fi-referenser.
const char * ssid = "Wi-Fi-namn"; const char * password = "Wi-Fi Password";
Därefter anger du IFTTT-värdnamnet och den privata nyckeln som du kopierade från IFTTT-webbplatsen.
const char * host = "maker.ifttt.com"; const char * privateKey = "Din privata nyckel";
Definiera alla stift som du använder i det här projektet. Jag använder GPIO 2, 14 och 15 stift för att ansluta tryckknappen, LED och summer.
const int buttonPin = 2; const int led1 = 14; const int summer = 15;
Inuti tomrumsinställningsslingan definierar du knappstiftet som ingång och LED och summernålar som utgång.
ogiltig installation () {pinMode (buttonPin, INPUT); pinMode (led1, OUTPUT); pinMode (summer, OUTPUT);
Det kommer att försöka ansluta till Wi-Fi med de angivna referenserna, och när den är ansluten till ett nätverk kommer LED-tillståndet att ändras från låg till hög.
WiFi.begin (ssid, lösenord); int led = LÅG; medan (WiFi.status ()! = WL_CONNECTED) {fördröjning (500); Serial.print ("."); digitalWrite (led1, led); ledde =! ledde; } Serial.println (""); Serial.println ("WiFi-ansluten"); digitalWrite (led1, HIGH);
Medan den är frånkopplad från ett nätverk startas ESP32 om tills den ansluts till ett nätverk.
medan (WiFi.status () == WL_DISCONNECTED) {ESP.start (); digitalWrite (led1, LOW); Serial.print ("Connection Lost");
ESP32 kommer att läsa av knapptillståndet, och om knappen är i LÅGT tillstånd (dras högt), dvs en knapp har tryckts, skickar den händelsen och slår på summern i 3 sekunder.
int-läsning = digitalRead (buttonPin); if (buttonState == LOW) {send_event ("button_pressed"); Serial.print ("knapptryckt"); digitalWrite (summer, HÖG); fördröjning (3000); digitalWrite (summer, LOW);
3D-tryckt hölje för smart Wi-Fi-dörrklocka
Här designade jag ett 3D-tryckt hölje för denna trådlösa dörrklockakamera. För det mätte jag dimensionerna på ESP32-kortet, tryckknappen, summern och lysdioden med min skjutmått och designen såg ut så här nedan när den var klar.
Efter det exporterade jag den som en STL-fil, skivade den utifrån skrivarinställningar och slutligen skrev ut den. STL-filen är tillgänglig för nedladdning från Thingiverse och du kan skriva ut din egen hölje med den.
Efter att ha skrivit ut fodralet monterade jag kretsen i mitt hölje och allt passade bra, som du kan se här.
Om du vill veta mer om en 3D-skrivare och hur den fungerar kan du läsa den här artikeln i Nybörjarhandbok för att komma igång med 3D-utskrift och kan också kontrollera våra andra projekt där vi använde 3D-tryckta höljen som Biped Robot, Robotic Arm, etc.
Testar Smart Wi-Fi-dörrklockan
När du har monterat kretsen ska du driva dörrklockan med ett nätuttag. Nu när du trycker på IoT-dörrklockan börjar smarttelefonen spela en låt som heter '123' och ett meddelande kommer att tas emot med en länk på en webbsida som visas nedan, där livevideofeeden kan ses.
Komplett kod och arbetsvideo för den här smarta Wi-Fi-dörrklockan finns i slutet av dokumentet eller så kan du ladda ner koden härifrån. Om du har några frågor angående detta projekt, lämna dem i kommentarsektionen.