instructables Super billigt sikkerhedskamera med ESP32-cam Instruktionsmanual
Super billigt sikkerhedskamera med ESP32-cam
af Giovanni Aggiustatutto
I dag skal vi bygge dette videoovervågningskamera, der kun koster 5€, som en pizza eller en hamburger. Dette kamera er forbundet til WiFi, så vi vil kunne styre vores hjem eller hvad kameraet ser fra telefonen hvor som helst, enten på det lokale netværk eller udefra. Vi vil også tilføje en motor, der får kameraet til at bevæge sig, så vi kan øge den vinkel, som kameraet kan se. Ud over at blive brugt som et sikkerhedskamera, kan et kamera som dette bruges til mange andre formål, såsom at tjekke om en 3D-printer fungerer korrekt for at stoppe den i tilfælde af problemer. Men lad os nu komme i gang
For at se flere detaljer om dette projekt, se videoen på min YouTube-kanal (den er på italiensk, men det har den engelske undertekster).
Forsyninger:
For at bygge dette kamera skal vi bruge ESP32 cam board, det lille kamera, der følger med det, og en usb-til-seriel adapter. ESP32 cam board er en almindelig ESP32 med dette lille kamera på, alt i ét print. For dem, der ikke ved det, er ESP32 et programmerbart kort, der ligner en Arduino, men med en meget kraftigere chip og mulighed for at oprette forbindelse til WiFi. Det er derfor, jeg tidligere har brugt ESP32 til forskellige smarthusprojekter. Som jeg fortalte dig før, koster ESP32 cam board omkring €5 på Aliexpress.
Udover dette skal vi bruge:
- en servomotor, som er en motor, der er i stand til at nå en specifik vinkel, der kommunikeres til den af mikrocontrolleren
- nogle ledninger
Værktøjer:
- loddekolbe (valgfrit)
- 3D-printer (valgfrit)
For at se hvad kameraet ser fra telefonen eller computeren og til at tage billeder vil vi bruge Hjemmeassistent og ESPhome, men det vil vi tale om senere.
Trin 1: Forberedelse af ESP32-cam
Først skal du tilslutte kameraet til boardet med det lille stik, som er meget skrøbeligt. Når du har sat stikket i, kan du sænke håndtaget. Derefter satte jeg kameraet på toppen af brættet med et stykke dobbeltklæbende tape. ESP32-kameraet har også mulighed for at indsætte et micro SD, og selvom vi ikke vil bruge det i dag, giver det os mulighed for at tage billeder og gemme dem direkte der.
Trin 2: Upload af kode
Normalt har Arduino- og ESP-kort også en usb-stik til at indlæse programmet fra computeren. Denne har dog ikke et usb-stik, så for at tilslutte den til computeren for at indlæse programmet skal du bruge en usb-til-seriel adapter, som kommunikerer med chippen direkte gennem stifterne. Den jeg fandt er lavet specielt til denne type board, så den forbindes simpelthen til stifterne uden at skulle lave andre forbindelser. Men universelle usb-til-serielle adaptere bør også være 2ne. For at indlæse programmet skal du også forbinde pin 2 til jord. For at gøre dette loddede jeg et jumperstik til disse to ben. Så når jeg skal programmere brættet, sætter jeg bare en jumper mellem de to ben.
Trin 3: Tilslutning af kameraet til Home Assistant
Men lad os nu tage et kig på den software, der skal betjene kameraet. Som jeg fortalte dig før, vil kameraet være forbundet til Home Assistant. Home Assistant er et hjemmeautomatiseringssystem, der fungerer lokalt, hvilket giver os mulighed for at styre alle vores hjemmeautomatiseringsenheder som smarte pærer og fatninger fra én grænseflade.
For at køre Home Assistant bruger jeg en gammel Windows-pc, der kører en virtuel maskine, men hvis du har det, kan du bruge en Raspberry pi, som bruger mindre strøm. For at se dataene fra din smartphone kan du downloade Home Assistant-appen. For at oprette forbindelse uden for det lokale netværk bruger jeg Nabu Casa Cloud, som er den enkleste løsning, men den er ikke gratis. Der er andre løsninger, men de er ikke helt sikre.
Så fra Home Assistant-appen vil vi være i stand til at se kameraets livevideo. For at forbinde kameraet til Home Assistant bruger vi ESPhome. ESPhome er en tilføjelse, der giver os mulighed for at forbinde ESP boards til Home Assistant via WiFi. For at forbinde ESP32-cam til ESPhome kan du følge disse trin:
- Installer ESPhome-plugin'et i Home Assistant
- På ESPhomes dashboard skal du klikke på Ny enhed og på Fortsæt
- Giv din enhed et navn
- Vælg ESP8266 eller det kort, du brugte
- Kopiér krypteringsnøglen, der er givet, vi skal bruge den senere
- Klik på EDIT for at se enhedens kode
- Under esp32: indsæt denne kode (med framework: og type: kommenteret)
esp32
bestyrelse: esp32cam
#ramme:
# type: arduino
- Indsæt dit wi2 ssid og adgangskode under med
- For at gøre forbindelsen mere stabil kan du give kortet en statisk IP-adresse med denne kode:
trådløst internet:
ssid: din side
adgangskode: dit wifi-adgangskode
manual_ip
# Indstil dette til ESP'ens IP
statisk_ip: 192.168.1.61
# Indstil dette til IP-adressen på routeren. Ender ofte med .1
gateway: 192.168.1.1
# Netværkets undernet. 255.255.255.0 fungerer for de fleste hjemmenetværk.
subnet: 255.255.255.0
- I slutningen af koden skal du indsætte denne:
2_kamera:
navn: 1 kamera
eksternt_ur:
pin: 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
løsning: 800×600
jpeg_kvalitet: 10
vertikal_flip: falsk
produktion:
– platform: gpio
ben: GPIO4
id: gpio_4
– platform: ledc
id: pwm_output
ben: GPIO2
frekvens: 50 Hz
lys:
– platform: binær
output: gpio_4
navn: Luce telecamera 1
antal:
- platform: skabelon
navn: Servostyring
min_værdi: -100
max_value: 100
trin: 1
optimistisk: sandt
sæt_handling:
så:
– servo.write:
id: min_servo
niveau: !lambda 'retur x / 100.0;'
servo:
– id: min_servo
output: pwm_output
transition_length: 5s
Den 2. del af koden, under esp32_camera:, de2ner alle stifterne til det faktiske kamera. Så med lys: er de2ned kameraets LED. I slutningen af koden de2dedes servomotoren, og den værdi, som servoen bruger til at indstille rotationsvinklen, aflæses fra Home Assistant med nummer:.
I sidste ende skulle koden se sådan ud, men ikke indsætte direkte koden nedenfor, hver enhed får en anden krypteringsnøgle.
phome:
navn: kamera-1
esp32:
bestyrelse: esp32cam
#ramme:
# type: arduino
# Aktiver logning
ger:
# Aktiver Home Assistant API
api:
kryptering:
nøgle: "encryptionkey"
ota:
adgangskode: "adgangskode"
trådløst internet:
ssid: "yourssid"
adgangskode: "dit kodeord"
# Aktiver fallback-hotspot (captive portal), hvis wifi-forbindelsen mislykkes
ap:
ssid: "Camera-1 Fallback Hotspot"
adgangskode: "adgangskode"
captive_portal:
esp32_kamera:
navn: Telekamera 1
eksternt_ur:
ben: 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
opløsning: 800 × 600
jpeg_kvalitet: 10
vertical_flip: Falsk
produktion:
– platform: gpio
ben: GPIO4
id: gpio_4
– platform: ledc
id: pwm_output
ben: GPIO2
frekvens: 50 Hz
lys:
– platform: binær
output: gpio_4
navn: Luce telecamera 1
antal:
- platform: skabelon
navn: Servostyring
min_værdi: -100
max_value: 100
trin: 1
optimistisk: sandt
sæt_handling:
så:
– servo.write:
id: min_servo
niveau: !lambda 'retur x / 100.0;'
Superbilligt sikkerhedskamera med ESP32-kamera: Side 12
Trin 4: Forbindelser
servo:
– id: min_servo
output: pwm_output
transition_length: 5s
- Når koden er færdig, kan vi klikke på Installer, tilslutte den serielle adapter på ESP32 til vores computer med et USB-kabel og følge instruktionerne på skærmen for at uploade koden, som du har set i det sidste trin (det er ret nemt!)
- Når ESP32-cam er tilsluttet WiFi, kan vi gå til Home Assistant-indstillingerne, hvor vi sandsynligvis vil se, at Home Assistant har opdaget den nye enhed
- Klik på konfigurer og indsæt den krypteringsnøgle, du har kopieret før.
Når programmet er indlæst, kan du fjern jumperen mellem jorden og pind 0, og tænd for brættet (hvis jumperen ikke er fjernet, fungerer brættet ikke). Hvis du kigger på enhedens logfiler, bør du se, at ESP32-cam opretter forbindelse til WiFi. I de følgende trin vil vi se, hvordan man konfigurerer Home Assistant-dashboardet til at se live-videoen fra kameraet, for at flytte motoren og for at tage billeder fra kameraet
Trin 4: Forbindelser
Når vi har programmeret ESP32, kan vi fjerne usb til seriel adapter og strømforsyne kortet direkte fra 5v pin. Og på dette tidspunkt mangler kameraet kun et kabinet at montere det i. Det er dog kedeligt at lade kameraet stå stille, så jeg besluttede at tilføje en motor for at få det til at bevæge sig. Specielt vil jeg bruge en servomotor, som er i stand til at nå en specifik vinkel, der kommunikeres til den af ESP2. Jeg tilsluttede servomotorens brune og røde ledninger til strømforsyningen, og den gule ledning, som er signalet til ben 2 på ESP32. På billedet ovenfor kan du 2. skemaerne.
Trin 5: Opbygning af kabinettet
Nu skal jeg lave testkredsløbet om til noget, der ligner mere et 2-færdigt produkt. Så jeg designede og 3D-printede alle delene for at lave den lille boks, hvori kameraet skulle monteres. Nedenfor kan du 2. stl 2les til 3D-print. Derefter loddede ledningerne til strømforsyningen og servomotorsignalet til stifterne på ESP32. For at forbinde servomotorstikket loddede jeg et jumperstik til ledningerne. Så kredsløbet er 2færdigt, og som du kan se er det ret simpelt.
Jeg førte servomotoren og strømledningerne gennem hullerne på den lille boks. Derefter limede jeg ESP32-kammen til dækslet, og justerede kameraet efter hullet. Jeg monterede servomotoren på beslaget, der skal holde kameraet oppe, og fastgjorde det med to bolte. Jeg satte beslaget fast på den lille æske med to skruer, så kameraet kunne vippes. For at forhindre, at skruerne indeni rører ved kablerne, beskyttede jeg dem med varmekrympeslange. Så lukkede jeg dækslet med kameraet med fire skruer. På dette tidspunkt er det kun tilbage at samle basen. Jeg førte servomotorakslen gennem hullet i basen og skruede den lille arm fast på akslen. Så limede jeg armen fast på basen. På denne måde er servomotoren i stand til at flytte kameraet 180 grader.
Og så var vi færdige med at bygge kameraet. For at drive den kan vi bruge enhver 2V strømforsyning. Ved hjælp af hullerne i bunden kan vi skrue kameraet fast på en væg eller træoverflade.
Trin 6: Opsætning af Home Assistant Dashboard
For at se live-videoen fra kameraet, flyt motoren, tænd lysdioden og flyt motoren fra Home Assistant-grænsefladen, skal vi bruge fire kort i Home Assistants dashboard.
- Den 2. er et billedblikkort, der gør det muligt at se live video fra kameraet. I kortets indstillinger skal du blot vælge kameraets enhed og indstille Kamera View til auto (dette er vigtigt, fordi hvis du indstiller det til live, sender kameraet altid videoen og overophedes).
- Så skal vi bruge en knap til at tage billeder fra kameraet. Det her er lidt mere vanskeligt. Først skal vi ind i File Editor-tilføjelse (hvis du ikke har det, kan du installere det fra tilføjelsesbutikken) i con2g-mappen og oprette en ny mappe for at gemme billederne, i dette tilfælde kaldet kamera. Koden til teksteditoren til knappen er nedenfor.
ow_name: sandt
show_icon: sandt
type: knap
tap_action:
handling: opkaldsservice
tjeneste: camera.snapshot
data:
filenavn: /config/camera/telecamera_1_{{ now().strftime(“%Y-%m-%d-%H:%M:%S”) }}.jpg
#skift enhedsnavnet ovenfor med navnet på entiteten på dit kamera
mål:
enheds-id:
– camera.telecamera_1 #skift enhedens navn med navnet på enheden på dit kamera
navn: Tag billede
icon_height: 50px
ikon: mdi:kamera
hold_action:
handling: nej
- Kameraet har også en LED, selvom det ikke er i stand til at oplyse et helt rum. Til dette brugte jeg et andet knapkort, der skifter lysdiodens enhed, når der trykkes på den.
- Det sidste kort er et enhedskort, som jeg har sat op med servomotorenheden. Så med dette kort har vi en meget simpel skyder til at styre vinklen på motoren og til at flytte kameraet.
Jeg organiserede mine kort i en lodret stak og i en vandret stak, men dette er helt valgfrit. Dit dashboard skal dog ligne det, der er vist på billedet ovenfor. Selvfølgelig kan du tilpasse kortene endnu mere, så de opfylder dine behov.
Trin 7: Det virker!
Endelig virker kameraet, og på Home Assistant-appen kan jeg se, hvad kameraet ser i realtid. Fra appen kan jeg også få kameraet til at bevæge sig ved at flytte skyderen, for at se på et større rum. Som jeg sagde før har kameraet også en LED, selvom lyset det laver ikke tillader dig at se om natten. Fra appen kan du tage billeder fra kameraet, men du kan ikke tage videoer. Billederne, der er taget, kan ses i den mappe, vi har lavet før i Home Assistant. For at tage kameraet til det næste niveau, kan du tilslutte kameraet til en bevægelsessensor eller en døråbningssensor, som når den registrerer bevægelse vil tage et billede med kameraet.
Så dette er ESP32 cam-sikkerhedskameraet. Det er ikke det mest avancerede kamera, men til denne pris kan du ikke finde noget bedre. Jeg håber du kunne lide denne guide, og måske fandt du den nyttig. For at se flere detaljer om dette projekt, kan du 2. videoen på min YouTube-kanal (den er på italiensk, men den har engelske undertekster).
Dokumenter/ressourcer
![]() |
instructables Super billigt sikkerhedskamera med ESP32-cam [pdf] Brugsanvisning Superbilligt overvågningskamera med ESP32-kamera, Superbilligt overvågningskamera, ESP32-kamera, billigt overvågningskamera, overvågningskamera, kamera |