Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Trin 1: Halshugning
- Trin 2: Trin 2: Tilføj Smart
- Trin 3: Trin 3: Fyld hende op
- Trin 4: Trin 4: Konfigurer Pi
- Trin 5: Trin 5: Flyt hovedet
- Trin 6: Trin 6: Making It Hoot
- Trin 7: Trin 7: Stream videoen fra Pi
- Trin 8: Trin 8: Body Detection
- Trin 9: Trin 9: Afsendelse af Zombie -notifikationer
- Trin 10: Sikke et tud
Video: Zombie Detecting Smart Security Owl (Deep Learning): 10 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Hej alle, velkommen til T3chFlicks! I denne Halloween -tutorial viser vi dig, hvordan vi sætter et superhyggeligt twist på en dagligdags husstandsklassiker: sikkerhedskameraet.
Hvordan?! Vi har lavet en nattesynning, der bruger billedbehandling til at spore mennesker. Åh, og det tudser, ligesom den ægte vare!
Vi har været super begejstrede for dette projekt, og vi har ventet på at gøre det lige siden den nye Raspberry Pi 4 faldt. Den har 4 GB RAM, som åbner døren for masser af virkelig spændende muligheder, herunder billedbehandling med dybe læringsmodeller i realtid.
Hvis du vil holde øje med kommende zombier på Halloween, eller bare tjekke din have resten af året, er dette den for dig. Sikkerhed behøver ikke at være kedeligt for at være effektiv!
Forbrugsvarer
Til denne build skal du bruge:
- Raspberry Pi 4 (4 GB Ram) Amazon
- Nattesynskamera Amazon
- Micro Servo Amazon
- Falske ugle Amazon
- Lim Amazon
- Mal Amazon
- Skruer Amazon
- USB -højttaler Amazon
- Stor (5v+) bærbar strømforsyning Amazon
- 3D -printer Amazon
Trin 1: Trin 1: Halshugning
en. Træk hovedet af uglen (nogle gange skal du bare være brutal) ved at trække hårdt i hovedet, hvor det fastgøres til fjederen.
b. Uglehovedet forbinder kroppen med en cylinder, der sidder oven på en stor fjeder. Fjern denne cylinder ved at tage skruen ud.
c. Cylinderen, du lige har fjernet, er lavet af to dele, en plastikbæger og et leje, der sidder inde i den. Fjern lejet fra cylinderen ved hjælp af en skruetrækker (eller lignende værktøj).
d. Ved hjælp af skruen, der tilsluttede cylinderen til fjederen, fastgøres servoen til cylinderen.
e. Fjern fjederen ved at skrue de tre skruer, der fastgør den til kroppen, af.
f. Lav et hul i toppen af uglens krop, som er stort nok til at passe nogle ledninger og kamerakablet. Vi brugte en uelegant kombination af et bor og en skruetrækker til at gøre dette.
Trin 2: Trin 2: Tilføj Smart
en. 3D -print kamerahuset og mal det, så det matcher uglen - vi brugte nogle billige akrylmaling. Maling er ikke et vigtigt skridt, men det forbedrer det generelle udseende dramatisk!
b. Med uglehovedet på hovedet skrues toppen af kamerahuset ind i hovedets inderside, hvor næbbet stikker ud.
c. Sæt kameraet i etuiet, og tilslut kamerakablet.
d. Lim servoen til fjederens øverste panel.
e. Tilslut lange ledninger til servostifterne (5V, Gnd, signal)
f. Før kameraets kabel og ledninger til servoen gennem fjederen og gennem hullet, du lavede i toppen af kroppen, så de er inde i uglens hule krop.
Trin 3: Trin 3: Fyld hende op
en. Fjern proppen fra bunden af uglen og øg størrelsen på dette hul ved at skære plasten. Fortsæt med at øge størrelsen, indtil Raspberry Pi og højttaleren kan passe ind i uglens krop.
b. Når hullet er stort nok til at alle komponenterne kan passe ind, skal du trække kamerakablet, som du førte gennem uglens top, ud af basen og sætte det i Raspberry Pi.
c. Træk på samme måde servotrådene igennem og sæt dem i Raspberry Pi:
- +5v på servo => +5V på Pi
- Gnd servo => gnd Pi
- Signalservo => pin 12 Pi
d. Sæt USB -højttaleren i Pi.
e. Indsæt SD -kortet i Pi.
f. Power Pi ved hjælp af bærbar strømforsyning.
g. Sæt Pi, strømforsyning og højttaler i uglen gennem hullet i basen.
Trin 4: Trin 4: Konfigurer Pi
ALLE KODEN KAN FINDES PÅ
en. Download Raspian, og upload det til dit SD -kort ved hjælp af Balena Etcher.
b. For at få adgang til dit pi eksternt
- Tilføj en fil kaldet ssh til dit boot -sd -kort
-
Tilføj en fil kaldet wpa_supplicant.conf, og indtast dine wifi -legitimationsoplysninger
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1
netværk = {ssid = "MySSID" psk = "MyPassword"}
c. Indsæt SD -kortet i pi'en, og prøv en adgang via ssh.
Trin 5: Trin 5: Flyt hovedet
Kodevejledning til at flytte hovedet (styre en servo med en hindbærpi)
For at styre en servo, der kører på Pi, skal vi oprette script, der styrer GPIO -benene, som servoen er forbundet til.
en. Tilslut servoen til Pi:
- +5v på servo => +5V på Pi
- Gnd servo => gnd på Pi
- Signalservo => pin 12 på Pi
b. Du skal først konfigurere gpio -benene for at bruge PWM på servostyrets signalpind.
c. Derefter er det så simpelt som at vælge driftscyklussen (forklaret her) for signalstiften for at flytte servoen fra 90 grader med en arbejdscyklus på 7,5 til 0 grader, når driftscyklussen er 2,5 og til 180 grader med en driftscyklus på 12.5
importer RPi. GPIO som GPIO
importtid GPIO.setmode (GPIO. BOARD) GPIO.setwarnings (Falsk) GPIO.setup (12, GPIO. OUT) p = GPIO. PWM (12, 50) s. start (7.5) prøv: mens True: p. ChangeDutyCycle (7,5) # 90 grader tid. Søvn (1) s. Ændring af driftstid (2,5) # 0 graders tid. Søvn (1) s. Ændring af driftstid (12,5) # 180 graders tid. Søvn (1) undtagen tastaturafbrydelse: s. Stop () GPIO.cleanup ()
Trin 6: Trin 6: Making It Hoot
Kodevejledning til fremstilling af uglen (afspilning af lyd med en hindbær pi)
en. Tilslut USB -højttaleren.
b. Download en lyd - vi valgte et uhyggeligt tud.
c. Afspil lyden ved at køre denne kommando: omxplayer -o alsa: hw: 1, 0 owl_sound.mp3
[d. Hvis dette ikke virker, skal du kontrollere, hvilket output din Pi bruger, og på hvilket volumen ved at bruge kommandoen alsamixer - du bliver mødt med mixer -skærmen, hvor du kan ændre lydstyrken og vælge din medieenhed. For at øge lydstyrken gør du kommandoen som denne omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500 For at afspille denne lyd ved hjælp af Python, skal du kigge på vores test script.]
import delproces
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. RØR)
Trin 7: Trin 7: Stream videoen fra Pi
Kodevejledning til oprettelse af en hindbær pi-kamerastream
en. Kør python app.py og se på dit lokale netværk på https://raspberrypi.local: 5000
b. Denne kode blev taget og en smule tilpasset fra Miguel Grinberg https://blog.miguelgrinberg.com/post/flask-video-… han forklarer pænt, hvordan det er gjort, og hans tutorials er gode-tjek ham deffo! Det grundlæggende koncept er, at vi bruger trådning og generatorer til at forbedre streaminghastigheden.
Trin 8: Trin 8: Body Detection
Kode til kropsdetektering (ImageNetSSD på en videostream med hindbær pi)
en. Da vi bruger Raspberry Pi 4, tænkte vi, at det var bedst at prøve nogle deep learning -modeller på den i stedet for den grundlæggende HaarCascade -metode, vi hidtil har været begrænset til.
b. Vi kiggede på nogle af de foruddannede modeller derude, som YOLOv3, der ser super cool ud. YOLOv3 små vægte, som ville have været perfekte til Pi, men vi kunne ikke få det til at køre:(c. I stedet valgte vi MobileSSD-modellen, som vi kan køre ved hjælp af openCVs DNN-modul (dybt neuralt net), som vi lærte af denne kode: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 og fra helten i billedbehandlingsvejledninger, Adrian Rosebrock: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- opencv/
d. Men da vi forsøger at streame dette indhold og køre modeller på alle rammer, resulterer dette i en forsinket, fragmenteret video. Vi lærte igen af Adrian Rosebrock https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ og brugte Python multiprocessingsmodulet til at sætte vores billeder i køer hvor de kan behandles uden at blokere kamerastrømmen så stærkt.
e. Prøv selv at køre koden:)
Trin 9: Trin 9: Afsendelse af Zombie -notifikationer
Kode til afsendelse af en meddelelse (python til telefon)
en. Vi besluttede at bruge https://pushed.co underretningstjeneste.
b. Du kan få en gratis konto og downloade appen og virkelig hurtigt blive konfigureret til at lave mobilunderretninger. Vi oprettede meddelelserne ved hjælp af et python -script som dette.
importanmodninger
payload = {"app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "Ugle har fundet en zombie." } r = requests.post ("https://api.pushed.co/1/push", data = nyttelast)
Det er superenkelt, og du kan tilpasse dit meddelelsesnavn!
Trin 10: Sikke et tud
Vi håber, at du nød vores Smart Security Owl -projekt! Dette har været et super sjovt mærke, og jeg føler mig meget sikrere ved, at mit hus bliver bevogtet af vores trofaste ugle.
Hvis du synes, at dette ville være en fabelagtig Halloween -tilføjelse til dit smarte hjem, skal du stemme på os i Instructables Halloween -konkurrencen og som sædvanlig, husk at like, kommentere og abonnere!
Tilmeld dig vores mailingliste!
Anbefalede:
DIY WiFi Smart Security Light With Shelly 1: 6 trin (med billeder)
DIY WiFi Smart Security Light With Shelly 1: Denne instruktive vil se på at oprette en DIY smart security light ved hjælp af Shelly 1 smart relæet fra Shelly. Hvis du gør et sikkerhedslys smart, får du meget mere kontrol over, hvornår det aktiveres, og hvor længe det forbliver tændt. Det kan være aktivt
Shapes: Learning for All With Makey Makey: 5 trin (med billeder)
Figurer: Læring for alle med Makey Makey: Lærere underviser ALLE elever. Nogle gange skal vores læring se anderledes ud afhængigt af eleven. Nedenfor er et eksempel på en let lektion, du kan oprette for at sikre, at alle dine elever arbejder på væsentlige færdigheder.Dette projekt ville fungere godt
Shake Detecting Talking Hat With Circuit Playground Express: 12 trin (med billeder)
Shake Detecting Talking Hat With Circuit Playground Express: Denne nemme og hurtige vejledning lærer dig, hvordan du laver en talende hat! Det ville svare med et omhyggeligt behandlet svar, når du 'stiller' et spørgsmål, og måske kan det hjælpe dig med at beslutte, om du har bekymringer eller problemer. I min Wearable Tech -klasse
Pimp Zombie med glødende øjne: 5 trin (med billeder)
Pimp Zombie med glødende øjne: Lær hvordan du tilføjer LED'er med en glødende øjneeffekt til en eksisterende figur. I mit tilfælde brugte jeg en zombiefigur til Halloween. Dette er ret let at gøre og kræver ingen avancerede færdigheder
Owl Prowl: 5 trin (med billeder)
Owl Prowl: Owl Prowl er et konkurrencespil med fire spillere, der spilles med alternative controllere. De fire spillere skal spille som en uglefigur i spillerummet. Deres mål er at fange flest mus inden tiden løber ud. Hver spiller bruger en plysjugle til at kontrollere