Εγχειρίδιο οδηγιών instructables Super Cheap Camera Security with ESP32-cam
Σούπερ φθηνή κάμερα ασφαλείας με κάμερα ESP32
του Giovanni Aggiustatutto
Σήμερα θα κατασκευάσουμε αυτήν την κάμερα παρακολούθησης που κοστίζει μόνο 5 €, όπως μια πίτσα ή ένα χάμπουργκερ. Αυτή η κάμερα είναι συνδεδεμένη με WiFi, οπότε θα μπορούμε να ελέγχουμε το σπίτι μας ή τι βλέπει η κάμερα από το τηλέφωνο οπουδήποτε, είτε στο τοπικό δίκτυο είτε από έξω. Θα προσθέσουμε επίσης έναν κινητήρα που κάνει την κάμερα να κινείται, ώστε να μπορούμε να αυξήσουμε τη γωνία που μπορεί να φαίνεται η κάμερα. Εκτός από τη χρήση ως κάμερα ασφαλείας, μια κάμερα όπως αυτή μπορεί να χρησιμοποιηθεί για πολλούς άλλους σκοπούς, όπως για να ελέγξετε εάν ένας 3D εκτυπωτής λειτουργεί σωστά για να σταματήσει σε περίπτωση προβλημάτων. Αλλά τώρα, ας ξεκινήσουμε
Για να δείτε περισσότερες λεπτομέρειες σχετικά με αυτό το έργο, παρακολουθήστε το βίντεο στο κανάλι μου στο YouTube (είναι στα ιταλικά αλλά έχει Αγγλικοί υπότιτλοι).
Προμήθειες:
Για την κατασκευή αυτής της κάμερας θα χρειαστούμε την πλακέτα κάμερας ESP32, τη μικροσκοπική κάμερα που παρέχεται μαζί της και έναν προσαρμογέα usb-to-serial. Η πλακέτα κάμερας ESP32 είναι μια κανονική ESP32 με αυτή τη μικρή κάμερα πάνω της, όλα σε ένα pcb. Για όσους δεν γνωρίζουν, η ESP32 είναι μια προγραμματιζόμενη πλακέτα παρόμοια με Arduino, αλλά με πολύ πιο ισχυρό τσιπ και δυνατότητα σύνδεσης σε WiFi. Αυτός είναι ο λόγος που έχω χρησιμοποιήσει το ESP32 για διάφορα έργα έξυπνου σπιτιού στο παρελθόν. Όπως σας είπα πριν η πλακέτα έκκεντρου ESP32 κοστίζει περίπου 5€ στο Aliexpress.
Επιπλέον, θα χρειαστούμε:
- ένας σερβοκινητήρας, ο οποίος ένας κινητήρας μπορεί να φτάσει σε μια ειδική γωνία που του μεταδίδεται από τον μικροελεγκτή
- μερικά καλώδια
Εργαλεία:
- κολλητήρι (προαιρετικό)
- 3D εκτυπωτής (προαιρετικό)
Για να δούμε τι βλέπει η κάμερα από το τηλέφωνο ή τον υπολογιστή και να βγάλουμε φωτογραφίες θα χρησιμοποιήσουμε Βοηθός στο σπίτι και ESPhome, αλλά θα μιλήσουμε γι' αυτό αργότερα.
Βήμα 1: Προετοιμασία ESP32-cam
Πρώτα πρέπει να συνδέσετε την κάμερα στην πλακέτα με τη μικρή υποδοχή, η οποία είναι πολύ εύθραυστη. Μόλις τοποθετήσετε τον σύνδεσμο, μπορείτε να κατεβάσετε το μοχλό. Στη συνέχεια προσάρτησα την κάμερα στο πάνω μέρος της σανίδας με ένα κομμάτι ταινίας διπλής όψης. Η κάμερα ESP32 έχει επίσης τη δυνατότητα εισαγωγής micro SD, και παρόλο που δεν θα τη χρησιμοποιήσουμε σήμερα, μας επιτρέπει να τραβάμε φωτογραφίες και να τις αποθηκεύουμε απευθείας εκεί.
Βήμα 2: Μεταφόρτωση κώδικα
Συνήθως οι πλακέτες Arduino και ESP διαθέτουν και υποδοχή usb για να φορτώνει το πρόγραμμα από τον υπολογιστή. Ωστόσο, αυτό δεν έχει υποδοχή usb, οπότε για να το συνδέσετε στον υπολογιστή για να φορτώσετε το πρόγραμμα χρειάζεστε έναν προσαρμογέα usb-to-serial, ο οποίος επικοινωνεί με το τσιπ απευθείας μέσω των ακίδων. Αυτό που βρήκα είναι κατασκευασμένο ειδικά για αυτόν τον τύπο πλακέτας, έτσι απλά συνδέεται με τις ακίδες χωρίς να χρειάζεται να κάνει άλλες συνδέσεις. Ωστόσο, οι γενικοί προσαρμογείς usb-to-serial θα πρέπει επίσης να είναι 2ne. Για να φορτώσετε το πρόγραμμα πρέπει επίσης να συνδέσετε τον ακροδέκτη 2 στη γείωση. Για να γίνει αυτό, κόλλησα έναν σύνδεσμο βραχυκυκλωτήρα σε αυτές τις δύο ακίδες. Έτσι, όταν πρέπει να προγραμματίσω την πλακέτα, απλώς βάζω ένα βραχυκυκλωτήρα ανάμεσα στις δύο ακίδες.
Βήμα 3: Σύνδεση της κάμερας στο Home Assistant
Αλλά τώρα ας ρίξουμε μια ματιά στο λογισμικό που θα χειριστεί την κάμερα. Όπως σας είπα πριν, η κάμερα θα συνδεθεί με το Home Assistant. Το Home Assistant είναι ένα σύστημα οικιακού αυτοματισμού που λειτουργεί τοπικά και μας επιτρέπει να ελέγχουμε όλες τις συσκευές οικιακού αυτοματισμού μας, όπως έξυπνους λαμπτήρες και πρίζες, από μία διεπαφή.
Για να εκτελέσω το Home Assistant χρησιμοποιώ και παλιό υπολογιστή με Windows που τρέχει μια εικονική μηχανή, αλλά αν το έχετε, μπορείτε να χρησιμοποιήσετε ένα Raspberry pi, το οποίο καταναλώνει λιγότερη ενέργεια. Για να δείτε τα δεδομένα από το smartphone σας, μπορείτε να κάνετε λήψη της εφαρμογής Home Assistant. Για σύνδεση εκτός του τοπικού δικτύου χρησιμοποιώ το Nabu Casa Cloud, το οποίο είναι η απλούστερη λύση αλλά δεν είναι δωρεάν. Υπάρχουν και άλλες λύσεις αλλά δεν είναι απόλυτα ασφαλείς.
Έτσι από την εφαρμογή Home Assistant θα μπορούμε να βλέπουμε το βίντεο της κάμερας ζωντανά. Για να συνδέσουμε την κάμερα στο Home Assistant θα χρησιμοποιήσουμε το ESphome. Το ESPhome είναι ένα πρόσθετο που μας επιτρέπει να συνδέουμε πλακέτες ESP στο Home Assistant μέσω WiFi. Για να συνδέσετε την κάμερα ESP32 στο ESPhome, μπορείτε να ακολουθήσετε τα εξής βήματα:
- Εγκαταστήστε την προσθήκη ESPhome στο Home Assistant
- Στον πίνακα ελέγχου του ESPhome, κάντε κλικ στο New device και στο Continue
- Δώστε στη συσκευή σας ένα όνομα
- Επιλέξτε ESP8266 ή την πλακέτα που χρησιμοποιήσατε
- Αντιγράψτε το κλειδί κρυπτογράφησης που δίνεται, θα το χρειαστούμε αργότερα
- Κάντε κλικ στο EDIT για να δείτε τον κωδικό της συσκευής
- Κάτω από το esp32: επικολλήστε αυτόν τον κωδικό (με πλαίσιο: και πληκτρολογήστε: σχολιασμένο)
esp32
σανίδα: esp32cam
#δομή:
# τύπος: arduino
- Κάτω από το με, εισαγάγετε το wi2 ssid και τον κωδικό πρόσβασής σας
- Για να κάνετε τη σύνδεση πιο σταθερή, μπορείτε να δώσετε στην πλακέτα μια στατική διεύθυνση IP, με αυτόν τον κωδικό:
wifi:
ssid: δικοί σου
σύνθημα: τον κωδικό πρόσβασης wifi
manual_ip
# Ρυθμίστε το στην IP του ESP
static_ip: 192.168.1.61
# Ρυθμίστε το στη διεύθυνση IP του δρομολογητή. Συχνά τελειώνει με .1
είσοδος πυλών: 192.168.1.1
# Το υποδίκτυο του δικτύου. Το 255.255.255.0 λειτουργεί για τα περισσότερα οικιακά δίκτυα.
υποδικτύου: 255.255.255.0
- Στο τέλος του κώδικα, επικολλήστε αυτόν:
2_camera:
όνομα: Τηλεκάμερα 1
εξωτερικό_ρολόι:
καρφίτσα: GPIO0
συχνότητα: 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
ανάλυση: 800×600
jpeg_quality: 10
vertical_flip: Ψευδής
παραγωγή:
– πλατφόρμα: gpio
pin: GPIO4
id: gpio_4
– πλατφόρμα: ledc
id: pwm_output
pin: GPIO2
συχνότητα: 50 Hz
φως:
– πλατφόρμα: δυαδική
έξοδος: gpio_4
όνομα: Luce telecamera 1
αριθμός:
– πλατφόρμα: πρότυπο
όνομα: Servo Control
ελάχιστη_τιμή: -100
max_value: 100
βήμα: 1
αισιόδοξος: αληθινός
set_action:
τότε:
– servo.write:
id: my_servo
επίπεδο: !lambda 'return x / 100.0;'
σερβομηχανισμός:
– id: my_servo
έξοδος: pwm_output
transition_length: 5s
Το 2ο μέρος του κώδικα, κάτω από το esp32_camera:, αφαιρεί όλες τις ακίδες για την πραγματική κάμερα. Έπειτα με φως: απο2αγράφηκε το led της κάμερας. Στο τέλος του κωδικού ορίζεται ο σερβοκινητήρας και η τιμή που χρησιμοποιείται από τον σερβομηχανισμό για τη ρύθμιση της γωνίας περιστροφής διαβάζεται από το Home Assistant με τον αριθμό:.
Στο τέλος ο κώδικας θα πρέπει να μοιάζει με αυτό, αλλά μην επικολλήσετε απευθείας τον παρακάτω κωδικό, σε κάθε συσκευή δίνεται διαφορετικό κλειδί κρυπτογράφησης.
φώτο:
όνομα: κάμερα-1
esp32:
σανίδα: esp32cam
#δομή:
# τύπος: arduino
# Καθιστώ ικανό ξύλευση
ger:
# Ενεργοποίηση Home Assistant API
api:
κρυπτογράφηση:
κλειδί: "encryptionkey"
ota:
κωδικός πρόσβασης: "password"
wifi:
ssid: "δικό σου"
κωδικός πρόσβασης: "ο κωδικός σας"
# Ενεργοποιήστε το εναλλακτικό σημείο πρόσβασης (αποκλειστική πύλη) σε περίπτωση που αποτύχει η σύνδεση Wi-Fi
ap:
ssid: "Camera-1 Fallback Hotspot"
κωδικός πρόσβασης: "password"
captive_portal:
esp32_camera:
Όνομα: Telecamera 1
εξωτερικό_ρολόι:
pin: GPIO0
συχνότητα: 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
ανάλυση: 800 × 600
jpeg_quality: 10
vertical_flip: Λάθος
παραγωγή:
– πλατφόρμα: gpio
pin: GPIO4
id: gpio_4
– πλατφόρμα: ledc
id: pwm_output
pin: GPIO2
συχνότητα: 50 Hz
φως:
– πλατφόρμα: δυαδική
έξοδος: gpio_4
όνομα: Luce telecamera 1
αριθμός:
– πλατφόρμα: πρότυπο
όνομα: Servo Control
ελάχιστη_τιμή: -100
max_value: 100
βήμα: 1
αισιόδοξος: αληθινός
set_action:
τότε:
– servo.write:
id: my_servo
επίπεδο: !lambda 'return x / 100.0;'
Εξαιρετικά φθηνή κάμερα ασφαλείας με κάμερα ESP32: Σελίδα 12
Βήμα 4: Συνδέσεις
σερβομηχανισμός:
– id: my_servo
έξοδος: pwm_output
transition_length: 5s
- Αφού ολοκληρωθεί ο κώδικας, μπορούμε να κάνουμε κλικ στο Εγκατάσταση, να συνδέσουμε τον σειριακό προσαρμογέα του ESP32 στον υπολογιστή μας με ένα καλώδιο USB και να ακολουθήσουμε τις οδηγίες στην οθόνη για να ανεβάσουμε τον κωδικό όπως είδατε στο τελευταίο βήμα (είναι αρκετά εύκολο!)
- Όταν η κάμερα ESP32 είναι συνδεδεμένη στο WiFi, μπορούμε να πάμε στις ρυθμίσεις του Home Assistant, όπου πιθανότατα θα δούμε ότι ο Home Assistant ανακάλυψε τη νέα συσκευή
- Κάντε κλικ στο configure και επικολλήστε εκεί το κλειδί κρυπτογράφησης που έχετε αντιγράψει στο παρελθόν.
Μόλις φορτωθεί το πρόγραμμα μπορείτε αφαιρέστε το βραχυκυκλωτήρα μεταξύ του εδάφους και pin 0, και ενεργοποιήστε την πλακέτα (αν δεν αφαιρεθεί ο βραχυκυκλωτήρας, η πλακέτα δεν θα λειτουργήσει). Αν κοιτάξετε τα αρχεία καταγραφής της συσκευής, θα πρέπει να δείτε ότι η κάμερα ESP32 συνδέεται στο WiFi. Στα παρακάτω βήματα θα δούμε πώς να διαμορφώσετε το ταμπλό του Home Assistant για να δείτε το ζωντανό βίντεο από την κάμερα, να μετακινήσετε τον κινητήρα και να τραβήξετε φωτογραφίες από την κάμερα
Βήμα 4: Συνδέσεις
Αφού προγραμματίσουμε το ESP32 μπορούμε να αφαιρέσουμε τον προσαρμογέα usb σε σειριακό και να τροφοδοτήσουμε την πλακέτα απευθείας από τον ακροδέκτη 5v. Και σε αυτό το σημείο η κάμερα δεν διαθέτει μόνο ένα περίβλημα για να την τοποθετήσει. Ωστόσο, το να αφήνεις την κάμερα ακίνητη είναι βαρετό, γι' αυτό αποφάσισα να προσθέσω έναν κινητήρα για να την κάνω να κινείται. Συγκεκριμένα, θα χρησιμοποιήσω έναν σερβοκινητήρα, ο οποίος μπορεί να φτάσει σε μια ειδική γωνία που του κοινοποιείται από το ESP2. Συνέδεσα τα καφέ και τα κόκκινα καλώδια του σερβοκινητήρα στο τροφοδοτικό και το κίτρινο καλώδιο που είναι το σήμα στον ακροδέκτη 2 του ESP32. Στην παραπάνω εικόνα μπορείτε να 2η τα σχηματικά.
Βήμα 5: Κατασκευή του περιβλήματος
Τώρα πρέπει να μετατρέψω το κύκλωμα δοκιμής σε κάτι που μοιάζει περισσότερο με 2 τελειωμένο προϊόν. Έτσι σχεδίασα και εκτύπωσα 3D όλα τα μέρη για να φτιάξω το μικρό κουτί στο οποίο θα τοποθετήσω την κάμερα. Παρακάτω μπορείτε να 2ον τα .stl 2les για τρισδιάστατη εκτύπωση. Στη συνέχεια, κολλήστε τα καλώδια για την παροχή ρεύματος και το σήμα του σερβοκινητήρα στις ακίδες του ESP3. Για να συνδέσω τη φίσα του σερβοκινητήρα, κόλλησα μια φίσα βραχυκυκλωτήρα στα καλώδια. Έτσι το κύκλωμα είναι 32 τελειωμένο, και όπως μπορείτε να δείτε είναι αρκετά απλό.
Πέρασα τον σερβοκινητήρα και τα καλώδια ρεύματος μέσα από τις τρύπες στο μικρό κουτί. Στη συνέχεια κόλλησα το έκκεντρο ESP32 στο κάλυμμα, ευθυγραμμίζοντας την κάμερα με την τρύπα. Τοποθέτησα τον σερβοκινητήρα στο στήριγμα που θα κρατά την κάμερα ψηλά και το ασφάλισα με δύο μπουλόνια. Τοποθέτησα το στήριγμα στο μικρό κουτί με δύο βίδες, έτσι ώστε η κάμερα να μπορεί να γέρνει. Για να μην αγγίξουν οι βίδες μέσα στα καλώδια, τα προστάτεψα με θερμοσυστελλόμενο σωλήνα. Μετά έκλεισα το κάλυμμα με την κάμερα με τέσσερις βίδες. Σε αυτό το σημείο μένει μόνο η συναρμολόγηση της βάσης. Πέρασα τον άξονα του σερβοκινητήρα μέσα από την τρύπα στη βάση και βίδωσα τον μικρό βραχίονα στον άξονα. Μετά κόλλησα το μπράτσο στη βάση. Με αυτόν τον τρόπο ο σερβοκινητήρας μπορεί να μετακινήσει την κάμερα κατά 180 μοίρες.
Και έτσι ολοκληρώσαμε την κατασκευή της κάμερας. Για να το τροφοδοτήσουμε μπορούμε να χρησιμοποιήσουμε οποιοδήποτε τροφοδοτικό 2v. Χρησιμοποιώντας τις τρύπες στη βάση, μπορούμε να βιδώσουμε την κάμερα σε τοίχο ή ξύλινη επιφάνεια.
Βήμα 6: Ρύθμιση του πίνακα ελέγχου Home Assistant
Για να δείτε το ζωντανό βίντεο από την κάμερα, να μετακινήσετε τον κινητήρα, να ενεργοποιήσετε το led και να μετακινήσετε τον κινητήρα από τη διεπαφή του Home Assistant χρειαζόμαστε τέσσερις κάρτες στο ταμπλό του Home Assistant.
- Η 2η είναι μια κάρτα εικόνας με ματιά, που σας επιτρέπει να δείτε το ζωντανό βίντεο από την κάμερα. Στις ρυθμίσεις της κάρτας, απλώς επιλέξτε την οντότητα της κάμερας και ορίστε την Κάμερα View στο auto (αυτό είναι σημαντικό γιατί αν το ρυθμίσετε σε live η κάμερα στέλνει πάντα το βίντεο και υπερθερμαίνεται).
- Τότε χρειαζόμαστε ένα κουμπί για να τραβήξουμε φωτογραφίες από την κάμερα. Αυτό είναι λίγο πιο δύσκολο. Πρώτα πρέπει να μπούμε στο File Πρόσθετο Editor (αν δεν το έχετε, μπορείτε να το εγκαταστήσετε από το κατάστημα πρόσθετων) στο φάκελο con2g και δημιουργήστε έναν νέο φάκελο για να αποθηκεύσετε τις φωτογραφίες, στην περίπτωση αυτή που ονομάζεται κάμερα. Ο κώδικας για το πρόγραμμα επεξεργασίας κειμένου για το κουμπί είναι παρακάτω.
ow_name: αληθινό
show_icon: αληθινό
τύπος: κουμπί
tap_action:
δράση: κλήση-υπηρεσία
υπηρεσία: κάμερα.στιγμιότυπο
δεδομένα:
fileόνομα: /config/camera/telecamera_1_{{ now().strftime(“%Y-%m-%d-%H:%M:%S”) }}.jpg
#change το όνομα της οντότητας παραπάνω με το όνομα της οντότητας της κάμεράς σας
στόχος:
entity_id:
– camera.telecamera_1 #αλλαγή του ονόματος της οντότητας με το όνομα της οντότητας της κάμεράς σας
όνομα: Τραβήξτε φωτογραφία
ύψος_εικονιδίου: 50 εικονοστοιχεία
εικονίδιο: mdi:camera
hold_action:
δράση: όχι
- Η κάμερα έχει και led, ακόμα κι αν δεν είναι ικανή να φωτίσει ολόκληρο δωμάτιο. Για αυτό χρησιμοποίησα μια άλλη κάρτα κουμπιών, που αλλάζει την οντότητα του led όταν πατιέται.
- Η τελευταία κάρτα είναι μια κάρτα οντοτήτων, που έχω δημιουργήσει με την οντότητα του σερβοκινητήρα. Έτσι με αυτήν την κάρτα έχουμε ένα πολύ απλό ρυθμιστικό για να ελέγξουμε τη γωνία του μοτέρ και να μετακινήσουμε την κάμερα.
Οργάνωσα τα φύλλα μου σε κάθετη στοίβα και σε οριζόντια στοίβα, αλλά αυτό είναι εντελώς προαιρετικό. Ωστόσο, ο πίνακας εργαλείων σας θα πρέπει να μοιάζει με αυτόν που φαίνεται στην παραπάνω εικόνα. Φυσικά μπορείτε να προσαρμόσετε τις κάρτες ακόμα περισσότερο, ώστε να καλύπτουν τις ανάγκες σας.
Βήμα 7: Λειτουργεί!
Τέλος, η κάμερα λειτουργεί και στην εφαρμογή Home Assistant μπορώ να δω τι βλέπει η κάμερα σε πραγματικό χρόνο. Από την εφαρμογή μπορώ επίσης να κάνω την κάμερα να κινείται μετακινώντας το ρυθμιστικό, για να κοιτάξω σε μεγαλύτερο χώρο. Όπως είπα και πριν η κάμερα έχει και LED, αν και το φως που βγάζει δεν σε αφήνει να δεις τη νύχτα. Από την εφαρμογή μπορείτε να τραβήξετε φωτογραφίες από την κάμερα, αλλά δεν μπορείτε να τραβήξετε βίντεο. Οι φωτογραφίες που τραβήξατε φαίνονται στον φάκελο που δημιουργήσαμε στο Home Assistant. Για να μεταφέρετε την κάμερα στο επόμενο επίπεδο, μπορείτε να συνδέσετε την κάμερα σε έναν αισθητήρα κίνησης ή έναν αισθητήρα ανοίγματος πόρτας, ο οποίος όταν ανιχνεύσει κίνηση θα τραβήξει μια φωτογραφία με την κάμερα.
Λοιπόν, αυτή είναι η κάμερα ασφαλείας ESP32. Δεν είναι η πιο προηγμένη κάμερα, αλλά σε αυτή την τιμή δεν μπορείτε να κάνετε τίποτα καλύτερο. Ελπίζω να σας άρεσε αυτός ο οδηγός και ίσως σας φάνηκε χρήσιμος. Για να δείτε περισσότερες λεπτομέρειες σχετικά με αυτό το έργο, μπορείτε να 2ον το βίντεο στο κανάλι μου στο YouTube (είναι στα ιταλικά αλλά έχει αγγλικούς υπότιτλους).
Έγγραφα / Πόροι
![]() |
instructables Σούπερ φθηνή κάμερα ασφαλείας με κάμερα ESP32 [pdf] Εγχειρίδιο οδηγιών Εξαιρετικά φθηνή κάμερα ασφαλείας με κάμερα ESP32, εξαιρετικά φθηνή κάμερα ασφαλείας, κάμερα ασφαλείας ESP32, φθηνή κάμερα ασφαλείας, κάμερα ασφαλείας, κάμερα |