ESP32-cam Kullanım Kılavuzu ile Süper Ucuz Güvenlik Kamerası
ESP32-cam ile Süper Ucuz Güvenlik Kamerası
Giovanni Aggiustatuto tarafından
Bugün sadece 5€'ya mal olan, bir pizza veya hamburger gibi bir video gözetim kamerası yapacağız. Bu kamera WiFi'ye bağlı, bu sayede evimizi veya kameranın gördüğü şeyleri telefondan, yerel ağdan veya dışarıdan, her yerden kontrol edebileceğiz. Ayrıca kamerayı hareket ettiren bir motor ekleyeceğiz, böylece kameranın bakabileceği açıyı artırabileceğiz. Bu tür bir kamera güvenlik kamerası olarak kullanılmasının yanı sıra, bir 3D yazıcının düzgün çalışıp çalışmadığını kontrol etmek ve sorun olması durumunda durdurmak gibi birçok başka amaç için de kullanılabilir. Ama şimdi başlayalım
Bu proje hakkında daha fazla ayrıntı görmek için YouTube kanalımdaki videoyu izleyin (İtalyanca ama (İngilizce altyazılı).
Tedarik:
Bu kamerayı yapmak için ESP32 cam kartına, onunla birlikte verilen minik kameraya ve bir usb-seri adaptöre ihtiyacımız olacak. ESP32 cam kartı, üzerinde bu minik kamera bulunan normal bir ESP32'dir, hepsi bir arada PCB'dir. Bilmeyenler için, ESP32 Arduino'ya benzer programlanabilir bir karttır, ancak çok daha güçlü bir çipe ve WiFi'ye bağlanma yeteneğine sahiptir. Bu yüzden geçmişte çeşitli akıllı ev projelerimde ESP32 kullandım. Daha önce de söylediğim gibi, ESP32 cam kartı Aliexpress'te yaklaşık 5 avroya mal oluyor.
Bunlara ek olarak şunlara ihtiyacımız olacak:
- bir servo motor, mikrodenetleyici tarafından kendisine iletilen belirli bir açıya ulaşabilen bir motordur
- bazı teller
Aletler:
- lehimleme demiri (isteğe bağlı)
- 3D yazıcı (isteğe bağlı)
Telefondan veya bilgisayardan kameranın ne gördüğünü görmek ve fotoğraf çekmek için kullanacağız Ev Asistanı ve ESPhome, ama onlar hakkında daha sonra konuşacağız.
Adım 1: ESP32-cam'ı hazırlama
Öncelikle kamerayı çok kırılgan olan küçük konnektörle karta bağlamanız gerekiyor. Konnektörü yerleştirdikten sonra kolu aşağı indirebilirsiniz. Daha sonra kamerayı çift taraflı bantla kartın üstüne tutturdum. ESP32 kameranın ayrıca bir mikro SD takma özelliği de var ve bugün kullanmasak da fotoğraf çekmemize ve bunları doğrudan orada kaydetmemize olanak sağlıyor.
Adım 2: Kodu Yükleme
Genellikle Arduino ve ESP kartlarında programı bilgisayardan yüklemek için bir USB soketi bulunur. Ancak bunda USB soketi yok, bu yüzden programı yüklemek için bilgisayara bağlamak için doğrudan pinler aracılığıyla çip ile iletişim kuran bir USB-seri adaptörüne ihtiyacınız var. Bulduğum bu tür kartlar için özel olarak yapılmış, bu yüzden başka bir bağlantı yapmaya gerek kalmadan sadece pinlere bağlanıyor. Ancak, evrensel USB-seri adaptörleri de 2ne olmalıdır. Programı yüklemek için ayrıca pin 2'ı toprağa bağlamanız gerekir. Bunu yapmak için bu iki pine bir jumper konektörü lehimledim. Bu yüzden kartı programlamam gerektiğinde sadece iki pin arasına bir jumper yerleştiriyorum.
Adım 3: Kamerayı Home Assistant'a Bağlama
Ama şimdi kamerayı çalıştıracak yazılıma bir bakalım. Daha önce de söylediğim gibi, kamera Home Assistant'a bağlanacak. Home Assistant, akıllı ampuller ve prizler gibi tüm ev otomasyon cihazlarımızı tek bir arayüzden kontrol etmemizi sağlayan yerel olarak çalışan bir ev otomasyon sistemidir.
Home Assistant'ı çalıştırmak için sanal bir makine çalıştıran eski bir Windows PC kullanıyorum, ancak varsa daha az güç tüketen bir Raspberry Pi kullanabilirsiniz. Akıllı telefonunuzdaki verileri görmek için Home Assistant uygulamasını indirebilirsiniz. Yerel ağın dışından bağlanmak için en basit çözüm olan ancak ücretsiz olmayan Nabu Casa Cloud'u kullanıyorum. Başka çözümler de var ancak tamamen güvenli değiller.
Yani Home Assistant uygulamasından kamerayı canlı video olarak görebileceğiz. Kamerayı Home Assistant'a bağlamak için ESPhome'u kullanacağız. ESPhome, ESP kartlarını WiFi üzerinden Home Assistant'a bağlamamızı sağlayan bir eklentidir. ESP32-cam'ı ESPhome'a bağlamak için şu adımları izleyebilirsiniz:
- Home Assistant'a ESPhome eklentisini yükleyin
- ESPhome'un panosunda Yeni cihaz'a ve Devam'a tıklayın
- Cihazınıza bir isim verin
- ESP8266'yı veya kullandığınız kartı seçin
- Verilen şifreleme anahtarını kopyalayın, daha sonra buna ihtiyacımız olacak
- Cihazın kodunu görmek için DÜZENLE'ye tıklayın
- Esp32 altında: bu kodu yapıştırın (framework: ile ve type: commented)
esp32
pano: esp32cam
#çerçeve:
# tip: arduino
- Altına, wi2 ssid ve şifrenizi girin
- Bağlantıyı daha stabil hale getirmek için, şu kodla karta statik IP adresi verebilirsiniz:
Wifi:
ssid: seninki
şifre: wifişifreniz
manuel_ip
# Bunu ESP'nin IP'sine ayarlayın
statik_ip: 192.168.1.61
# Bunu yönlendiricinin IP adresine ayarlayın. Genellikle .1 ile biter
geçit: 192.168.1.1
# Ağın alt ağı. 255.255.255.0 çoğu ev ağı için çalışır.
alt: 255.255.255.0
- Kodun sonuna şunu yapıştırın:
2_kamera:
isim: Telekamera 1
harici_saat:
toplu iğne: GPIO0
sıklık: 20MHz
i2c_pinleri:
sda: GPIO26
ek: GPIO27
veri_pinleri: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
vsync_pin: GPIO25
href_pin: GPIO23
piksel_saat_pin: GPIO22
güç_kapatma_pin: GPIO32
Çözünürlük: 800×600
jpeg_kalitesi: 10
dikey_çevirme: YANLIŞ
çıktı:
– platform: gpio
pin: GPIO4
kimlik: gpio_4
– platform: ledc
kimlik: pwm_output
pin: GPIO2
frekans: 50Hz
ışık:
– platform: ikili
çıktı: gpio_4
isim: Luce telekamera 1
sayı:
– platform: şablon
isim: Servo Kontrol
min_değer: -100
maksimum_değer: 100
adım: 1
iyimser: doğru
eylem_ayarla:
Daha sonra:
– servo.yaz:
id: benim_servo
seviye: !lambda 'x / 100.0'ı döndür;'
servo:
– id: benim_servo
çıktı: pwm_output
geçiş_uzunluğu: 5s
Kodun 2. kısmı, esp32_camera: altında, gerçek kamera için tüm pinleri tanımlar. Sonra light: ile kameranın led'i tanımlanır. Kodun sonunda servo motor tanımlanır ve servonun dönüş açısını ayarlamak için kullandığı değer Home Assistant'tan şu numara ile okunur:.
Sonunda kod şu şekilde görünmeli, ancak Aşağıdaki kodu doğrudan yapıştırmayın, her cihaza farklı bir şifreleme anahtarı veriliyor.
telefon:
isim: Kamera-1
esp32:
pano: esp32cam
#çerçeve:
# tip: arduino
# Olanak vermek günlük kaydı
Ger:
# Home Assistant API'yi etkinleştir
API'si:
şifreleme:
anahtar: “şifrelemeanahtarı”
Türkçe:
şifre: “şifre”
Wifi:
ssid: “sizinssid”
şifre: “şifreniz”
# Wifi bağlantısı başarısız olursa yedek etkin noktayı (captive portal) etkinleştirin
ap:
ssid: “Kamera-1 Yedek Erişim Noktası”
şifre: “şifre”
esir_portal:
esp32_kamera:
isim: Telecamera 1
harici_saat:
pin: GPIO0
frekans: 20MHz
i2c_pinleri:
sda: GPIO26
Scl: GPIO27
veri_pinleri: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35] vsync_pin: GPIO25
href_pin: GPIO23
piksel_saat_pin: GPIO22
güç_kapatma_pin: GPIO32
çözünürlük: 800×600
jpeg_kalitesi: 10
dikey_çevirme: Yanlış
çıktı:
– platform: gpio
pin: GPIO4
kimlik: gpio_4
– platform: ledc
kimlik: pwm_output
pin: GPIO2
frekans: 50Hz
ışık:
– platform: ikili
çıktı: gpio_4
isim: Luce telekamera 1
sayı:
– platform: şablon
isim: Servo Kontrol
min_değer: -100
maksimum_değer: 100
adım: 1
iyimser: doğru
eylem_ayarla:
Daha sonra:
– servo.yaz:
id: benim_servo
seviye: !lambda 'x / 100.0'ı döndür;'
ESP32-cam ile Süper Ucuz Güvenlik Kamerası: Sayfa 12
Adım 4: Bağlantılar
servo:
– id: benim_servo
çıktı: pwm_output
geçiş_uzunluğu: 5s
- Kod tamamlandıktan sonra Install'a tıklayıp, ESP32'nin seri adaptörünü USB kablosuyla bilgisayarımıza bağlayıp, ekrandaki talimatları izleyerek bir önceki adımda gördüğünüz gibi kodu yükleyebiliriz (oldukça kolay!)
- ESP32-cam WiFi'ye bağlandığında, Home Assistant ayarlarına gidebiliriz; burada muhtemelen Home Assistant'ın yeni cihazı keşfettiğini göreceğiz.
- Yapılandır'a tıklayın ve daha önce kopyaladığınız şifreleme anahtarını oraya yapıştırın.
Program yüklendikten sonra şunları yapabilirsiniz: toprak ile toprak arasındaki jumper'ı çıkarın pim 0, ve kartı çalıştırın (jumper çıkarılmazsa kart çalışmaz). Cihazın günlüklerine bakarsanız, ESP32-cam'in WiFi'ye bağlandığını görmelisiniz. Aşağıdaki adımlarda, kameradan canlı videoyu görmek, motoru hareket ettirmek ve kameradan fotoğraf çekmek için Home Assistant panosunu nasıl yapılandıracağımızı göreceğiz
Adım 4: Bağlantılar
ESP32'yi programladıktan sonra usb'den seri adaptörü çıkarabilir ve kartı doğrudan 5v pininden çalıştırabiliriz. Ve bu noktada kameranın sadece monte etmek için bir muhafazası eksik. Ancak kamerayı hareketsiz bırakmak sıkıcı, bu yüzden onu hareket ettirmek için bir motor eklemeye karar verdim. Özellikle, ESP2 tarafından kendisine iletilen belirli bir açıya ulaşabilen bir servo motor kullanacağım. Servo motorun kahverengi ve kırmızı tellerini güç kaynağına, sinyal olan sarı teli ise ESP2'nin 32. pinine bağladım. Yukarıdaki resimde şemaları 2. olarak görebilirsiniz.
Adım 5: Muhafazanın İnşası
Şimdi test devresini 2-bitmiş bir ürüne daha çok benzeyen bir şeye dönüştürmem gerekiyor. Bu yüzden kamerayı monte edeceğim küçük kutuyu yapmak için tüm parçaları tasarladım ve 3D yazdırdım. Aşağıda 2D yazdırma için .stl 2les'ı 3. olarak görebilirsiniz. Daha sonra güç kaynağı ve servo motor sinyali için kabloları ESP32'deki pinlere lehimledim. Servo motor konnektörünü bağlamak için kablolara bir jumper konnektörü lehimledim. Yani devre 2-bitmiş ve görebileceğiniz gibi oldukça basit.
Servomotoru ve güç kablolarını küçük kutudaki deliklerden geçirdim. Sonra ESP32 kamını kapağa yapıştırdım, kamerayı delikle hizaladım. Servo motoru kamerayı tutacak brakete monte ettim ve iki cıvata ile sabitledim. Braketi kamera eğilebilsin diye iki vidayla küçük kutuya tutturdum. İçerideki vidaların kablolara temas etmesini önlemek için onları ısıyla daralan makaronla korudum. Sonra kameranın bulunduğu kapağı dört vidayla kapattım. Bu noktada geriye sadece tabanı monte etmek kalıyor. Servo motor şaftını tabandaki delikten geçirdim ve küçük kolu şafta vidaladım. Sonra kolu tabana yapıştırdım. Bu şekilde servomotor kamerayı 180 derece hareket ettirebiliyor.
Ve böylece kamerayı yapmayı 2 bitirdik. Güç sağlamak için herhangi bir 5v güç kaynağını kullanabiliriz. Tabandaki delikleri kullanarak kamerayı bir duvara veya ahşap yüzeye vidalayabiliriz.
Adım 6: Home Assistant Pano'yu Ayarlama
Home Assistant arayüzünden kameradan canlı videoyu izlemek, motoru hareket ettirmek, led'i yakmak ve motoru hareket ettirmek için Home Assistant'ın gösterge panelinde bulunan dört karta ihtiyacımız var.
- 2.si, kameradan canlı videoyu görmenizi sağlayan bir resim bakış kartıdır. Kartın ayarlarında, sadece kameranın varlığını seçin ve Kamerayı ayarlayın View otomatik olarak ayarlayın (bu önemlidir çünkü canlı olarak ayarlarsanız kamera her zaman videoyu gönderir ve aşırı ısınır).
- Sonra kameradan fotoğraf çekmek için bir butona ihtiyacımız var. Bu biraz daha zor. Önce içeri girmeliyiz File Editör eklentisini (eğer yoksa eklenti mağazasından yükleyebilirsiniz) con2g klasörüne yükleyin ve fotoğrafları kaydetmek için yeni bir klasör oluşturun, bu durumda kamera olarak adlandırılır. Düğme için metin düzenleyicinin kodu aşağıdadır.
ow_name: doğru
show_icon: doğru
tür: düğme
dokunma_eylem:
eylem: çağrı hizmeti
hizmet: kamera.anlık görüntü
veri:
filead: /config/camera/telecamera_1_{{ now().strftime(“%Y-%m-%d-%H:%M:%S”) }}.jpg
#yukarıdaki varlık adını kameranızın varlık adıyla değiştirin
hedef:
varlık_kimliği:
– camera.telecamera_1 #varlık adını kameranızın varlığının adıyla değiştirin
isim: Fotoğraf çek
simge_yüksekliği: 50px
simge: mdi:kamera
tutma_eylemi:
eylem: hayır
- Kameranın ayrıca bir led'i var, tüm bir odayı aydınlatma kapasitesi olmasa bile. Bunun için basıldığında led'in varlığını değiştiren başka bir düğme kartı kullandım.
- Son kart, servo motor varlığıyla kurduğum bir varlık kartıdır. Bu kartla, motorun açısını kontrol etmek ve kamerayı hareket ettirmek için çok basit bir kaydırıcımız var.
Kartlarımı dikey ve yatay bir yığın halinde düzenledim, ancak bu tamamen isteğe bağlı. Ancak panonuz yukarıdaki resimde gösterilene benzer görünmelidir. Elbette, ihtiyaçlarınızı karşılamak için kartları daha da özelleştirebilirsiniz.
7. Adım: Çalışıyor!
Son olarak kamera çalışıyor ve Home Assistant uygulamasında kameranın gerçek zamanlı olarak ne gördüğünü görebiliyorum. Uygulamadan kaydırıcıyı hareket ettirerek kamerayı hareket ettirebiliyorum, böylece daha büyük bir alana bakabiliyorum. Daha önce de söylediğim gibi kamerada bir LED de var, ancak yaptığı ışık gece görmenizi sağlamıyor. Uygulamadan kameradan fotoğraf çekebilirsiniz, ancak video çekemezsiniz. Çekilen fotoğraflar Home Assistant'ta daha önce oluşturduğumuz klasörde görülebilir. Kamerayı bir üst seviyeye taşımak için kamerayı bir hareket sensörüne veya bir kapı açma sensörüne bağlayabilirsiniz, bu sensör hareket algıladığında kamera ile fotoğraf çeker.
Yani, bu ESP32 kam güvenlik kamerası. En gelişmiş kamera değil, ancak bu fiyata daha iyisini bulamazsınız. Umarım bu kılavuzu beğenmişsinizdir ve belki de faydalı bulmuşsunuzdur. Bu proje hakkında daha fazla ayrıntı görmek için YouTube kanalımdaki videoyu izleyebilirsiniz (İtalyanca ancak İngilizce altyazıları var).
Belgeler / Kaynaklar
![]() |
ESP32-cam ile Süper Ucuz Güvenlik Kamerası [pdf] Kullanım Kılavuzu ESP32-cam ile Süper Ucuz Güvenlik Kamerası, Süper Ucuz Güvenlik Kamerası, ESP32-cam, Ucuz Güvenlik Kamerası, Güvenlik Kamerası, Kamera |