instructables Superbillig säkerhetskamera med ESP32-cam Instruktionsmanual
Superbillig säkerhetskamera med ESP32-kamera
av Giovanni Aggiustatutto
Idag ska vi bygga denna videoövervakningskamera som bara kostar 5€, som en pizza eller en hamburgare. Den här kameran är ansluten till WiFi, så vi kommer att kunna styra vårt hem eller vad kameran ser från telefonen var som helst, antingen på det lokala nätverket eller utifrån. Vi kommer också att lägga till en motor som får kameran att röra sig, så att vi kan öka vinkeln som kameran kan titta på. Förutom att användas som en säkerhetskamera kan en sådan här kamera användas för många andra ändamål, som att kontrollera om en 3D-skrivare fungerar som den ska för att stoppa den om det skulle uppstå problem. Men nu, låt oss börja
För att se mer information om det här projektet, titta på videon på min YouTube-kanal (den är på italienska men den har det Engelska undertexter).
Tillbehör:
För att bygga den här kameran behöver vi ESP32-kamerakortet, den lilla kameran som följer med den, och en usb-till-seriell adapter. ESP32 cam board är en vanlig ESP32 med den här lilla kameran på, allt i ett kretskort. För den som inte vet är ESP32 ett programmerbart kort som liknar en Arduino, men med ett mycket kraftfullare chip och möjlighet att ansluta till WiFi. Det är därför jag har använt ESP32 för olika smarta hemprojekt tidigare. Som jag sa tidigare kostar ESP32 cam board cirka 5 € på Aliexpress.
Utöver detta behöver vi:
- en servomotor, som är en motor som kan nå en specifik vinkel som kommuniceras till den av mikrokontrollern
- några ledningar
Verktyg:
- lödkolv (valfritt)
- 3D-skrivare (valfritt)
För att se vad kameran ser från telefonen eller datorn och för att ta bilder kommer vi att använda Hemassistent och ESPhome, men vi kommer att prata om det senare.
Steg 1: Förbereder ESP32-cam
Först måste du ansluta kameran till kortet med den lilla kontakten, som är väldigt ömtålig. När du har satt i kontakten kan du sänka spaken. Sedan fäste jag kameran ovanpå tavlan med en bit dubbelhäftande tejp. ESP32-kameran har också möjlighet att sätta in en micro SD, och även om vi inte kommer att använda den idag låter den oss ta bilder och spara dem direkt där.
Steg 2: Ladda upp kod
Vanligtvis har Arduino- och ESP-kort också ett usb-uttag för att ladda programmet från datorn. Denna har dock inget usb-uttag, så för att ansluta den till datorn för att ladda programmet behöver du en usb-till-seriell adapter, som kommunicerar med chippet direkt genom stiften. Den jag hittade är gjord speciellt för den här typen av kort, så den ansluts helt enkelt till stiften utan att behöva göra några andra anslutningar. Men universella usb-till-serie-adaptrar bör också vara 2ne. För att ladda programmet måste du också ansluta stift 2 till jord. För att göra detta lödde jag en bygelkontakt till dessa två stift. Så när jag behöver programmera brädet sätter jag bara en bygel mellan de två stiften.
Steg 3: Ansluta kameran till Home Assistant
Men låt oss nu ta en titt på programvaran som ska styra kameran. Som jag sa tidigare kommer kameran att kopplas till Home Assistant. Home Assistant är ett hemautomationssystem som fungerar lokalt vilket gör att vi kan styra alla våra hemautomationsenheter som smarta glödlampor och uttag från ett gränssnitt.
För att köra Home Assistant använder jag en gammal Windows-dator som kör en virtuell maskin, men om du har det kan du använda en Raspberry pi, som förbrukar mindre ström. För att se data från din smartphone kan du ladda ner Home Assistant-appen. För att ansluta utanför det lokala nätverket använder jag Nabu Casa Cloud, vilket är den enklaste lösningen men det är inte gratis. Det finns andra lösningar men de är inte helt säkra.
Så från Home Assistant-appen kommer vi att kunna se kameran livevideo. För att ansluta kameran till Home Assistant använder vi ESPhome. ESPhome är ett tillägg som låter oss ansluta ESP-kort till Home Assistant via WiFi. För att ansluta ESP32-cam till ESPhome kan du följa dessa steg:
- Installera plugin-programmet ESPhome i Home Assistant
- På ESPhomes instrumentpanel klickar du på Ny enhet och på Fortsätt
- Ge din enhet ett namn
- Välj ESP8266 eller kortet du använde
- Kopiera krypteringsnyckeln som ges, vi kommer att behöva den senare
- Klicka på EDIT för att se enhetens kod
- Under esp32: klistra in den här koden (med ramverk: och typ: kommenterat)
esp32
styrelse: esp32cam
#ramverk:
# typ: arduino
- Under med, infoga ditt wi2 ssid och lösenord
- För att göra anslutningen mer stabil kan du ge kortet en statisk IP-adress, med denna kod:
wiFi:
ssid: din sida
lösenord: ditt wifi-lösenord
manual_ip
# Ställ in detta på IP:n för ESP
statisk IP: 192.168.1.61
# Ställ in detta på IP-adressen för routern. Slutar ofta med .1
inkörsport: 192.168.1.1
# Nätverkets undernät. 255.255.255.0 fungerar för de flesta hemnätverk.
undernät: 255.255.255.0
- I slutet av koden, klistra in den här:
2_kamera:
namn: Telekamera 1
extern_klocka:
stift: GPIO0
frekvens: 20 MHz
i2c_pins:
sda: GPIO26
scl: GPIO27
data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
vsync_pin: GPIO25
href_pin: GPIO23
pixel_clock_pin: GPIO22
power_down_pin: GPIO32
upplösning: 800×600
jpeg_kvalitet: 10
vertical_flip: Falsk
produktion:
– plattform: gpio
stift: GPIO4
id: gpio_4
– plattform: ledc
id: pwm_output
stift: GPIO2
frekvens: 50 Hz
ljus:
– plattform: binär
utgång: gpio_4
namn: Luce telecamera 1
antal:
- plattform: mall
namn: Servo Control
min_värde: -100
max_värde: 100
steg: 1
optimistisk: sant
set_action:
sedan:
– servo.write:
id: min_servo
nivå: !lambda 'return x / 100.0;'
servo:
– id: min_servo
utgång: pwm_output
transition_length: 5s
Den andra delen av koden, under esp2_camera:, avslöjar alla stift för den faktiska kameran. Då med ljus: är de32ned kamerans led. I slutet av koden de2eras servomotorn, och värdet som används av servo för att ställa in rotationsvinkeln läses från Home Assistant med nummer:.
I slutändan borde koden se ut så här, men klistra inte in koden nedan direkt, till varje enhet ges en annan krypteringsnyckel.
phome:
namn: kamera 1
esp32:
styrelse: esp32cam
#ramverk:
# typ: arduino
# Aktivera skogsavverkning
ger:
# Aktivera Home Assistant API
api:
kryptering:
nyckel: "encryptionkey"
ota:
lösenord: "lösenord"
wiFi:
ssid: "din sid"
lösenord: "ditt lösenord"
# Aktivera reserv-hotspot (infångad portal) om wifi-anslutningen misslyckas
ap:
ssid: "Camera-1 Fallback Hotspot"
lösenord: "lösenord"
captive_portal:
esp32_camera:
namn: Telecamera 1
extern_klocka:
stift: GPIO0
frekvens: 20MHz
i2c_pins:
sda: GPIO26
scl: GPIO27
data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35] vsync_pin: GPIO25
href_pin: GPIO23
pixel_clock_pin: GPIO22
power_down_pin: GPIO32
upplösning: 800×600
jpeg_kvalitet: 10
vertical_flip: Falskt
produktion:
– plattform: gpio
stift: GPIO4
id: gpio_4
– plattform: ledc
id: pwm_output
stift: GPIO2
frekvens: 50 Hz
ljus:
– plattform: binär
utgång: gpio_4
namn: Luce telecamera 1
antal:
- plattform: mall
namn: Servo Control
min_värde: -100
max_värde: 100
steg: 1
optimistisk: sant
set_action:
sedan:
– servo.write:
id: min_servo
nivå: !lambda 'return x / 100.0;'
Superbillig säkerhetskamera med ESP32-kamera: Sida 12
Steg 4: Anslutningar
servo:
– id: min_servo
utgång: pwm_output
transition_length: 5s
- När koden är klar kan vi klicka på Installera, ansluta seriell adaptern på ESP32 till vår dator med en USB-kabel och följa instruktionerna på skärmen för att ladda upp koden som du har sett i det senaste steget (det är ganska enkelt!)
- När ESP32-cam är ansluten till WiFi kan vi gå till Home Assistant-inställningarna, där vi förmodligen kommer att se att Home Assistant har upptäckt den nya enheten
- Klicka på konfigurera och klistra in den krypteringsnyckel du har kopierat tidigare.
När programmet är laddat kan du ta bort bygeln mellan mark och stift 0, och slå på brädet (om bygeln inte tas bort kommer brädet inte att fungera). Om du tittar på enhetens loggar bör du se att ESP32-cam ansluter till WiFi. I följande steg kommer vi att se hur du konfigurerar Home Assistant-instrumentpanelen för att se livevideon från kameran, för att flytta motorn och för att ta bilder från kameran
Steg 4: Anslutningar
När vi har programmerat ESP32 kan vi ta bort usb till seriell adapter och strömförsörja kortet direkt från 5v-stiftet. Och vid det här laget saknar kameran bara ett hölje att montera den i. Det är dock tråkigt att låta kameran stå stilla, så jag bestämde mig för att lägga till en motor för att få den att röra sig. Speciellt kommer jag att använda en servomotor, som kan nå en specifik vinkel som kommuniceras till den av ESP2. Jag kopplade servomotorns bruna och röda ledningar till strömförsörjningen och den gula ledningen som är signalen till stift 2 på ESP32. På bilden ovan kan du 2:a schemat.
Steg 5: Bygg höljet
Nu måste jag förvandla testkretsen till något som mer ser ut som en 2-färdig produkt. Så jag designade och 3D-printade alla delar för att göra den lilla lådan som kameran skulle monteras i. Nedan kan du 2:a .stl 2les för 3D-utskrift. Lödde sedan fast ledningarna för strömförsörjningen och servomotorsignalen till stiften på ESP32. För att ansluta servomotorkontakten lödde jag en bygelkontakt på ledningarna. Så kretsen är 2färdig, och som du kan se är den ganska enkel.
Jag drog servomotorn och strömkablarna genom hålen på den lilla lådan. Sedan limmade jag ESP32-kammen på locket och riktade in kameran mot hålet. Jag monterade servomotorn på fästet som ska hålla upp kameran och säkrade den med två bultar. Jag fäste fästet på den lilla lådan med två skruvar, så att kameran kunde lutas. För att förhindra att skruvarna inuti rör vid kablarna, skyddade jag dem med värmekrympslang. Sedan stängde jag locket med kameran med fyra skruvar. Vid det här laget återstår bara att montera basen. Jag körde servomotoraxeln genom hålet i basen och skruvade fast den smala armen på axeln. Sedan limmade jag fast armen på basen. På så sätt kan servomotorn flytta kameran 180 grader.
Och så avslutade vi att bygga kameran. För att driva den kan vi använda vilken 2V strömkälla som helst. Med hjälp av hålen i basen kan vi skruva fast kameran på en vägg eller träyta.
Steg 6: Konfigurera Home Assistant Dashboard
För att se livevideon från kameran, flytta motorn, slå på lysdioden och flytta motorn från Home Assistant-gränssnittet behöver vi fyra kort i Home Assistants instrumentpanel.
- Den 2:a är ett kort med bilder som gör det möjligt att se livevideo från kameran. I kortets inställningar väljer du bara kamerans enhet och ställer in Kamera View till auto (detta är viktigt eftersom om du ställer in den på live skickar kameran alltid videon och överhettas).
- Då behöver vi en knapp för att ta bilder från kameran. Det här är lite mer besvärligt. Först måste vi gå in File Editor-tillägg (om du inte har det kan du installera det från tilläggsbutiken) i con2g-mappen och skapa en ny mapp för att spara bilderna, i det här fallet kallat kamera. Koden för textredigeraren för knappen finns nedan.
ow_name: sant
show_icon: sant
typ: knapp
tap_action:
åtgärd: samtalstjänst
tjänst: camera.snapshot
data:
filenamn: /config/camera/telecamera_1_{{ now().strftime(“%Y-%m-%d-%H:%M:%S”) }}.jpg
#ändra enhetens namn ovan med namnet på enheten för din kamera
mål:
entity_id:
– camera.telecamera_1 #ändra enhetens namn med namnet på enheten för din kamera
namn: Ta foto
icon_height: 50px
ikon: mdi:kamera
hold_action:
åtgärd: nej
- Kameran har även en led, även om den inte klarar av att lysa upp ett helt rum. För detta använde jag ett annat knappkort, som växlar lysdiodens enhet när den trycks ned.
- Det sista kortet är ett entitetskort, som jag ställer in med servomotorenheten. Så med det här kortet har vi ett väldigt enkelt reglage för att styra vinkeln på motorn och för att flytta kameran.
Jag organiserade mina kort i en vertikal stapel och i en horisontell stapel, men detta är helt valfritt. Din instrumentpanel bör dock se ut som den som visas på bilden ovan. Naturligtvis kan du anpassa korten ännu mer för att möta dina behov.
Steg 7: Det fungerar!
Äntligen fungerar kameran och på Home Assistant-appen kan jag se vad kameran ser i realtid. Från appen kan jag också få kameran att röra sig genom att flytta reglaget, för att titta på ett större utrymme. Som jag sa tidigare har kameran också en LED, även om ljuset den gör inte låter dig se på natten. Från appen kan du ta bilder från kameran, men du kan inte filma. Bilderna som tagits kan ses i mappen vi har skapat tidigare i Home Assistant. För att ta kameran till nästa nivå kan du ansluta kameran till en rörelsesensor eller en dörröppningssensor, som när den upptäcker rörelse tar en bild med kameran.
Så, detta är ESP32 cam säkerhetskamera. Det är inte den mest avancerade kameran, men för det här priset kan du inte hitta något bättre. Jag hoppas att du gillade den här guiden och att du kanske tyckte att den var användbar. För att se mer information om detta projekt kan du lägga till videon på min YouTube-kanal (den är på italienska men den har engelska undertexter).
Dokument/resurser
![]() |
instructables Superbillig säkerhetskamera med ESP32-kamera [pdf] Bruksanvisning Superbillig säkerhetskamera med ESP32-kamera, Superbillig säkerhetskamera, ESP32-kamera, billig säkerhetskamera, säkerhetskamera, kamera |