Mündəricat:

Zombi Ağıllı Təhlükəsizlik Bayquşunu Tapır (Dərin Öyrənmə): 10 addım (şəkillərlə)
Zombi Ağıllı Təhlükəsizlik Bayquşunu Tapır (Dərin Öyrənmə): 10 addım (şəkillərlə)

Video: Zombi Ağıllı Təhlükəsizlik Bayquşunu Tapır (Dərin Öyrənmə): 10 addım (şəkillərlə)

Video: Zombi Ağıllı Təhlükəsizlik Bayquşunu Tapır (Dərin Öyrənmə): 10 addım (şəkillərlə)
Video: Biz Kimiz? - Sorgenfri Zombi Filmi Türkçe Dublaj izle 2024, Noyabr
Anonim

Hamıya salam, T3chFlicks -ə xoş gəldiniz! Bu Halloween dərsliyində, adi bir məişət klassikinə necə super qorxunc bir bükülmə qoyduğumuzu göstərəcəyik: təhlükəsizlik kamerası.

Necə?! İnsanları izləmək üçün görüntü emalından istifadə edən bir gecə görmə bayquşu yaratdıq. Oh, və əsl şey kimi, aldanır!

Bu layihədən çox həyəcanlandıq və yeni Raspberry Pi 4 düşəndən bəri bunu gözləyirdik. Real vaxtda dərin öyrənmə modelləri ilə bəzi görüntü emalı etmək də daxil olmaqla bir çox maraqlı imkanların qapısını açan 4 GB RAM var.

Halloween -də zombilərə yaxınlaşmaq və ya bütün il boyu bağçanızı yoxlamaq istəyirsinizsə, bu sizin üçündür. Təhlükəsizliyin təsirli olması üçün cansıxıcı olmamalıdır!

Təchizat

Bu quruluş üçün sizə lazım olacaq:

  • Raspberry Pi 4 (4GB Ram) Amazon
  • Gecə Görmə Kamerası Amazon
  • Mikro Servo Amazon
  • Saxta Bayquş Amazon
  • Amazonu yapışdırın
  • Amazonu rəngləyin
  • Vintlər Amazon
  • USB hoparlör Amazon
  • Böyük (5v+) portativ enerji təchizatı Amazon
  • 3D printer Amazon

Addım 1: Adım 1: Başını kəsin

Addım 1: Başını kəsin
Addım 1: Başını kəsin
Addım 1: Başını kəsin
Addım 1: Başını kəsin
Addım 1: Başını kəsin
Addım 1: Başını kəsin

a. Başını bayağa çəkin (bəzən sadəcə qəddar olmaq məcburiyyətindəsiniz).

b. Bayquşun başı böyük bir bulağın üstündə yerləşən silindrlə bədənə bağlanır. Vidanı çıxararaq bu silindrini çıxarın.

c. Yeni çıxardığınız silindr iki hissədən ibarətdir, plastik bir fincan və içərisində oturan bir rulman. Tornavida (və ya bənzər bir alət) istifadə edərək yatağı silindrdən çıxarın.

d. Silindrini yaya bağlayan vintdən istifadə edərək servoyu silindirə bağlayın.

e. Yayı gövdəyə bağlayan üç vintini açaraq sökün.

f. Bayquşun gövdəsinin üstündə bəzi tellərə və kamera kabelinə sığacaq qədər böyük bir çuxur düzəldin. Bunu etmək üçün bir matkap və bir tornavida birləşməsindən istifadə etdik.

Addım 2: Addım 2: Smart əlavə edin

Addım 2: Smart əlavə edin
Addım 2: Smart əlavə edin
Addım 2: Smart əlavə edin
Addım 2: Smart əlavə edin
Addım 2: Smart əlavə edin
Addım 2: Smart əlavə edin

a. Kamera qutusunu 3D çap edin və bayquşa uyğun rəngləyin - bir neçə ucuz akril boyadan istifadə etdik. Rəsm həyati bir addım deyil, ancaq ümumi görünüşü əhəmiyyətli dərəcədə yaxşılaşdırır!

b. Bayquşun başı tərs olaraq kamera gövdəsinin üst hissəsini başının içərisinə vidalayın ki, gaga çıxsın.

c. Kameranı qutuya qoyun və kamera kabelini bağlayın.

d. Servanı yayın üst panelinə yapışdırın.

e. Uzun telləri servo pinlərə qoşun (5V, Gnd, siqnal)

f. Kamo kabelini və tellərini servo üçün yaydan və gövdənin yuxarı hissəsində düzəltdiyiniz çuxurdan keçirin ki, bayquşun içi boş gövdəsində olsun.

Adım 3: Adım 3: Onu doldurun

Addım 3: Onu doldurun
Addım 3: Onu doldurun
Addım 3: Onu doldurun
Addım 3: Onu doldurun
Addım 3: Onu doldurun
Addım 3: Onu doldurun
Addım 3: Onu doldurun
Addım 3: Onu doldurun

a. Bayquşun altındakı fişi çıxarın və plastik kəsərək bu çuxurun ölçüsünü artırın. Raspberry Pi və hoparlör bayquşun bədəninə sığana qədər ölçüsünü artırmağa davam edin.

b. Çuxur, bütün komponentlərin içəriyə sığması üçün kifayət qədər böyük olduqda, bayquşun üstündən qidalandırdığınız kamera kabelini altdan çıxarın və Raspberry Pi -yə qoşun.

c. Eynilə, servo telləri çəkin və Raspberry Pi -yə qoşun:

  • Servo üzərində +5v = Pi -də +5V
  • Gnd servo => gnd Pi
  • Siqnal servo => pin 12 Pi

d. USB dinamikini Pi -yə qoşun.

e. SD kartı Pi -yə daxil edin.

f. Portativ enerji təchizatı istifadə edərək Power Pi.

g. Pi, enerji təchizatı və dinamikini bazadakı çuxurdan bayquşa daxil edin.

Adım 4: Adım 4: Pi qurun

Addım 4: Pi qurun
Addım 4: Pi qurun

BÜTÜN KODU https://github.com/sk-t3ch/cctv-owl ünvanından tapmaq olar!

a. Raspian proqramını yükləyin və Balena Etcher istifadə edərək SD kartınıza yükləyin.

b. Pi -yə uzaqdan daxil olmaq üçün

  • Boot sd kartınıza ssh adlı bir fayl əlavə edin
  • Wpa_supplicant.conf adlı bir fayl əlavə edin və wifi etimadnamənizi daxil edin

    ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1

    şəbəkə = {ssid = "MySSID" psk = "MyPassword"}

c. SD kartı pi -yə daxil edin və ssh vasitəsilə bir giriş sınayın.

Adım 5: Adım 5: Başı hərəkət etdirin

Addım 5: Başı hərəkət etdirin
Addım 5: Başı hərəkət etdirin

Başı hərəkət etdirmək üçün kod dərsi (moruq pi ilə bir servoya nəzarət)

Pi üzərində işləyən bir servoya nəzarət etmək üçün servonun bağlı olduğu GPIO pinlərini idarə edən bir skript yaradacağıq.

a. Servoyu Pi -yə qoşun:

  • Servoda +5v = Pi -də +5V
  • Gnd servo => gnd Pi üzərində
  • Siqnal servo => Pi üzərindəki 12 pin

b. Əvvəlcə servonun siqnal pinində PWM istifadə etmək üçün gpio pinlərini qurmalısınız.

c. Daha sonra, iş dövrü 2.5 olduqda 180 və 90 dərəcəyə qədər olan bir iş dövrü ilə servonun 90 dərəcədən 7.5 -dən 0 dərəcəyə qədər hərəkət etməsi üçün siqnal pininin vəzifə dövrünü (burada izah olunur) seçmək qədər sadədir. 12.5

GPO olaraq RPi. GPIO idxal edin

idxal vaxtı GPIO.setmode (GPIO. BOARD) GPIO.setwarnings (False) GPIO.setup (12, GPIO. OUT) p = GPIO. PWM (12, 50) p.start (7.5) cəhd edin: while True: p. ChangeDutyCycle (7.5) # 90 dərəcə vaxt.yuxu (1) p. ChangeDutyCycle (2.5) # 0 dərəcə vaxt.yuxu (1) p. ChangeDutyCycle (12.5) # 180 dərəcə vaxt GPIO.cleanup ()

Adım 6: Adım 6: Yandırmaq

Addım 6: Yandırmaq
Addım 6: Yandırmaq
Addım 6: Yandırmaq
Addım 6: Yandırmaq

Bayquş hoot hazırlamaq üçün kod dərsi (moruq pi ilə audio çalmaq)

a. USB dinamikini qoşun.

b. Bir səs yükləyin - qorxunc bir şey seçdik.

c. Bu əmri işlədərək səsi çalın: omxplayer -o alsa: hw: 1, 0 owl_sound.mp3

[d. Bu işə yaramırsa, alsamixer əmrini istifadə edərək Pi -nin hansı çıxışı və hansı həcmdə istifadə etdiyini yoxlayın - səs səviyyəsini dəyişdirə və media cihazınızı seçə biləcəyiniz mikser ekranı ilə qarşınızdayıq. Səsinizin həcmini artırmaq üçün omxplayer -o alsa bu əmri yerinə yetirin: hw: 1, 0 owl_sound.mp3 --vol 500 Bu səsi Pythondan istifadə etmək üçün test skriptimizə baxın.]

alt prosesi idxal edin

command = "omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500" player = subprocess. Popen (command.split (''), stdin = subprocess. PIPE, stdout = subprocess. PIPE, stderr = subprocess BORU)

Adım 7: Adım 7: Videonu Pi -dən axın

Addım 7: Videonu Pi -dən axın
Addım 7: Videonu Pi -dən axın
Addım 7: Videonu Pi -dən axın
Addım 7: Videonu Pi -dən axın

Bir moruq pi kamera axını yaratmaq üçün kod dərsi

a. Python app.py proqramını işə salın və yerli şəbəkənizdə https://raspberrypi.local: 5000 ünvanında görün

b. Bu kod Miguel Grinberg'dən alındı və bir az uyğunlaşdırıldı https://blog.miguelgrinberg.com/post/flask-video-… necə edildiyini gözəl izah edir və dərsləri əladır-deffo onu yoxlayın! Əsas konsepsiya, axın sürətini artırmaq üçün yiv açma və generatorlardan istifadə etməyimizdir.

Adım 8: Adım 8: Bədən Tanıma

Addım 8: Bədən Algılama
Addım 8: Bədən Algılama

Bədəni tanıma kodu (moruq pi ilə bir video axınında ImageNetSSD)

a. Raspberry Pi 4 -dən istifadə etdiyimizə görə, bu günə qədər məhdudlaşdırdığımız əsas HaarCascade metodu üzərində bir neçə dərin öyrənmə modelini sınamağın ən yaxşı olduğunu düşündük.

b. YOLOv3 kimi çox gözəl görünən əvvəlcədən öyrədilmiş bəzi modellərə nəzər saldıq. YOLOv3 kiçik çəkiləri, Pi üçün mükəmməl olardı, amma işə sala bilmədik:(c. Bunun əvəzinə, bu koddan öyrəndiyimiz kimi openCVs DNN (dərin neyron şəbəkəsi) modulundan istifadə edə biləcəyimiz MobileSSD modelini seçdik: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 və görüntü emal dərslərinin qəhrəmanı Adrian Rosebrockdan: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- opencv/

d. Bununla birlikdə, bu məzmunu axın etməyə və hər çərçivədə modelləri işə salmağa çalışdığımız üçün gecikmiş, parçalanmış bir video ilə nəticələnir. Adrian Rosebrock-dan yenidən öyrəndik https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ və şəkillərimizi sıraya qoymaq üçün Python çox işləmə modulundan istifadə etdik. kamera axınını bu qədər sıx bağlamadan işlənə biləcəkləri yer.

e. Kodu özünüz işə salmağa çalışın:)

Adım 9: Adım 9: Zombi Bildirişləri Göndərin

Addım 9: Zombi Bildirişləri Göndərin
Addım 9: Zombi Bildirişləri Göndərin
Addım 9: Zombi Bildirişləri Göndərin
Addım 9: Zombi Bildirişləri Göndərin

Bildiriş göndərmək üçün kod (telefona python)

a. Https://pushed.co bildiriş xidmətindən istifadə etmək qərarına gəldik.

b. Pulsuz bir hesab əldə edə və proqramı yükləyə və həqiqətən mobil bildirişlər hazırlaya bilərsiniz. Bildirişləri belə bir python skriptindən istifadə edərək yaratdıq.

idxal sorğuları

payload = {"app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "Bayquş bir zombi aşkar etdi." } r = request.post ("https://api.pushed.co/1/push", data = yük)

Çox sadədir və bildiriş adınızı fərdiləşdirə bilərsiniz!

Addım 10: Nə pislik

Nə Əcəb!
Nə Əcəb!

Ümid edirik ki, Smart Security Owl layihəmizdən zövq aldınız! Bu çox əyləncəli bir iş idi və evimin etibarlı bayquşumuz tərəfindən qorunduğunu bildiyimdə özümü daha təhlükəsiz hiss edirəm.

Bunun ağıllı evinizə inanılmaz bir Halloween əlavəsi olacağını düşünürsünüzsə, Instructables Halloween yarışmasında bizə səs verin və hər zamanki kimi bəyənməyi, şərh yazmağı və abunə olmağı unutmayın!

Poçt siyahımıza daxil olun!

Tövsiyə: