Përmbajtje:

Zombie Detecting Smart Owl Security (Mësim i thellë): 10 hapa (me fotografi)
Zombie Detecting Smart Owl Security (Mësim i thellë): 10 hapa (me fotografi)

Video: Zombie Detecting Smart Owl Security (Mësim i thellë): 10 hapa (me fotografi)

Video: Zombie Detecting Smart Owl Security (Mësim i thellë): 10 hapa (me fotografi)
Video: The Light Gate Welcomes Mike Clelland, August 7th, 2023- UFOs 2024, Nëntor
Anonim

Përshëndetje të gjithëve, mirë se vini në T3chFlicks! Në këtë tutorial të Halloween, ne do t'ju tregojmë se si vendosim një kthesë super drithëruese në një klasik të zakonshëm të familjes: kamera e sigurisë.

Si ?! Ne kemi bërë një buf të shikimit të natës i cili përdor përpunimin e imazhit për të gjurmuar njerëzit. Oh, dhe kërcen, ashtu si gjëja e vërtetë!

Ne kemi qenë shumë të ngazëllyer për këtë projekt dhe kemi pritur ta bëjmë atë që kur ra Raspberry Pi 4 i ri. Ka 4 GB RAM, e cila hap derën për shumë mundësi vërtet emocionuese, duke përfshirë kryerjen e disa përpunimeve të imazheve me modele të mësimit të thellë në kohë reale.

Nëse doni të mbani një sy për afrimin e zombive në Halloween, ose thjesht kontrolloni kopshtin tuaj gjatë pjesës tjetër të vitit, ky është ai për ju. Siguria nuk duhet të jetë e mërzitshme për të qenë efektive!

Furnizimet

Për këtë ndërtim, do t'ju duhet:

  • Raspberry Pi 4 (4 GB Ram) Amazon
  • Kamera e Vizionit të Natës Amazon
  • Mikro Servo Amazon
  • Owl i rremë Amazon
  • Ngjitës Amazon
  • Paint Amazon
  • Vidhos Amazon
  • USB altoparlant Amazon
  • Furnizim i madh portativ i energjisë (5v+) Amazon
  • Printer 3D Amazon

Hapi 1: Hapi 1: Prerja e kokës

Hapi 1: Prerë kokën
Hapi 1: Prerë kokën
Hapi 1: Prerë kokën
Hapi 1: Prerë kokën
Hapi 1: Prerë kokën
Hapi 1: Prerë kokën

a Tërhiqeni kokën nga bufi (ndonjëherë ju vetëm duhet të jeni brutal) duke e tërhequr fort mbi kokën e tij aty ku ngjitet në pranverë.

b Koka e bufit lidhet me trupin me një cilindër i cili ulet në majë të një burimi të madh. Hiqeni këtë cilindër duke nxjerrë vidën.

c Cilindri që sapo keni hequr është i përbërë nga dy pjesë, një gotë plastike dhe një kushinetë që ulet brenda saj. Hiqeni kushinetën nga cilindri duke përdorur një kaçavidë (ose mjet të ngjashëm).

d Duke përdorur vidën që lidhte cilindrin me sustën, bashkojeni servo me cilindrin.

e Hiqeni sustën duke i hequr tre vidhat që e sigurojnë atë në trup.

f Bëni një vrimë në pjesën e sipërme të trupit të bufit e cila është mjaft e madhe për të përshtatur disa tela dhe kabllon e kamerës. Ne përdorëm një kombinim jo elegant të një stërvitjeje dhe një kaçavidë për ta bërë këtë.

Hapi 2: Hapi 2: Shto Smart

Hapi 2: Shto Smart
Hapi 2: Shto Smart
Hapi 2: Shto Smart
Hapi 2: Shto Smart
Hapi 2: Shto Smart
Hapi 2: Shto Smart

a Shtypni kasën e kamerës në 3D dhe lyeni atë që të përputhet me bufin - ne përdorëm disa ngjyra akrilike të lira. Piktura nuk është një hap jetësor, por përmirëson në mënyrë dramatike pamjen e përgjithshme!

b Me kokën e bufit përmbys, vidhoseni pjesën e sipërme të kasës së kamerës në pjesën e brendshme të kokës, ku sqepi del jashtë.

c Vendoseni kamerën në kasë dhe lidhni kabllon e kamerës.

d Ngjiteni servon në panelin e sipërm të pranverës.

e Lidhni tela të gjatë me kunjat servo (5V, Gnd, sinjal)

f Furnizoni kabllon dhe telat e kamerës për servo përmes pranverës dhe përmes vrimës që keni bërë në pjesën e sipërme të trupit, në mënyrë që të jenë brenda trupit të zbrazët të bufit.

Hapi 3: Hapi 3: Plotësojeni atë

Hapi 3: Plotësoni atë
Hapi 3: Plotësoni atë
Hapi 3: Plotësoni atë
Hapi 3: Plotësoni atë
Hapi 3: Plotësoni atë
Hapi 3: Plotësoni atë
Hapi 3: Plotësoni atë
Hapi 3: Plotësoni atë

a Hiqeni prizën nga fundi i bufit dhe rrisni madhësinë e kësaj vrime duke prerë plastikën. Vazhdoni të rrisni madhësinë derisa Raspberry Pi dhe altoparlanti të futen në trupin e bufit.

b Pasi vrima të jetë mjaft e madhe që të gjithë përbërësit të futen brenda, tërhiqni kabllon e kamerës që e keni ushqyer përmes majës së bufit nga baza dhe futeni në Raspberry Pi.

c Në mënyrë të ngjashme, tërhiqni telat servo dhe futini ato në Raspberry Pi:

  • +5v në servo => +5V në Pi
  • Gnd servo => gnd Pi
  • Servo sinjal => pin 12 Pi

d Lidheni altoparlantin USB në Pi.

e Futni kartën SD në Pi.

f Power Pi duke përdorur furnizimin me energji portative.

g Futni Pi, furnizimin me energji dhe altoparlantin në buf përmes vrimës në bazë.

Hapi 4: Hapi 4: Vendosni Pi

Hapi 4: Vendosni Pi
Hapi 4: Vendosni Pi

T ALL GJITHA KODI MUND T F GJITH N AT

a Shkarkoni Raspian dhe ngarkojeni në kartën tuaj SD duke përdorur Balena Etcher.

b Për të hyrë në pi tuaj nga distanca

  • Shtoni një skedar të quajtur ssh në kartën tuaj të nisjes sd
  • Shtoni një skedar të quajtur wpa_supplicant.conf dhe vendosni kredencialet tuaja wifi

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

    rrjet = {ssid = "MySSID" psk = "MyPassword"}

c Vendosni kartën SD në pi dhe provoni një qasje përmes ssh.

Hapi 5: Hapi 5: Lëvizja e kokës

Hapi 5: Lëvizja e kokës
Hapi 5: Lëvizja e kokës

Udhëzues i kodit për lëvizjen e kokës (kontrollimi i një servo me një mjedër pi)

Për të kontrolluar një servo që funksionon në Pi ne do të krijojmë një skript që kontrollon kunjat GPIO me të cilët është lidhur servo.

a Lidhni servo me Pi:

  • +5v në servo => +5V në Pi
  • Gnd servo => gnd në Pi
  • Servo sinjal => pin 12 në Pi

b Së pari duhet të vendosni kunjat gpio për të përdorur PWM në pin sinjalin e servo.

c Pastaj, është po aq e thjeshtë sa të përzgjedhësh ciklin e punës (shpjegohet këtu) të kunjit të sinjalit për të lëvizur servo nga 90 gradë me një cikël pune prej 7.5 në 0 gradë kur cikli i punës është 2.5 dhe në 180 gradë me një cikël detyre prej 12.5

importoni RPi. GPIO si GPIO

koha e importit GPIO.setmode (GPIO. BOARD) GPIO.setwarnings (False) GPIO.setup (12, GPIO. OUT) p = GPIO. PWM (12, 50) p.start (7.5) provoni: ndërsa E vërtetë: p. ChangeDutyCycle (7.5) # 90 gradë kohë. Gjumë (1) f. ChangeDutyCycle (2.5) # 0 gradë kohë. Gjumë (1) f. ChangeDutyCycle (12.5) # 180 gradë kohë. Gjumë (1) përveç tastierës Ndërprerje: f. Ndalim () GPIO.cleanup ()

Hapi 6: Hapi 6: Duke e bërë atë të pakuptimtë

Hapi 6: Duke e bërë atë të gabuar
Hapi 6: Duke e bërë atë të gabuar
Hapi 6: Duke e bërë atë të gabuar
Hapi 6: Duke e bërë atë të gabuar

Udhëzues i kodit për të bërë trungun e bufit (duke luajtur audio me një pi mjedër)

a Lidhni altoparlantin USB.

b Shkarkoni një tingull - ne zgjodhëm një tronditje drithëruese.

c Luani tingullin duke ekzekutuar këtë komandë: omxplayer -o alsa: hw: 1, 0 owl_sound.mp3

[d. Nëse kjo nuk funksionon, kontrolloni se çfarë dalje po përdor Pi juaj dhe në çfarë vëllimi duke përdorur komandën alsamixer - do të përshëndeteni me ekranin e mikserit ku mund të ndryshoni volumin dhe zgjidhni pajisjen tuaj media. Për të rritur volumin e zërit tuaj, bëni komandën si ky omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500 Për të luajtur këtë tingull duke përdorur Python, hidhini një sy skriptit tonë të testimit.]

nënproces i importit

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

Hapi 7: Hapi 7: Transmetoni videon nga Pi

Hapi 7: Transmetoni videon nga Pi
Hapi 7: Transmetoni videon nga Pi
Hapi 7: Transmetoni videon nga Pi
Hapi 7: Transmetoni videon nga Pi

Udhëzues për kodin duke krijuar një transmetim të kamerës me mjedër pi

a Drejtoni python app.py dhe shikoni në rrjetin tuaj lokal në https://raspberrypi.local: 5000

b Ky kod u mor dhe u përshtat pak nga Miguel Grinberg https://blog.miguelgrinberg.com/post/flask-video-… ai shpjegon bukur se si është bërë dhe mësimet e tij janë të shkëlqyera-deffo kontrolloni atë! Koncepti bazë është që ne përdorim fije dhe gjeneratorë për të përmirësuar shpejtësinë e transmetimit.

Hapi 8: Hapi 8: Zbulimi i trupit

Hapi 8: Zbulimi i trupit
Hapi 8: Zbulimi i trupit

Kodi për zbulimin e trupit (ImageNetSSD në një transmetim video me mjedër pi)

a Meqenëse ne po përdorim Raspberry Pi 4, ne menduam se ishte më mirë të provonim disa modele të mësimit të thellë në të në vend të metodës bazë HaarCascade në të cilën jemi kufizuar deri më tani.

b Ne hodhëm një vështrim në disa nga modelet e para-stërvitura atje, si YOLOv3 i cili duket super i lezetshëm. Pesha të vogla YOLOv3, të cilat do të ishin perfekte për Pi, por ne nuk mund ta kishim atë në punë:(c Në vend të kësaj, ne zgjodhëm modelin MobileSSD të cilin mund ta drejtojmë duke përdorur modulin openCVs DNN (rrjetë e thellë nervore), siç mësuam nga ky kod: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 dhe nga heroi i mësimeve të përpunimit të imazhit, Adrian Rosebrock: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- opencv/

d Sidoqoftë, ndërsa ne po përpiqemi të transmetojmë këtë përmbajtje dhe të përdorim modele në çdo kornizë, kjo rezulton në një video të ngadaltë, të fragmentuar. Ne mësuam përsëri nga Adrian Rosebrock https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ dhe përdorëm modulin e përpunimit të Python për të vendosur imazhet tona në radhë ku ato mund të përpunohen pa bllokuar rrjedhën e kamerës aq shumë.

e Provoni ta përdorni vetë kodin:)

Hapi 9: Hapi 9: Dërgimi i Njoftimeve Zombie

Hapi 9: Dërgimi i Njoftimeve Zombie
Hapi 9: Dërgimi i Njoftimeve Zombie
Hapi 9: Dërgimi i Njoftimeve Zombie
Hapi 9: Dërgimi i Njoftimeve Zombie

Kodi për dërgimin e një njoftimi (python në telefon)

a Ne vendosëm të përdorim shërbimin e njoftimit

b Ju mund të merrni një llogari falas dhe të shkarkoni aplikacionin dhe vërtet të vendoseni shpejt duke bërë njoftime në celular. Ne krijuam njoftimet duke përdorur një shkrim python si ky.

kërkesat e importit

payload = {"app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "Owl ka zbuluar një mumje." } r = kërkesat.post ("https://api.pushed.co/1/push", të dhëna = ngarkesa)

Supershtë super e thjeshtë dhe mund të personalizoni emrin tuaj të njoftimit!

Hapi 10: Çfarë idiote

Çfarë idiote!
Çfarë idiote!

Shpresojmë që ju ka pëlqyer projekti ynë Smart Owl Owl! Kjo ka qenë një super argëtim dhe ndihem shumë më e sigurt duke ditur se shtëpia ime po ruhet nga bufi ynë i besueshëm.

Nëse mendoni se kjo do të ishte një shtesë përrallore e Halloween në shtëpinë tuaj të zgjuar, ju lutemi votoni për ne në konkursin Instructables Halloween dhe si zakonisht, mos harroni të pëlqeni, komentoni dhe regjistroheni!

Regjistrohuni në Listën tonë të Postimeve!

Recommended: