Inhoudsopgave:
- Benodigdheden
- Stap 1: Stap 1: Onthoofden
- Stap 2: Stap 2: Smart toevoegen
- Stap 3: Stap 3: Vul haar op
- Stap 4: Stap 4: Stel de Pi. in
- Stap 5: Stap 5: Het hoofd verplaatsen
- Stap 6: Stap 6: Maken het gieren
- Stap 7: Stap 7: Stream de video vanaf de Pi
- Stap 8: Stap 8: Lichaamsdetectie
- Stap 9: Stap 9: Zombiemeldingen verzenden
- Stap 10: Wat een giller
Video: Zombie Detecting Smart Security Owl (Deep Learning) - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Hallo allemaal, welkom bij T3chFlicks! In deze Halloween-tutorial laten we je zien hoe we een super spookachtige draai geven aan een alledaagse huishoudelijke klassieker: de beveiligingscamera.
Hoe?! We hebben een nachtkijker gemaakt die beeldverwerking gebruikt om mensen te volgen. Oh, en het graait, net als het echte werk!
We waren super enthousiast over dit project en we hebben gewacht om het te doen sinds de nieuwe Raspberry Pi 4 uitkwam. Het heeft 4 GB RAM, wat de deur opent naar heel veel opwindende mogelijkheden, waaronder het in realtime uitvoeren van beeldverwerking met deep learning-modellen.
Als je op Halloween wilt letten op naderende zombies, of gewoon de rest van het jaar door je tuin wilt controleren, dan is dit iets voor jou. Beveiliging hoeft niet saai te zijn om effectief te zijn!
Benodigdheden
Voor deze build heb je nodig:
- Raspberry Pi 4 (4 GB RAM) Amazon
- Nachtzichtcamera Amazon
- Micro Servo Amazon
- Nep Uil Amazon
- Lijm Amazon
- Verf Amazone
- Schroeven Amazon
- USB-luidspreker Amazon
- Grote (5v+) draagbare voeding Amazon
- 3D-printer Amazon
Stap 1: Stap 1: Onthoofden
A. Trek de kop van de uil (soms moet je gewoon brutaal zijn) door hard aan zijn kop te trekken waar hij aan de veer vastzit.
B. De kop van de uil is verbonden met het lichaam door een cilinder die bovenop een grote veer zit. Verwijder deze cilinder door de schroef eruit te halen.
C. De cilinder die u zojuist hebt verwijderd, bestaat uit twee delen, een plastic beker en een lager dat erin zit. Verwijder het lager van de cilinder met een schroevendraaier (of soortgelijk gereedschap).
NS. Gebruik de schroef die de cilinder met de veer verbond en bevestig de servo aan de cilinder.
e. Verwijder de veer door de drie schroeven los te draaien waarmee deze aan het lichaam is bevestigd.
F. Maak een gat in de bovenkant van het lichaam van de uil dat groot genoeg is om wat draden en de camerakabel te passen. We gebruikten hiervoor een onelegante combinatie van een boormachine en een schroevendraaier.
Stap 2: Stap 2: Smart toevoegen
A. 3D-print de camerabehuizing en schilder deze zodat deze bij de uil past - we gebruikten goedkope acrylverf. Schilderen is geen essentiële stap, maar het verbetert de algehele look aanzienlijk!
B. Schroef met de kop van de uil ondersteboven de bovenkant van de camerabehuizing in de binnenkant van zijn kop, waar de snavel uitsteekt.
C. Plaats de camera in de hoes en sluit de camerakabel aan.
NS. Lijm de servo op het bovenpaneel van de veer.
e. Sluit lange draden aan op de servopinnen (5V, Gnd, signaal)
F. Leid de camerakabel en draden voor de servo door de veer en door het gat dat je in de bovenkant van het lichaam hebt gemaakt, zodat ze in het holle lichaam van de uil zitten.
Stap 3: Stap 3: Vul haar op
A. Verwijder de plug uit de onderkant van de uil en vergroot dit gat door het plastic door te snijden. Ga door met het vergroten van de maat totdat de Raspberry Pi en de luidspreker in het lichaam van de uil passen.
B. Zodra het gat groot genoeg is om alle componenten erin te laten passen, trekt u de camerakabel die u door de bovenkant van de uil hebt gevoerd uit de basis en steekt u deze in de Raspberry Pi.
C. Trek op dezelfde manier de servodraden door en sluit ze aan op de Raspberry Pi:
- +5V op servo => +5V op Pi
- Gnd servo => gnd Pi
- Signaalservo => pin 12 Pi
NS. Sluit de USB-luidspreker aan op de Pi.
e. Plaats de SD-kaart in de Pi.
F. Power Pi met draagbare voeding.
G. Steek de Pi, voeding en luidspreker in de uil door het gat in de basis.
Stap 4: Stap 4: Stel de Pi. in
ALLE CODE IS TE VINDEN OP
A. Download Raspian en upload het naar uw SD-kaart met Balena Etcher.
B. Op afstand toegang krijgen tot uw pi
- Voeg een bestand met de naam ssh toe aan je opstart-sd-kaart
-
Voeg een bestand toe met de naam wpa_supplicant.conf en plaats uw wifi-inloggegevens in
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1
netwerk={ ssid="MijnSSID" psk="MijnWachtwoord"}
C. Plaats de SD-kaart in de pi en probeer toegang te krijgen via ssh.
Stap 5: Stap 5: Het hoofd verplaatsen
Code-tutorial voor het verplaatsen van het hoofd (besturing van een servo met een raspberry pi)
Om een servo te besturen die op de Pi draait, gaan we een script maken dat de GPIO-pinnen bestuurt waarmee de servo is verbonden.
A. Sluit de servo aan op de Pi:
- +5V op servo => +5V op Pi
- Gnd servo => gnd op Pi
- Signaal servo => pin 12 op Pi
B. U moet eerst de gpio-pinnen instellen om PWM op de signaalpin van de servo te gebruiken.
C. Dan is het zo simpel als het selecteren van de duty cycle (hier uitgelegd) van de signaalpin om de servo van 90 graden te verplaatsen met een duty cycle van 7,5 naar 0 graden wanneer de duty cycle 2,5 is en naar 180 graden met een duty cycle van 12.5
importeer RPi. GPIO als GPIO
importtijd GPIO.setmode(GPIO. BOARD) GPIO.setwarnings(False) GPIO.setup(12, GPIO. OUT) p = GPIO. PWM (12, 50) p.start(7.5) try: while True: p. ChangeDutyCycle (7.5) # 90 graden time.sleep(1) p. ChangeDutyCycle(2.5) # 0 graden time.sleep(1) p. ChangeDutyCycle(12.5) # 180 graden time.sleep(1) behalve KeyboardInterrupt: p.stop() GPIO.opschonen()
Stap 6: Stap 6: Maken het gieren
Code-tutorial voor het maken van de uil-hoot (audio afspelen met een raspberry pi)
A. Sluit de USB-luidspreker aan.
B. Download een geluid - we kozen voor een spookachtige giller.
C. Speel het geluid af door deze opdracht uit te voeren: omxplayer -o alsa:hw:1, 0 owl_sound.mp3
[NS. Als dit niet werkt, controleer dan welke uitvoer je Pi gebruikt en op welk volume door het commando alsamixer te gebruiken - je wordt begroet met het mixerscherm waar je het volume kunt wijzigen en je media-apparaat kunt selecteren. Om het volume van je geluid te verhogen, voer je het commando uit zoals dit omxplayer -o asa:hw:1, 0 owl_sound.mp3 --vol 500 Bekijk ons testscript om dit geluid af te spelen met Python.]
subproces importeren
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. PIJP)
Stap 7: Stap 7: Stream de video vanaf de Pi
Code-tutorial voor het maken van een Raspberry Pi-camerastream
A. Voer python app.py uit en bekijk op uw lokale netwerk op
B. Deze code is overgenomen en enigszins aangepast van Miguel Grinberg https://blog.miguelgrinberg.com/post/flask-video-… hij legt mooi uit hoe het moet en zijn tutorials zijn geweldig - bekijk hem zeker! Het basisconcept is dat we threading en generators gebruiken om de streamingsnelheid te verbeteren.
Stap 8: Stap 8: Lichaamsdetectie
Code voor lichaamsdetectie (ImageNetSSD op een videostream met raspberry pi)
A. Omdat we de Raspberry Pi 4 gebruiken, dachten we dat het het beste was om er enkele deep learning-modellen op uit te proberen in plaats van de standaard HaarCascade-methode waartoe we tot nu toe beperkt waren.
B. We hebben een aantal van de vooraf getrainde modellen bekeken, zoals YOLOv3, die er super cool uitziet. YOLOv3 kleine gewichten, die perfect zouden zijn geweest voor de Pi, maar we kregen hem niet aan de gang:(C. In plaats daarvan hebben we gekozen voor het MobileSSD-model dat we kunnen gebruiken met de openCVs DNN-module (deep neural net), zoals we uit deze code hebben geleerd: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 en van Adrian Rosebrock, de held van de beeldverwerkingstutorials: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- opencv/
NS. Omdat we echter proberen deze inhoud te streamen en modellen op elk frame uit te voeren, resulteert dit in een laggy, gefragmenteerde video. We leerden opnieuw van Adrian Rosebrock https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ en gebruikten de Python multiprocessing-module om onze afbeeldingen in wachtrijen te plaatsen waar ze kunnen worden verwerkt zonder de camerastream zo zwaar te blokkeren.
e. Probeer de code zelf uit te voeren:)
Stap 9: Stap 9: Zombiemeldingen verzenden
Code voor het verzenden van een melding (python naar telefoon)
A. We hebben besloten om de meldingsservice https://pushed.co te gebruiken.
B. Je kunt een gratis account krijgen en de app downloaden en heel snel instellen om mobiele meldingen te maken. We hebben de meldingen gemaakt met een python-script zoals dit.
importverzoeken
payload = { "app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "Uil heeft een zombie gedetecteerd." } r = requests.post("https://api.pushed.co/1/push", data=payload)
Het is supereenvoudig en je kunt je meldingsnaam aanpassen!
Stap 10: Wat een giller
We hopen dat je genoten hebt van ons Smart Security Owl-project! Dit was een superleuke make-up en ik voel me een stuk veiliger omdat ik weet dat mijn huis wordt bewaakt door onze trouwe uil.
Als je denkt dat dit een fantastische Halloween-toevoeging aan je slimme huis zou zijn, stem dan op ons in de Instructables Halloween-wedstrijd en zoals gewoonlijk, vergeet niet te liken, reageren en je te abonneren!
Schrijf je in op onze mailinglijst!
Aanbevolen:
DIY WiFi Smart Security Light met Shelly 1: 6 stappen (met afbeeldingen)
DIY WiFi Smart Security Light met Shelly 1: Deze instructable zal kijken naar het maken van een DIY smart security light met behulp van het Shelly 1 slimme relais van Shelly. Door een beveiligingslampje slim te maken, heb je veel meer controle over wanneer het wordt geactiveerd en hoe lang het blijft branden. Het kan actief zijn
Electronic Eye Controlled Security System Deel 2: 3 stappen
Electronic Eye Controlled Security System Deel 2: Hey jongens! Als je Deel 1 nog niet hebt gezien, KLIK HIER. In dit project zullen we een eenvoudige Home Security-toepassing zien, Electronic Eye Controlled Security System genaamd, met LDR als de hoofdsensor en een paar andere componenten. Het elektronische oog wordt ook
DIY Home Security - Hoe maak je een eenvoudige bewegingsdetectie - Nieuwe versie: 6 stappen
DIY Home Security - Hoe maak je een eenvoudige bewegingsdetectie | Nieuwe versie: in dit project laat ik je zien hoe je een goedkoop doe-het-zelf-alarm voor bewegingsmeldingen voor je huis kunt maken! Zie oude versie: Hoe maak je een wifi-beveiligingssysteem van $ 10 thuis
Zombie-detector: 3 stappen
Zombie Detector: Toen ik naar de universiteit ging, werkte ik bij Knott's Berry Farm en toen Halloween in een weekend viel, trokken we veel publiek. We verkleedden ons allemaal en hadden er plezier in en de meeste klanten waardeerden de moeite. Een van de "muntmeisjes" waar ik werk
Cyborg Zombie Evolution: 9 stappen (met afbeeldingen)
Cyborg Zombie Evolution: Het is bekend van het tijdperk van stoom tot het tijdperk van steampunk… of het nu cool, griezelig, schattig of alle drie tegelijk is, om een wezen tot leven te brengen is elektriciteit nodig. In het geval van deze cyborg-zombie als enkele galvanische cel, bekend als een &q