Sisukord:

Zombie tuvastab nutika turvakulli (sügav õppimine): 10 sammu (koos piltidega)
Zombie tuvastab nutika turvakulli (sügav õppimine): 10 sammu (koos piltidega)

Video: Zombie tuvastab nutika turvakulli (sügav õppimine): 10 sammu (koos piltidega)

Video: Zombie tuvastab nutika turvakulli (sügav õppimine): 10 sammu (koos piltidega)
Video: Zombie 🤎 Juice & Curren$y - 'Terpalation' (Official Music Video) 2024, November
Anonim

Tere kõigile, tere tulemast T3chFlicksi! Selles Halloweeni õpetuses näitame teile, kuidas me paneme igapäevasele majapidamisklassikale: turvakaamerale ülimalt õudse vindi.

Kuidas ?! Oleme teinud öise nägemise öökulli, mis kasutab inimeste jälgimiseks pilditöötlust. Oh, ja see haiseb, nagu päris asi!

Oleme sellest projektist väga elevil olnud ja oleme seda oodanud alates sellest ajast, kui uus Raspberry Pi 4 langes. Sellel on 4 GB muutmälu, mis avab ukse paljudele tõeliselt põnevatele võimalustele, sealhulgas pilditöötlusele süvaõppemudelitega reaalajas.

Kui soovite Halloweeni ajal lähenevatel zombidel silma peal hoida või lihtsalt aastaringselt oma aeda kontrollida, siis see on teie jaoks. Turvalisus ei pea olema igav, et olla tõhus!

Tarvikud

Selle ehituse jaoks vajate:

  • Raspberry Pi 4 (4 GB Ram) Amazon
  • Öine nägemiskaamera Amazon
  • Mikroservo Amazon
  • Võltskullide Amazon
  • Liimi Amazon
  • Värvige Amazon
  • Kruvid Amazon
  • USB kõlar Amazon
  • Suur (5v+) kaasaskantav toiteallikas Amazon
  • 3D -printer Amazon

1. samm: 1. samm: dekapiteerige

1. samm: tehke pead maha
1. samm: tehke pead maha
1. samm: tehke pead maha
1. samm: tehke pead maha
1. samm: dekapiteerige
1. samm: dekapiteerige

a. Tõmmake pea öökullilt (mõnikord peate lihtsalt jõhker olema), tõmmates kõvasti pähe, kus see vedru külge kinnitub.

b. Öökulli pea ühendub kehaga silindri abil, mis asub suure vedru peal. Eemaldage see silinder, eemaldades kruvi.

c. Äsja eemaldatud silinder on valmistatud kahest osast, plastikust tassist ja selle sees olevast laagrist. Eemaldage laager kruvikeerajaga (või sarnase tööriistaga) silindrist.

d. Kinnitage silinder silindri külge kruvi abil, mis ühendas silindri vedruga.

e. Eemaldage vedru, keerates lahti kolm kruvi, mis kinnitavad selle keha külge.

f. Tehke öökulli kere ülaossa auk, mis on piisavalt suur, et mahutada mõned juhtmed ja kaamera kaabel. Selleks kasutasime puuri ja kruvikeeraja ebaelegantset kombinatsiooni.

2. samm: 2. samm: lisage Smart

2. toiming: lisage Smart
2. toiming: lisage Smart
2. toiming: lisage Smart
2. toiming: lisage Smart
2. toiming: lisage Smart
2. toiming: lisage Smart

a. 3D printige kaamera korpus ja värvige see öökullile sobivaks - kasutasime odavaid akrüülvärve. Värvimine ei ole oluline samm, kuid parandab oluliselt üldilmet!

b. Kui öökulli pea on tagurpidi, keerake kaamera korpuse ülaosa pea sisemusse, kus nokk eendub.

c. Pange kaamera korpusesse ja ühendage kaamera kaabel.

d. Liimige servo vedru ülemisele paneelile.

e. Ühendage pikad juhtmed servovõrkudega (5V, Gnd, signaal)

