İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Bu sistem, özelleştirilmiş bir kibrit kutusu kasasında bir pizzaro, wifi dongle ve eski bir web kamerası kullanır. Garaj yolumdaki herhangi bir önemli hareketin hareket algılama videolarını 27 fps'de kaydeder. Ardından klipleri bir dropbox hesabına yükler. Ayrıca, günlükleri görüntüleyebilir ve yapılandırmayı dropbox aracılığıyla değiştirebilir.
Adım 1: Ön Koşulları Ayarlama
Öncelikle işletim sistemini burada açıklandığı gibi en son sürüme güncelleyin.
Ardından wifi'yi burada açıklandığı gibi kurun.
Ardından OpenCv'yi kurmanız gerekecek. Bunun pyimagesearch'te nasıl yapılacağına dair iyi talimatlar var. 3.0 sürümüne gidiyorsanız, bunun uzun sürmesini bekleyin. Adımlardan birinin yapılması 9 saat sürüyor. Ayrıca o sayfada açıklanan python bağlamalarına da ihtiyacınız olacak.
Tüm bunları kurup çalıştırdığınızda, hareket algılama yazılımını indirmeye hazırsınız demektir.
Adım 2: Hareket Algılama Yazılımını Ayarlama
Kod bitbucket'te bulunabilir. kullanarak bu dosyaları kopyalayın.
git klonu
veya ayrı ayrı indirmeyi tercih ederseniz.
Bu sistemin ana kısmı multiMotionDetect.py'dir. Çok işlemli kuyrukların ve olayların çoğunu kullanır.
Her şeyden önce, MotionVideos'un video görüntülerinin nerede saklanmasını istediğinize karar vermeniz ve bu değeri globalConfig.json dosyasında ayarlamanız gerekir. Ardından config.json.txt ve maskedAreas.json.txt dosyalarını bu klasörün kök dizinine kopyalayın. config.json.txt, uzaktan düzenlenebilen aşağıdaki ayara sahiptir.
{ "frameThreshold": "4", "staticThreshold":"100", "min_area":"650", "postSeconds":"7", "readCamNice":"-6", "checkMotionNice":"5", "writeCamNice":"5", "maxqsize":"6"
}
FrameThreshold: Hareket algılanmadan önceki önemli karelerin sayısıdır.
staticThreshold: Filmi kapatmadan önceki statik kare sayısıdır.
minArea: Alanın anlamlı sayılabilmesi için minimum boyutudur.
postSeconds: Bu, hareketin kuyruktan geçmesi için çekimin bitiminden itibaren saniye sayısıdır. readCamNice: Bu, kullanıcılara ne kadar öncelik verilmesi gerektiğidir.
readCam işlemi. Bu -20 ile +20 arasındadır (rakam ne kadar düşükse öncelik o kadar yüksektir). Ama aşırıya kaçmayın yoksa işletim sistemini çökerteceksiniz.
checkMotionNice: Hareket algılama işlemi için öncelik.
writeCamNice: Kamera yazma işleminin önceliği.
maxqsize: Bu, daha sonra saniyedeki kare sayısıyla çarpılan saniye sayısıdır.
Rüzgar koşullarını hesaba katmak için çoğunlukla min_area'yı değiştiririm.
Soket kaydedici yerine basit bir günlükçü kullanmayı tercih ediyorsanız (aşağıda) içe aktarma miaLogging'i şu şekilde değiştirin:
ithalat günlüğü
logging.basicConfig(filename='example.log', level=logging. DEBUG)
ve günlük alıcısını motionDetect dosyasından kaldırın; diğer her şey düzgün çalışmalıdır.
Hareket algılamayı başlangıçta otomatik olarak çalıştırmak istiyorsanız.
Önce betiği düzenleyin ve homedir'in multiMotionDetect.py'ye sahip olduğunuz yeri gösterdiğini kontrol edin, ardından motionDetect dosyasını /etc/init.d dizinine kopyalayın.
cp motionDetect /etc/init.d/motionDetect
Zaten çalıştırılabilir olmalı ama
chmod +x /etc/init.d/motionDetect
Sonunda betiği ile kaydedin
sudo update-rc.d motionDetect varsayılanları
ile sistemi başlatabilir, durdurabilir ve yeniden başlatabilirsiniz.
sudo /etc/init.d/motionDetect başlat|durdur|yeniden başlat
Varsayılan olarak miaLogReceiver soket günlüğü aynı anda başlayacaktır. Diğer üç program bağımsızdır ancak aynı soket kaydediciyi kullanır (ancak kolayca dönüştürülebilir). Tüm bunları farklı aralıklarla bir cron betiği kullanarak çağırıyorum. Talimatlar için buraya bakın.
CheckRunning.py, multiMotionDetect.py'nin çalıştığını kontrol eder ve çalışmıyorsa yeniden başlatır.
fileMaint.py, belirtilen gün sayısından sonra bunları kaldırarak video klasörlerinde temizlik yapar. İlk paragrafta ayarlanan hareketli video klasörünün alt dizinlerini kaldırır. "MV" ile başlayıp başlamadıklarını kontrol eder, bu nedenle bu klasörde aynı karakterlerle başlayan başka bir önemli dizininiz olmadığından emin olun.
3. Adım: Dropbox Üzerinden Videolara ve Yapılandırmaya Erişme
Son olarak, videolarınızı, günlüklerinizi ve yapılandırma dosyalarınızı uzaktan görüntülemek istiyorsanız, dropbox'ı kurmanız gerekecektir.
İlk önce ücretsiz bir dropbox hesabı edinin. Ardından python için API'yi ayarlayın -https://www.dropbox.com/developers/documentation/… Bu, sdk'yi indirmeyi ve API'ye erişmek için uygulamayı kaydetmeyi içerir.
Bir anahtarınız olduğunda, bunu globalConfig.json dosyasına girin. Sistemle ilgili daha fazla bilgiyi blogumda bulabilirsiniz dani cymru - cyber renegade İlginizi çeken herhangi bir şey veya herhangi bir sorunuz varsa, lütfen bloga bir yorum yazın.