instructables Super goedkope beveiligingscamera met ESP32-cam handleiding
Supergoedkope beveiligingscamera met ESP32-cam
van Giovanni Aggiustatutto
Vandaag gaan we deze videobewakingscamera bouwen die slechts € 5 kost, zoals een pizza of een hamburger. Deze camera is verbonden met WiFi, zodat we ons huis en wat de camera ziet overal vanaf de telefoon kunnen bedienen, zowel op het lokale netwerk als van buitenaf. We zullen ook een motor toevoegen die de camera laat bewegen, zodat we de kijkhoek van de camera kunnen vergroten. Naast het gebruik als beveiligingscamera kan een dergelijke camera voor vele andere doeleinden worden gebruikt, zoals controleren of een 3D-printer goed werkt om deze te stoppen in geval van problemen. Maar laten we nu beginnen
Om meer details over dit project te zien, bekijk de video op mijn YouTube-kanaal (deze is in het Italiaans, maar dat is wel zo). Engelse ondertiteling).
Benodigdheden:
Om deze camera te bouwen hebben we het ESP32-cambord nodig, de kleine camera die erbij wordt geleverd, en een usb-naar-serieel-adapter. Het ESP32-camboard is een gewone ESP32 met deze kleine camera erop, alles in één printplaat. Voor degenen die het niet weten: de ESP32 is een programmeerbaar bord vergelijkbaar met een Arduino, maar met een veel krachtigere chip en de mogelijkheid om verbinding te maken met WiFi. Daarom heb ik de ESP32 in het verleden voor verschillende smart home-projecten gebruikt. Zoals ik je al eerder vertelde, kost het ESP32-camboard ongeveer € 5 op AliExpress.
Daarnaast hebben we nodig:
- een servomotor, een motor die een specifieke hoek kan bereiken die door de microcontroller wordt gecommuniceerd
- sommige draden
Hulpmiddelen:
- soldeerbout (optioneel)
- 3D-printer (optioneel)
Om te zien wat de camera ziet vanaf de telefoon of computer en om foto's te maken zullen we gebruiken Thuisassistent en ESPhome, maar daar zullen we later over praten.
Stap 1: ESP32-cam voorbereiden
Eerst moet je de camera met de kleine connector op het bord aansluiten, die erg kwetsbaar is. Zodra u de connector erin heeft geplaatst, kunt u de hendel laten zakken. Vervolgens heb ik de camera met een stukje dubbelzijdig plakband op het bord bevestigd. De ESP32-camera heeft ook de mogelijkheid om een micro SD-kaart te plaatsen, en hoewel we deze vandaag niet zullen gebruiken, kunnen we er foto's mee maken en deze daar direct opslaan.
Stap 2: Code uploaden
Meestal hebben Arduino- en ESP-borden ook een usb-aansluiting om het programma vanaf de computer te laden. Deze heeft echter geen usb-aansluiting, dus om hem op de computer aan te sluiten en het programma te laden heb je een usb-naar-serieel adapter nodig, die via de pinnen rechtstreeks met de chip communiceert. Degene die ik heb gevonden is speciaal gemaakt voor dit type bord, dus hij wordt eenvoudig op de pinnen aangesloten zonder dat er andere verbindingen hoeven te worden gemaakt. Universele usb-naar-serieel-adapters moeten echter ook 2ne zijn. Om het programma te laden moet je ook pin 2 met aarde verbinden. Om dit te doen heb ik een jumperconnector op deze twee pinnen gesoldeerd. Dus als ik het bord moet programmeren, plaats ik gewoon een jumper tussen de twee pinnen.
Stap 3: De camera verbinden met Home Assistant
Maar laten we nu eens kijken naar de software die de camera zal bedienen. Zoals ik al eerder vertelde, wordt de camera verbonden met Home Assistant. Home Assistant is een lokaal werkend domoticasysteem waarmee we al onze domotica-apparaten, zoals slimme lampen en stopcontacten, vanuit één interface kunnen bedienen.
Om Home Assistant uit te voeren gebruik ik een oude Windows-pc met een virtuele machine, maar als je die hebt, kun je een Raspberry pi gebruiken, die minder stroom verbruikt. Om de gegevens van uw smartphone te bekijken kunt u de Home Assistant app downloaden. Om verbinding te maken van buiten het lokale netwerk gebruik ik de Nabu Casa Cloud, wat de eenvoudigste oplossing is, maar niet gratis. Er zijn andere oplossingen, maar die zijn niet helemaal veilig.
Dus vanuit de Home Assistant-app kunnen we de camera live video zien. Om de camera aan Home Assistant te koppelen gebruiken we ESPhome. ESPhome is een add-on waarmee we ESP-borden via WiFi kunnen verbinden met Home Assistant. Om de ESP32-cam aan ESPhome te koppelen kun je deze stappen volgen:
- Installeer de ESPhome-plug-in in Home Assistant
- Klik op het dashboard van ESPhome op Nieuw apparaat en op Doorgaan
- Geef uw apparaat een naam
- Selecteer ESP8266 of het bord dat je hebt gebruikt
- Kopieer de gegeven coderingssleutel, deze hebben we later nodig
- Klik op BEWERKEN om de code van het apparaat te zien
- Onder esp32: plak deze code (met framework: en typ: commented)
esp32
bord: esp32cam
#kader:
# type: Arduino
- Voer onder met uw wi2 ssid en wachtwoord in
- Om de verbinding stabieler te maken, kun je het bord een statisch IP-adres geven, met deze code:
Wifi:
ssid: jouwe
wachtwoord: uw wifiwachtwoord
handmatige_ip
# Stel dit in op het IP-adres van de ESP
Statisch ip: 192.168.1.61
# Stel dit in op het IP-adres van de router. Eindigt vaak met .1
poort: 192.168.1.1
# Het subnet van het netwerk. 255.255.255.0 werkt voor de meeste thuisnetwerken.
subnet: 255.255.255.0
- Plak deze aan het einde van de code:
2_camera:
naam: Telecamera 1
externe_klok:
pijnboom: GPIO0
frequentie: 20 MHz
i2c_pinnen:
sda: GPIO26
scl: GPIO27
data_pinnen: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
vsync_pin: GPIO25
href_pin: GPIO23
pixel_klok_pin: GPIO22
power_down_pin: GPIO32
resolutie: 800×600
jpeg_kwaliteit: 10
verticale_flip: Onjuist
uitvoer:
– platform: GPIO-bestand
pincode: GPIO4
ID: gpio_4
– platform: ledc
ID: pwm_output
pincode: GPIO2
frequentie: 50 Hz
licht:
– platform: binair
uitvoer: gpio_4
naam: Luce telecamera 1
nummer:
- platform: sjabloon
naam: servobesturing
min_waarde: -100
max_waarde: 100
stap: 1
optimistisch: waar
set_actie:
Dan:
– servo.schrijven:
ID: mijn_servo
niveau: !lambda 'retour x / 100.0;'
servo:
– id: mijn_servo
uitvoer: pwm_output
transitie_lengte: 5s
Het tweede deel van de code, onder esp2_camera:, de32nes alle pinnen voor de daadwerkelijke camera. Dan met licht: wordt de led van de camera gede2ned. Aan het einde van de code wordt de servomotor gedefinieerd en de waarde die door de servo wordt gebruikt om de rotatiehoek in te stellen, wordt uit Home Assistant gelezen met nummer:.
Uiteindelijk zou de code er zo uit moeten zien, maar plak de onderstaande code niet rechtstreeks, aan elk apparaat wordt een andere coderingssleutel gegeven.
phome:
naam: camera-1
vooral32:
bord: esp32cam
#kader:
# type: Arduino
# Inschakelen houtkap
ger:
# Schakel de Home Assistant-API in
API:
encryptie:
sleutel: “encryptiesleutel”
ota:
wachtwoord: “wachtwoord”
Wifi:
ssid: "jouwsid"
wachtwoord: “uwwachtwoord”
# Schakel fallback hotspot (captive portal) in voor het geval de wifi-verbinding mislukt
app:
ssid: "Camera-1 Fallback-hotspot"
wachtwoord: “wachtwoord”
captive_portal:
esp32_camera:
naam: Telecamera 1
externe_klok:
pincode: GPIO0
frequentie: 20 MHz
i2c_pinnen:
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
resolutie: 800×600
jpeg_kwaliteit: 10
verticale_flip: Onwaar
uitvoer:
– platform: gpio
pincode: GPIO4
ID: gpio_4
– platform: ledc
ID: pwm_output
pincode: GPIO2
frequentie: 50 Hz
licht:
– platform: binair
uitvoer: gpio_4
naam: Luce telecamera 1
nummer:
- platform: sjabloon
naam: servobesturing
min_waarde: -100
max_waarde: 100
stap: 1
optimistisch: waar
set_actie:
Dan:
– servo.schrijven:
ID: mijn_servo
niveau: !lambda 'retour x / 100.0;'
Supergoedkope beveiligingscamera met ESP32-cam: Pagina 12
Stap 4: verbindingen
servo:
– id: mijn_servo
uitvoer: pwm_output
transitie_lengte: 5s
- Nadat de code compleet is, kunnen we op Installeren klikken, de seriële adapter van de ESP32 met een USB-kabel op onze computer aansluiten en de instructies op het scherm volgen om de code te uploaden zoals je in de laatste stap hebt gezien (het is vrij eenvoudig!)
- Wanneer de ESP32-cam met de WiFi is verbonden, kunnen we naar de Home Assistant-instellingen gaan, waar we waarschijnlijk zullen zien dat Home Assistant het nieuwe apparaat heeft ontdekt
- Klik op configureren en plak daar de coderingssleutel die u eerder hebt gekopieerd.
Zodra het programma is geladen, kunt u dat doen verwijder de jumper tussen aarde en speld 0, en zet het bord aan (als de jumper niet wordt verwijderd, werkt het bord niet). Als je naar de logs van het apparaat kijkt, zou je moeten zien dat de ESP32-cam verbinding maakt met de WiFi. In de volgende stappen zullen we zien hoe we het Home Assistant-dashboard kunnen configureren om de live video van de camera te zien, de motor te bewegen en foto's van de camera te maken
Stap 4: Aansluitingen
Zodra we de ESP32 hebben geprogrammeerd, kunnen we de USB-naar-serieel-adapter verwijderen en het bord rechtstreeks van stroom voorzien via de 5V-pin. En op dit moment mist de camera alleen een behuizing waarin hij kan worden gemonteerd. Het is echter saai om de camera stil te laten staan, dus besloot ik een motor toe te voegen om hem te laten bewegen. Concreet zal ik een servomotor gebruiken, die in staat is een specifieke hoek te bereiken die door de ESP2 aan hem wordt doorgegeven. Ik heb de bruine en rode draden van de servomotor aangesloten op de voeding, en de gele draad die het signaal is naar pin 2 van ESP32. In de afbeelding hierboven kun je het schema 2e maken.
Stap 5: Het bouwen van de behuizing
Nu moet ik het testcircuit veranderen in iets dat meer op een afgewerkt product lijkt. Dus heb ik alle onderdelen ontworpen en in 2D geprint om het doosje te maken waarin de camera kan worden gemonteerd. Hieronder kunt u de .stl 3les 2e maken voor 2D-printen. Vervolgens de draden voor de voeding en het servomotorsignaal aan de pinnen van de ESP3 gesoldeerd. Om de servomotorconnector aan te sluiten, heb ik een jumperconnector aan de draden gesoldeerd. Het circuit is dus voltooid, en zoals je kunt zien is het vrij eenvoudig.
Ik heb de servomotor en de stroomdraden door de gaten in het kastje geleid. Vervolgens heb ik de ESP32-camera op de hoes gelijmd, waarbij ik de camera uitlijnde met het gat. Ik heb de servomotor op de beugel gemonteerd die de camera omhoog houdt, en vastgezet met twee bouten. De beugel heb ik met twee schroeven aan het kastje bevestigd, zodat de camera gekanteld kon worden. Om te voorkomen dat de schroeven aan de binnenkant de kabels raken, heb ik ze beschermd met krimpkous. Vervolgens heb ik het deksel met de camera gesloten met vier schroeven. Op dit punt hoeft u alleen nog maar de basis te monteren. Ik heb de servomotoras door het gat in de basis geleid en de kleine arm op de as geschroefd. Vervolgens heb ik de arm op de basis gelijmd. Hierdoor kan de servomotor de camera 180 graden bewegen.
En zo waren we klaar met het bouwen van de camera. Om hem van stroom te voorzien, kunnen we elke 2V-voeding gebruiken. Met behulp van de gaten in de basis kunnen we de camera aan een muur of houten oppervlak schroeven.
Stap 6: Home Assistant-dashboard instellen
Om de live video van de camera te zien, de motor te bewegen, de led aan te zetten en de motor vanuit de Home Assistant-interface te bewegen, hebben we vier kaarten nodig in het dashboard van Home Assistant.
- De tweede is een fotooverzichtkaart, waarmee u de live video van de camera kunt bekijken. In de kaartinstellingen selecteert u gewoon de entiteit van de camera en stelt u Camera in View op automatisch (dit is belangrijk omdat als je het instelt op live, de camera altijd de video verzendt en oververhit raakt).
- Dan hebben we een knop nodig om foto's te maken met de camera. Dit is een beetje lastiger. Eerst moeten we naar binnen File Editor add-on (als u deze niet heeft, kunt u deze installeren vanuit de add-on store) in de map con2g en een nieuwe map maken om de foto's op te slaan, in dit geval genaamd camera. De code voor de teksteditor voor de knop staat hieronder.
ow_name: waar
show_icon: waar
soort: knop
tik_actie:
actie: belservice
service: camera.snapshot
gegevens:
filenaam: /config/camera/telecamera_1_{{ now().strftime(“%Y-%m-%d-%H:%M:%S”) }}.jpg
#wijzig de entiteitsnaam hierboven met de naam van de entiteit van uw camera
doel:
entiteit_id:
– camera.telecamera_1 #verander de entiteitsnaam met de naam van de entiteit van uw camera
naam: Maak een foto
icon_height: 50px
pictogram: mdi:camera
hold_action:
actie: nee
- De camera beschikt ook over een led, ook al is deze niet in staat een hele kamer te verlichten. Hiervoor heb ik een andere knopkaart gebruikt, die de entiteit van de led omschakelt wanneer deze wordt ingedrukt.
- De laatste kaart is een entiteitenkaart, die ik heb opgezet met de servomotorentiteit. Met deze kaart hebben we dus een heel eenvoudige schuifregelaar om de hoek van de motor te regelen en de camera te bewegen.
Ik heb mijn kaarten in een verticale stapel en in een horizontale stapel georganiseerd, maar dit is volledig optioneel. Uw dashboard zou er echter ongeveer zo uit moeten zien als het dashboard dat in de bovenstaande afbeelding wordt weergegeven. Uiteraard kunt u de kaarten nog verder aanpassen aan uw wensen.
Stap 7: Het werkt!
Eindelijk werkt de camera en op de Home Assistant-app kan ik realtime zien wat de camera ziet. Vanuit de app kan ik de camera ook laten bewegen door de schuifregelaar te verplaatsen, om naar een grotere ruimte te kijken. Zoals ik al eerder zei, heeft de camera ook een LED, hoewel je door het licht dat hij maakt 's nachts niet kunt zien. Vanuit de app kun je foto's maken met de camera, maar je kunt geen video's maken. De gemaakte foto's zijn te zien in de map die we eerder hebben aangemaakt in Home Assistant. Om de camera naar een hoger niveau te tillen, kun je de camera aansluiten op een bewegingssensor of een deuropeningssensor, die bij bewegingsdetectie een foto maakt met de camera.
Dit is dus de ESP32 cam-beveiligingscamera. Het is niet de meest geavanceerde camera, maar voor deze prijs kun je niets beters vinden. Ik hoop dat je deze gids leuk vond en misschien vond je hem nuttig. Om meer details over dit project te zien, kun je de video op mijn YouTube-kanaal plaatsen (deze is in het Italiaans, maar heeft Engelse ondertitels).
Documenten / Bronnen
![]() |
instructables Supergoedkope beveiligingscamera met ESP32-cam [pdf] Gebruiksaanwijzing Supergoedkope beveiligingscamera met ESP32-cam, Supergoedkope beveiligingscamera, ESP32-cam, Goedkope beveiligingscamera, Beveiligingscamera, Camera |