f. Viige kaamera kaabel ja servo juhtmed läbi vedru ja korpuse ülaosas tehtud augu nii, et need oleksid öökulli õõneskehas.

3. samm: 3. samm: täitke ta üles

3. samm: täitke ta üles
3. samm: täitke ta üles
3. samm: täitke ta üles
3. samm: täitke ta üles
3. samm: täitke ta üles
3. samm: täitke ta üles
3. samm: täitke ta üles
3. samm: täitke ta üles

a. Eemaldage öökulli põhjast pistik ja suurendage selle augu suurust, lõigates plasti. Jätkake suuruse suurendamist, kuni Raspberry Pi ja kõlar mahuvad öökulli kehasse.

b. Kui auk on piisavalt suur, et kõik komponendid mahuksid sisse, tõmmake kaamera kaabel, mille te öökulli ülaosast läbi juhtisite, alusest välja ja ühendage see Raspberry Pi -ga.

c. Samamoodi tõmmake servojuhtmed läbi ja ühendage need Raspberry Pi -ga:

  • +5v servol => +5V Pi peal
  • Gnd servo => gnd Pi
  • Signaali servo => tihvt 12 Pi

d. Ühendage USB -kõlar Pi -ga.

e. Sisestage SD -kaart Pi -sse.

f. Power Pi kasutades kaasaskantavat toiteallikat.

g. Sisestage Pi, toiteplokk ja kõlar öökulli läbi aluse augu.

4. samm: 4. samm: seadistage Pi

Samm: seadistage Pi
Samm: seadistage Pi

KOGU KOODI VÕIB LEIDA

a. Laadige Raspian alla ja laadige see Balena Etcheri abil oma SD -kaardile üles.

b. Oma pi kaugjuurdepääsuks

  • Lisage oma alglaadimiskaardile fail nimega ssh
  • Lisage fail nimega wpa_supplicant.conf ja sisestage oma wifi mandaat

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

    võrk = {ssid = "MySSID" psk = "Minu parool"}

c. Sisestage SD -kaart pi ja proovige juurdepääsu ssh kaudu.

5. samm: 5. samm: pea liigutamine

Samm: pea liigutamine
Samm: pea liigutamine

Koodiõpetus pea liigutamiseks (servo juhtimine vaarika pi abil)

Pi peal töötava servo juhtimiseks loome skripti, mis juhib GPIO nööpe, millega servo on ühendatud.

a. Ühendage servo Pi -ga:

  • +5v servol => +5V Pi peal
  • Gnd servo => gnd Pi peal
  • Signaali servo => pin 12 Pi peal

b. Esmalt peate seadistama gpio tihvtid, et kasutada servo signaalpoldil PWM -i.

c. Seejärel on sama lihtne kui valida signaaltihvti töötsükkel (selgitatud siin), et servo liigutada 90 kraadilt töötsükliga 7,5–0 kraadi, kui töötsükkel on 2,5, ja 180 kraadini töötsükliga 12.5

RPi. GPIO importimine GPIO -na

importimise aeg GPIO.setmode (GPIO. BOARD) GPIO.setwarnings (vale) GPIO.setup (12, GPIO. OUT) p = GPIO. PWM (12, 50) p.start (7.5) proovige: samas True: p. ChangeDutyCycle (7.5) # 90 kraadi aega. Uni (1) lk. ChangeDutyCycle (2.5) # 0 kraadi aega. Uni (1) lk. ChangeDutyCycle (12.5) # 180 kraadi aega. Uni (1), välja arvatud klaviatuurInterrupt: p.stop () GPIO.cleanup ()

6. samm: 6. samm: muutke see ägedaks

6. samm: muutke see ägedaks
6. samm: muutke see ägedaks
6. samm: muutke see ägedaks
6. samm: muutke see ägedaks

Koodijuhend öökullivõtmise tegemiseks (heli esitamine vaarika pi-ga)

a. Ühendage USB -kõlar.

b. Laadige heli alla - valisime õudse hooti.

c. Esitage heli, käivitades selle käsu: omxplayer -o alsa: hw: 1, 0 owl_sound.mp3

[d. Kui see ei tööta, kontrollige käsku alsamixer, millist väljundit teie Pi kasutab ja millisel helitugevusel - teid tervitatakse mikseri ekraaniga, kus saate helitugevust muuta ja meediumiseadet valida. Heli helitugevuse suurendamiseks täitke järgmine käsk omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500 Selle heli esitamiseks Pythoni abil vaadake meie testiskripti.]

alamprotsessi importimine

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

Samm 7: samm 7: voogesitage videot Pi -st

Samm: voogesitage videot Pi -st
Samm: voogesitage videot Pi -st
Samm: voogesitage videot Pi -st
Samm: voogesitage videot Pi -st

Koodijuhend vaarika pi kaamera voo loomiseks

a. Käivitage python app.py ja vaadake oma kohalikus võrgus aadressil https://raspberrypi.local: 5000

b. See kood on võetud ja pisut kohandatud Miguel Grinbergilt https://blog.miguelgrinberg.com/post/flask-video-… ta selgitab kenasti, kuidas see on tehtud ja tema õpetused on suurepärased-deffo, kontrollige teda! Põhikontseptsioon on see, et me kasutame voogesituse kiiruse parandamiseks keermestamist ja generaatoreid.

8. samm: 8. samm: keha tuvastamine

8. samm: keha tuvastamine
8. samm: keha tuvastamine

Keha tuvastamise kood (ImageNetSSD videovoos vaarika pi-ga)

a. Kuna kasutame Raspberry Pi 4, arvasime, et on kõige parem proovida sellel mõnda sügavat õppimismudelit, mitte senise HaarCascade põhimeetodi asemel.

b. Vaatasime mõnda eelkoolitatud mudelit, näiteks YOLOv3, mis näeb ülilahe välja. YOLOv3 pisikesed raskused, mis oleksid Pi jaoks ideaalsed olnud, kuid me ei saanud seda käima:(c. Selle asemel valisime MobileSSD mudeli, mida saame käivitada openCVs DNN (deep neuronal net) mooduli abil, nagu me sellest koodist õppisime: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 ja pilditöötluse õpetuste kangelane Adrian Rosebrock: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- opencv/

d. Kuid kuna me üritame seda sisu voogesitada ja mudeleid igal kaadril käivitada, on tulemuseks viivitatud ja killustatud video. Õppisime uuesti Adrian Rosebrockilt https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ ja kasutasime Pythoni mitmetöötlusmoodulit, et panna meie pildid järjekordadesse kus neid saab töödelda ilma kaamera voogu nii tugevalt blokeerimata.

e. Proovige koodi ise käivitada:)

9. samm: 9. samm: zombiteatiste saatmine

9. samm: zombiteatiste saatmine
9. samm: zombiteatiste saatmine
9. samm: zombiteatiste saatmine
9. samm: zombiteatiste saatmine

Märguande saatmise kood (python telefoni)

a. Otsustasime kasutada https://pushed.co teavitusteenust.

b. Saate hankida tasuta konto ja rakenduse alla laadida ning tõesti kiiresti seadistada mobiilimärguannete tegemise. Lõime märguanded sellise pythoni skripti abil.

imporditaotlused

payload = {"app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "Öökull on tuvastanud zombi." } r = request.post ("https://api.pushed.co/1/push", andmed = kasulik koormus)

See on ülilihtne ja saate oma teatise nime kohandada!

Samm 10: Milline hull

Milline nõme!
Milline nõme!

Loodame, et teile meeldis meie Smart Security Owl projekt! See on olnud ülimalt lõbus tegemine ja tunnen end palju turvalisemalt, teades, et meie maja valvab meie usaldusväärne öökull.

Kui arvate, et see oleks teie targa kodu vapustav Halloweeni lisand, siis palun hääletage meie poolt konkursil Instructables Halloween ja nagu tavaliselt, pidage meeles, et meeldige, kommenteerige ja tellige!

Registreeruge meie postitusloendisse!

Soovitan: