İçindekiler:

Raspberry PI Kamera ve Işık Kontrolü Ölüm Yıldızı: 5 Adım (Resimlerle)
Raspberry PI Kamera ve Işık Kontrolü Ölüm Yıldızı: 5 Adım (Resimlerle)

Video: Raspberry PI Kamera ve Işık Kontrolü Ölüm Yıldızı: 5 Adım (Resimlerle)

Video: Raspberry PI Kamera ve Işık Kontrolü Ölüm Yıldızı: 5 Adım (Resimlerle)
Video: Raspberry Pi Eğitimi 2024, Temmuz
Anonim
Raspberry PI Kamera ve Işık Kontrolü Ölüm Yıldızı
Raspberry PI Kamera ve Işık Kontrolü Ölüm Yıldızı
Raspberry PI Kamera ve Işık Kontrolü Ölüm Yıldızı
Raspberry PI Kamera ve Işık Kontrolü Ölüm Yıldızı
Raspberry PI Kamera ve Işık Kontrolü Ölüm Yıldızı
Raspberry PI Kamera ve Işık Kontrolü Ölüm Yıldızı

Her zaman olduğu gibi, kullanışlı, sağlam çalışan ve çoğu zaman kullanıma hazır çözümlere kıyasla iyileştirmeler sunan cihazlar oluşturmaya çalışıyorum.

İşte, Arduino tabanlı hareket algılama ve ışık kontrolleri ile birlikte bir Raspberry PI kalkanı olan, orijinal olarak Shadow 0f Phoenix adlı bir başka harika proje.

Adım 1: Ticari IP Kameraların Durumu

Ticari IP Kameraların Durumu
Ticari IP Kameraların Durumu
Ticari IP Kameraların Durumu
Ticari IP Kameraların Durumu
Ticari IP Kameraların Durumu
Ticari IP Kameraların Durumu

Bunun yanı sıra kendi kamera/gözetleme sisteminizi oluşturmak daha havalı, hadi bunun neden hazır bir çözümden bir gelişme olduğunu görelim.

Neo coolcams (ONVIF) kameraların bu çeşitli modellerinin çoğuna sahip olduğum için NEO COOLCAM Full HD 1080P Kablosuz IP Kamera serisiyle karşılaştıracağım. Dış ve iç mekanlarda farklı şekil ve boyutlarda gelirler, çoğu wifi desteğine sahiptir, ancak uyarılarını görelim:

  • Bu kameraları satan Çinli üreticiler neredeyse her zaman yerleşik görüntü sensörü çözünürlüğü hakkında yalan söylüyorlar, Ebay'den 5MP/8MP kamera satın aldığınızda kötü resimli ucuz bir 2MP kamera elde edebilirsiniz (çalışıyor ancak kalitesi çöp). Orijinal satıcıdan 8MP Raspberry PI v2 kamerayı satın aldığınızda, ödediğinizin karşılığını alacaksınız ve 3280 × 2464 piksel çözünürlüğe sahip gerçek 8MP sensör =>
  • Güvenlik açısından bu kameralar (hatta daha pahalı Dlink ve diğer modeller) korkunçtur, 123456 gibi varsayılan şifreleri kullanırlar veya değiştiremeyeceğiniz şeyleri bile admin/admin operatör/operatör gibi yerleşik kullanıcılar kullanırlar. yeniden başlatmanın ardından değişiklik gitti. Bu kameraların birçoğunu ev telefonuyla tamamlayın (Çin'deki sunucularına bağlanın, hatta bazıları bir gün kontrol etmek için Android/Iphone uygulamalarını yüklemeye karar vermeniz durumunda daha kolay hale getirmek için sizden video/resim akışı sağlar. ev). Bu cihazları bir yönlendiricinin arkasına koysanız bile, bu yeterince iyi değil, en iyisi onlara varsayılan bir ağ geçidi ayarlamamanız, güvenlik duvarını kapatmamanız veya dışarı çıkmalarını imkansız kılmak için bir VLAN'a yerleştirmenizdir. İnternet veya daha iyisi: onları hiç kullanmayın.
  • Daha güvenilirler mi? hayır, birçoğu daha pahalı DLINK'ler bile kamerayı günlük/haftalık yeniden başlatma seçeneğine sahiptir. Bu seçeneğin bir nedeni vardır, çünkü X günden sonra genellikle Wifi bağlantısını kaybederler veya başka şekillerde hatalı davranırlar. Bunları sadece daha sık yeniden başlatılması gereken eski Win95 kutuları olarak düşünün:) Raspi tabanlı donanımların o kadar sağlam olduğunu söylemiyorum ki onları kontrol nükleer santrallerine ancak uygun donanım/yazılımla kurabilirsiniz. SDCARD'da yapılandırma, soğutucular, otomatik soğutma fanları ve minimum RW çalışması, 100+ günlük çalışma süresini sorunsuz bir şekilde yakalayabilirler. DeathStar çalışmam 34 günden beri çalışıyor, 100'ün üzerindeydi ama bazen diğer devrelerime güç veren güç kaynağındaki beslemeyi hackliyordum, bu yüzden kapatmak zorunda kaldım:(
  • Hedeflenen donanım: 1 özel amaç için yapılırlar, genellikle küçük bir nvram alanı ve meşgul kutusu ile gelirler, ancak bazı modeller bu kabuğa erişimi de imkansız hale getirir, bu nedenle bunları kullanabileceğiniz tek şey, siz yaparken kullanılmaları gerektiğidir. Raspi tabanlı kameranızı başka herhangi bir görev için kullanın: dosya sunucusu, tftp/dhcp sunucusu, web sunucusu, deprem sunucusu… seçenekler sınırsızdır.
  • Depolama alanı: ya hiç yok ya da ahududu üzerinde FAT32 dosya sistemi VS ile microsd kartlar kullanıyorlar, isterseniz 2 TB sabit disk bile takabilirsiniz.
  • Işıkları kontrol etme: Bazılarında, ışıkların tetiklenmesi için küçük bir röle bağlayabileceğiniz bir ALARM çıkışı bulunur. Bu derste size göstereceğim gibi, kızılötesi kameraları kullanmak tamamen zaman kaybıdır çünkü kötü kalite nedeniyle IR resimlerinde kimseyi tanımlayamazsınız. Karanlıkta bir video kaydetmeniz gerekiyorsa, bunu yapmanın en iyi yolu önce biraz ışık açmak ve ardından videoyu kaydetmektir.

Yani, kullanıma hazır bir kamera kullanmanın herhangi bir PRO'su var mı diye sorabilirsiniz. Evet, çalışma saatlerinin Raspberry pis ile uğraşmaktan daha pahalı olacağı işletmeler için (zaten benim için değil:)) ve evet, birinci sınıf kameralar var (pi kameradan daha iyi çözünürlüğe sahip 500$+) kurs). Diğer bir avantaj olarak, ONVIF standardını takip eden kameraların merkezi provizyonu kolaylaştırdığını söyleyebilirim. Bu, IP/Ağ maskesini/Ağ Geçidini ve diğer şeyleri ayarlamak için kameraya komutlar göndermek için kullanılabilecek standart bir arayüz sağlar. Bunun için Sourceforge'dan Onvif cihaz yöneticisini indirebilirsiniz. Bu cihazların çoğu, örneğin, bu alanları doğrulayan javascript arızalı olduğundan ve bu parametreleri doğru bir şekilde ayarlamanın tek yolu ONVIF üzerinden olduğu için, örneğin ip veya ağ maskesini doğru şekilde ayarlamanıza izin vermeyen berbat kırık web ön yüzleriyle birlikte gelir.

2. Adım: Ölüm Yıldızının Planları

Ölüm Yıldızı'nın Planları
Ölüm Yıldızı'nın Planları
Ölüm Yıldızı'nın Planları
Ölüm Yıldızı'nın Planları
Ölüm Yıldızı'nın Planları
Ölüm Yıldızı'nın Planları

Bu cihazı, 1'den 3B+'ya kadar herhangi bir Raspberry PI ile oluşturabilirsiniz. Sıfırın bile kamera bağlantı noktaları vardır, ancak piyasada çok farklı ikinci el raspiler olduğundan, bu yapı için hangisinin en ideal olduğunu merak ediyor olabilirsiniz.

Cevap, video akışını nerede işlemek istediğinize bağlıdır.

İki seçenek var:

1, Videoları yerel olarak hareketle işleyin ve hareket algılandığında bir video akışını iletin (not: hareket, ne olursa olsun sunucuya yavaş ve sabit bir akış iletir, bu, kullandığınız çözünürlük ve kare hızlarına bağlı olabilir. günde yüz megabayttan birden fazla gigabayta kadar, ölçülü bir bağlantıda kurulum yapmak istiyorsanız sadece bir hatırlatma). Burada CPU önemlidir ve ne yazık ki hareket (yazma sırasında) birden fazla çekirdekten faydalanmaz, ancak işletim sistemi yükü biraz dengelemeye çalışacaktır. %100 kullanımda her zaman çekirdeklerden birine sahip olacaksınız.

2, Videoları merkezi bir sunucuda işleyin: burada sadece ham video akışını kameradan harici bir akış sunucusuna iletirsiniz (bir x86 bilgisayarda çalışan iSpy veya başka bir özel mini bilgisayarda çalışan MotionEyeOS gibi). Yerel olarak işleme olmadığından, kullandığınız PI modeli önemli değildir, PI1, PI3B+ ile aynı akışı gönderir.

Bu derste ilk tercihle gideceğim.

Buradaki temel kural, harekete ne kadar hızlı CPU atarsanız o kadar iyi sonuçlar alacağınızdır. Örneğin bir koridora bakan Raspi 2 tabanlı kameram bazen biri hızlı geçtiğinde onu görmüyordu ve kayıt yaparken kayıt yavaştı, model 3'e kıyasla çok fazla kare düşüyordu. Model 3'te ayrıca 802.11 var. Daha yüksek kaliteli video akışı yapabilmek için kullanışlı olan abgn wifi, kutudan çıktığı gibi çalışır ve oldukça güvenilirdir. 3B+ modelinin çıktığını yazarken bunu 1.4 Ghz Dört Çekirdekli işlemci ile almanızı tavsiye ederim.

Malzeme listesi

  • 30 cm plastik DeathStar:)
  • Ahududu Pi 3 B+
  • PiCam v2 (8MP)
  • Arduino Pro Mikro 5.5v
  • 2x SIP-1A05 Manyetik Anahtar Rölesi
  • 1x ADET HC-SR501 IR Piroelektrik Kızılötesi IR PIR Hareket Sensörü Dedektör Modülü
  • LDR için 1x 10kohm direnç
  • 1x LDR
  • 1x12V 4A DC adaptör
  • 1xWarm Beyaz LED 5050 SMD Esnek Işık Lambası Şeridi 12V DC
  • 1xBuck voltaj regülatörü

Şemalarda görebileceğiniz gibi, bu proje aslında tek bir ışığı tek bir röle ile kontrol etmek için tasarlandı çünkü dahili aydınlatma eklemeyi planlamadım (ki bu oldukça havalı) bu yüzden Arduino'ya ikinci bir röle bağladım. SIP-1A05'in en güzel yanı, dahili flyback diyotuna sahip olması ve mA'daki tüketimin Arduino'nun pin başına güç sınırlamasının çok altında olmasıdır.

PIR'ın resimlerdeki kalkanda olmasının nedeni, başlangıçta S0P'nin DeathStar yerine basit bir IP plastik kutuya konması planlandı. Tahmin edebileceğiniz gibi, kamera doğrudan lazer tabancasının içinde, PIR ve LDR'nin başka bir delinmiş deliğe ihtiyacı vardı ve onları çıkarmayı planlamadığım için tutkalla püskürtüldüler.

DeathStar'ın alt kısmında, güçlü bir 2 bileşenli yapıştırıcıyla büyük bir cıvataya yapıştırdığım bir delik açıldı. Bu, orijinal Neo Coolcams standına vidalanabilir (sonuçta bir şey için iyi oldu:)). Ek bir destek için, yıldızın tepesinde tutunmak için sert bakır teller kullanıyorum.

Güç kaynağıyla ilgili önemli not: Aynı kaynak hem PI'ye, hem Arduino'ya hem de LED şeride güç sağlayacağından, hepsini işleyebilmek için yeterince güçlü olması gerekir, bu nedenle proje için seçtiğiniz LED şeridine dayalı olacaktır. Ticari bir 5050 12v 3 metrelik LED şerit 2A civarında boşalır, bu çok fazla. PI ve Arduino için +2A'da hesaplamanız gerekir (bu aşırı boyutlandırmaya rağmen zarar vermez). Standart halojen ampuller, neon veya diğer yüksek güçlü aydınlatma üzerinde LED şerit kullanmak, tüm bu devreyi yedek olarak güzel bir 12V@10Ah kurşun asit aküye koyabilmenizdir, böylece elektrik kesintisi durumunda bile çalışır.

LED şeridi açmak için doğrudan 12V besleme röleye bağlanırken, Arduino ve PI'ye güç sağlamak için voltaj 12-> 5V'dan düşürülecektir.

Adım 3: Yazılım Arduino

Yazılım Arduino
Yazılım Arduino

Aşağıda, iyi yorumlanmış olan kaynak kodunun tamamını bulabilirsiniz, ancak nasıl çalıştığının kısa bir açıklaması aşağıdadır: Her döngünün başında, Raspberry PI'den gelen bir komut olup olmadığını görmek için normal xcomm() işlevi çağrılır. Koridor ışıklarını AÇIK/KAPALI konuma getirmek için LIGHT_ON/OFF veya DeathStar arka ışığını AÇIK/KAPALI konuma getirmek için DS_ON/OFF olabilir, bunları sadece aşırı mükemmellik uğruna uyguladım çünkü eğer biri PIR'den geçerse onu alıp açmalı ışıklar ama belki de kimse yokken bile herhangi bir nedenle yere bakmak istersiniz.

Bundan sonra fotosel değeri okunur ve hareket pimi hareket için kontrol edilir. Hareket varsa, kod yeterince karanlık olup olmadığını kontrol eder, ardından beklemede olup olmadığımızı kontrol eder. Bütün bunlar geçerse, o zaman sadece koridor ışığını açar ve Raspberry PI'ye PHOENIX_MOTION_DETECTED gönderir, yeterince karanlık değilse yine de bilgisayara sinyal verir ama ışığı açmaz. Bir hareket algılandığında, 5 dakikalık bir tutma zamanlayıcısı başlatılır.

Bundan hemen sonra bir sonraki kod bölümü, beklemede olup olmadığımızı kontrol edecek (bu, yalnızca bir hareket olayı varsa durum böyle olmalıdır, bu yüzden bu kontrolün onaylayabilmesi için 5 dakikanın geçtiğini varsayalım). Kod, tekrar hareket olup olmadığını kontrol eder, değilse ışıkları kapatır. Gördüğünüz gibi, herhangi bir hareket yoksa, bu fonksiyon tekrar tekrar kendini tekrar edecek ve böylece PC'ye herhangi bir geri bildirim olmaması için ışıkları kapatmaya çalışacaktır.

DeathStar'ın iç aydınlatması için tamamen fotosel Okuma < dark_limit'e bağlı olan başka bir bekleme zamanlayıcımız var.

2 rutin birbirinden habersiz olsa da, koridor ışığı yandığında o kadar çok ışık sağladığından LDR tekrar gündüz olduğunu düşünecek ve iç aydınlatmayı kapatacağı için birlikte mükemmel çalışacaklar. Bununla birlikte, bu işlemle ilgili bazı uyarılar vardı, eğer ilgileniyorsanız, kodda açıklanan Nvidia'nın "sadece işe yarıyor!" cevabını alın.

4. Adım: Yazılım Raspberry PI

Yazılım Ahududu PI
Yazılım Ahududu PI
Yazılım Ahududu PI
Yazılım Ahududu PI
Yazılım Ahududu PI
Yazılım Ahududu PI

En son Raspbian benim için çalışıyor:

Raspbian GNU/Linux 9.4 (uzatma)

Linux Phoenix 4.9.35-v7+ #1014 SMP 30 Haz Cum 14:47:43 BST 2017 armv7l GNU/Linux ii hareket 4.0-1 armhf V4L hareket algılamayı destekleyen yakalama programı

Diğer dağıtımları kullanabilirsiniz, ancak kamerayla ilgili herhangi bir sorunla karşılaşırsanız, yalnızca resmi işletim sistemlerini kullanıyorsanız ekipten destek alırsınız. Systemd gibi istenmeyen bloatware'lerin kaldırılması da şiddetle tavsiye edilir.

Hareket ayrıca kaynaktan kolayca oluşturulabilir:

apt-get -y autoconf automake kurulumu pkgconf libtool libjpeg8-dev build-essential libzip-dev apt-get kurulumu libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libavdevice-dev

apt-get -y kurulumu libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libavdevice-dev apt-get -y git klonu yükleyin https://github.com/Motion-Project/motion cd motion/autoreconf -fiv. /configure --prefix=/usr/motion make && make install /usr/motion/bin/motion -v

Video kaydedici/toplayıcı sunucusu olarak iSpy'ı öneririm. Ne yazık ki, yazarken Linux için iyi bir alternatif yok. Kamera, varsayılan bağlantı noktası olan bir MJPEG url https://CAMERA_IP:8081 ile eklenebilir.

Hareket işleme yararlı olabilir, örneğin tüm gün boyunca iSpy sunucunuza bakmak zorunda kalmazsınız, hareket halinde bir e-posta alabilirsiniz. iSpy, hareket durumunda e-postada uyarı verme işlevine sahip olsa da, alana bir miktar ışığın yansıması gibi çeşitli olaylar için arada bir kaydı açar. PIR hareket algılama ile hiçbir zaman tek bir yanlış alarmım olmadı. Uyarılar yerel olarak işlenebilir:

Sensörde pir hareket olayı algılandı > Arduino uyarısı > Konsolda Raspberry pi alıyor > C işleme programı > Harici posta uygulaması

Bununla birlikte, hem günlükleri hem de videoları uzaktan işlemeyi tercih ederim, bu durumda, günlükleri yerel olarak düz bir metin dosyasına kaydederken, aynı zamanda syslog'a kaydeder ve bu, bir SIEM'e iletilirken C kontrol programına bir bölüm ekledim. ilave işlemler.

void logger(char *metin) {

DOSYA *f = fopen("phoenix.log", "a"); if (f == NULL) { printf("Günlük dosyası açılırken hata!\n"); dönüş; } fprintf(f, "%s => %s\n", cur_time(0), metin); fclose(f); #ifdef SYSLOG karakter günlüğü[500]; sprintf(loggy, "%s => %s\n", cur_time(0), metin); setlogmask (LOG_UPTO (LOG_NOTICE)); openlog ("DeathStar", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_USER); //syslog (LOG_NOTICE, "Program %d Kullanıcısı tarafından başlatıldı", getuid ()); sistem günlüğü (LOG_NOTICE, loggy); yakın günlüğü (); #endif dönüş; }

Alıcı tarafta syslog-ng, bu olayları ana günlük akışından ayrıştırabilir:

filtre f_phx{

maç("DeathStar"); }; hedef d_phx { file("/var/log/phoenix/deathstar.log"); }; log { source(s_net); filtre(f_phx); hedef(d_phx); };

ve analiz ve uyarı için başka bir araca (motion.php eke bakınız) aktarılabilir.

Bu komut dosyasında, evde olmadığınız hafta boyunca normal saati kolayca ayarlayabilirsiniz:

$opt['alert_after']='09:00:00'; // Mornings$opt['alert_before']='17:00:00'; // Akşamları

Php programı, günlükleri ayrıştırmak için mükemmel logtail yardımcı programını kullanır.

$cmd = "logtail -o".$offsetfile.' '.$logfile.'>'.$logfile2;

Logtail, konumu bir ofset dosyasında izler, böylece ana program, günlüklere hangi zamandan itibaren bakmaya başlayacağını bilmek zorunda kalmaz, en son işlenmemiş verilerle sağlanır.

Motion.php, günlüklerden geçeceği ancak daha fazla işlem yapmadığı hafta sonları için küçük bir numara ile crontab'dan çalıştırılabilir.

*/5 * * * 1-5 /usr/local/bin/php ~/motion.php &>/dev/null*/5 * * * 6-7 /usr/local/bin/php ~/motion.php hafta sonu &>/dev/null

Adım 5: Sorunlar ve Yapılacaklar Listesi

Sorunlar ve Yapılacaklar Listesi
Sorunlar ve Yapılacaklar Listesi
Sorunlar ve Yapılacaklar Listesi
Sorunlar ve Yapılacaklar Listesi

Raspberry pi 3 veya daha yeni bir sürüm kullanıyorsanız bu bölümü atlayabilirsiniz, büyük olasılıkla artık bu sorunlarla karşılaşmazsınız.

Yıllar boyunca, aynı yazılım yığınını çalıştırabilecek, ancak farklı zamanlarda farklı yerlerden satın alınan Raspberry pi 2 tabanlı kartlarla ilgili bazı sorunlar yaşadım. Cihazda SSHing yapıldığında 2 gün veya 20 gün olabilen belirli bir süre sonra SSH askıda kalıyor, böylece hem hareket arka plan programı hem de Arduino ile konuşan yerel C kodu ram'e yükleniyor, bu nedenle cihaz çalışıyordu. ama bu durumda artık onunla başka bir şey yapmak imkansızdı.

Bir sürü sorun giderme işleminden sonra bir çözüm buldum:

homesync.sh

#!/bin/sh -e

### BEGIN INIT INFO # Sağlar: homesync # Gerekli-Başlangıç: mountkernfs $local_fs # Gerekli-Durdur: camera phoenix # Varsayılan-Başlangıç: S # Varsayılan-Durdur: 0 6 # Kısa Açıklama: Ana senkronizör # Açıklama: Ev senkronizörü by NLD ### END INIT INFO NAME=home DESC="Ramdisk Home Synchronizer" RAM="/home/" DISK="/realhome/" set -e case "$1" in start|forth) echo -n "Starting $ TANIM: " rsync -az --numeric-ids --delete $DISK $RAM &> /dev/null echo "$NAME.";; stop|back) echo -n "$DESC durduruluyor: " rsync -az --numeric-ids --delete $RAM $DISK &> /dev/null echo "$NAME.";; *) echo "Kullanım: $0 {start|stop}" çıkış 1;; esac çıkış 0

Komut dosyası bir fstab değişikliği ile birlikte gider:

tmpfs /ev tmpfs rw, boyut=80%, nosuid, düğüm 0 0

Ev bölümü, Raspberry pi 2'de bazı ikili dosyaları ve küçük günlük dosyalarını depolamak için fazlasıyla yeterli olan yaklaşık 600 MB boş alan sağlayacak olan ramdisk olarak monte edilmiştir:

tmpfs 690M 8.6M 682M %2 /ev

Önce ve sonra birçok kez hatalar için taranan farklı kartları (Samsung EVO, Sandisk) denememe ve diğer dizüstü bilgisayarlarda sorun yaşamamama rağmen, PI askısının SD karttaki yazma işlemlerine atfedildiği ortaya çıktı. geliyor. Raspberry PI 3'ler ve daha yüksek donanımlarla aynı sorunu (henüz) yaşamadım, bu yüzden bu eğitimde onları tavsiye etmemin nedeni de bu.

Raspberry PI 3'ün şu anki hareketi benim için yeterince iyi olsa da, işte keşfetmeye değer bazı fikirler:

  1. Hareketi kullanmayın, ağ üzerinden rastgele bir akış kullanın ve hareket algılama ve video kodlamasını (örneğin iSpy) güçlü bir sunucunun yapmasına izin verin. -> Sorun: sürekli ağ bant genişliği dolanması.
  2. Hareketi kullanın ve video kodlamasını ffmpeg'in yapmasına izin verin. -> Sorun: CPU daha yüksek çözünürlükleri kaldıramıyor
  3. Hareketi kullanın, ham videoyu kaydedin ve kodlamayı güçlü bir sunucunun yapmasına izin verin. -> RPi'de CPU kullanımı düşüktür ve ağ bant genişliği, gerçek hareket olduğunda sınırlıdır. Bu senaryo için, maksimum verim için bir SD karta/ramdisk'e yazabilir ve ardından videoyu başka bir sunucuya kopyalayabiliriz.

Ayrıca, bu projeyi Arduino olmadan inşa etmenin mümkün olduğunu da not ediyorum. Tüm bileşenler (röleler, LDR, PIR) ahududu pi'ye bir şekilde bağlanabilir, ancak sensörler ve çıkış cihazları ile etkileşime girmek için gerçek zamanlı mikro denetleyicileri tercih ederim. Örneğin ahududu pi'min asılı kaldığı veya düştüğü durumlarda, Arduino tarafından yürütülen ışık kontrolü gayet iyi çalıştı.

Bu öğreticiyi beğendiyseniz, bizi izlemeye devam edin çünkü gelecek yıl 360 derece dış mekan ahududu pi sıfır kubbe kameramla seriye devam edeceğim.

Önerilen: