Cuprins:
- Provizii
- Pasul 1: Pasul 1: Decapitate
- Pasul 2: Pasul 2: Adăugați Smart
- Pasul 3: Pasul 3: Umple-o
- Pasul 4: Pasul 4: Configurați Pi
- Pasul 5: Pasul 5: Mișcarea capului
- Pasul 6: Pasul 6: Făcându-l Hoot
- Pasul 7: Pasul 7: Transmiteți videoclipul din Pi
- Pasul 8: Pasul 8: Detectarea corpului
- Pasul 9: Pasul 9: Trimiterea notificărilor pentru zombi
- Pasul 10: Ce hohot
Video: Zombie Detection Smart Security Owl (Deep Learning): 10 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Bună tuturor, Bine ați venit la T3chFlicks! În acest tutorial de Halloween, vă vom arăta cum punem o întorsătură super-infricosatoare unui clasic banal de uz casnic: camera de securitate.
Cum?! Am realizat o bufniță de noapte care folosește procesarea imaginilor pentru a urmări oamenii. Oh, și se aude, la fel ca adevăratul lucru!
Am fost foarte entuziasmați de acest proiect și așteptăm să îl facem de când noul Raspberry Pi 4 a renunțat. Are o memorie RAM de 4 GB, care deschide ușa către o mulțime de posibilități cu adevărat interesante, inclusiv efectuarea unor procesări de imagini cu modele de învățare profundă în timp real.
Dacă doriți să fiți atenți la apropierea de zombi de Halloween sau pur și simplu să vă verificați grădina tot restul anului, acesta este cel pentru dvs. Securitatea nu trebuie să fie plictisitoare pentru a fi eficientă!
Provizii
Pentru această construcție, veți avea nevoie de:
- Raspberry Pi 4 (4 GB Ram) Amazon
- Camera de vizionare de noapte Amazon
- Micro Servo Amazon
- Fake Owl Amazon
- Lipiți Amazon
- Vopsea Amazon
- Șuruburi Amazon
- Difuzor USB Amazon
- Alimentare portabilă mare (5v +) Amazon
- Imprimantă 3D Amazon
Pasul 1: Pasul 1: Decapitate
A. Trageți capul de pe bufniță (uneori trebuie doar să fiți brutali) trăgându-l puternic de cap, unde se fixează la arc.
b. Capul bufniței se conectează la corp printr-un cilindru care se află deasupra unui arc mare. Scoateți acest cilindru scoțând șurubul.
c. Cilindrul pe care tocmai l-ați scos este format din două părți, o ceașcă de plastic și un rulment care se află în interiorul acestuia. Scoateți rulmentul din cilindru folosind o șurubelniță (sau un instrument similar).
d. Folosind șurubul care a conectat cilindrul la arc, atașați servo la cilindru.
e. Scoateți arcul deșurubând cele trei șuruburi care îl fixează de corp.
f. Faceți o gaură în partea superioară a corpului bufniței, care este suficient de mare pentru a se potrivi câtorva fire și cablul camerei. Am folosit o combinație neelegantă de burghiu și șurubelniță pentru a face acest lucru.
Pasul 2: Pasul 2: Adăugați Smart
A. Imprimați 3D carcasa camerei și vopsiți-o pentru a se potrivi cu bufnița - am folosit câteva vopsele acrilice ieftine. Pictura nu este un pas vital, dar îmbunătățește dramatic aspectul general!
b. Cu capul bufniței cu capul în jos, înșurubați partea superioară a carcasei camerei în interiorul capului său, unde ciocul iese.
c. Puneți camera în carcasă și conectați cablul camerei.
d. Lipiți servo pe panoul superior al arcului.
e. Conectați firele lungi la pinii servo (5V, Gnd, semnal)
f. Introduceți cablul camerei și firele pentru servo prin arc și prin orificiul pe care l-ați făcut în partea superioară a corpului, astfel încât să fie în interiorul corpului gol al bufniței.
Pasul 3: Pasul 3: Umple-o
A. Scoateți dopul din partea de jos a bufniței și măriți dimensiunea acestei găuri prin tăierea plasticului. Continuați să măriți dimensiunea până când Raspberry Pi și difuzorul se pot încadra în corpul bufniței.
b. Odată ce gaura este suficient de mare pentru ca toate componentele să se potrivească în interior, trageți cablul camerei pe care l-ați alimentat prin partea superioară a bufniței din bază și conectați-l la Raspberry Pi.
c. În mod similar, trageți firele servo și conectați-le la Raspberry Pi:
- + 5v pe servo => + 5V pe Pi
- Gnd servo => gnd Pi
- Servo de semnal => pin 12 Pi
d. Conectați difuzorul USB la Pi.
e. Introduceți cardul SD în Pi.
f. Power Pi folosind sursa de alimentare portabilă.
g. Introduceți Pi, sursa de alimentare și difuzorul în bufniță prin orificiul din bază.
Pasul 4: Pasul 4: Configurați Pi
TOATE CODURILE POATE FI GĂSITE LA
A. Descărcați Raspian și încărcați-l pe cardul SD folosind Balena Etcher.
b. Pentru a vă accesa pi de la distanță
- Adăugați un fișier numit ssh pe cardul de boot SD
-
Adăugați un fișier numit wpa_supplicant.conf și introduceți acreditările dvs. wifi
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1
network = {ssid = "MySSID" psk = "MyPassword"}
c. Introduceți cardul SD în pi și încercați un acces prin ssh.
Pasul 5: Pasul 5: Mișcarea capului
Tutorial de cod pentru mutarea capului (controlul unui servo cu un raspberry pi)
Pentru a controla un servo care rulează pe Pi, vom crea un script care controlează pinii GPIO la care este conectat servo-ul.
A. Conectați servo-ul la Pi:
- + 5v pe servo => + 5V pe Pi
- Gnd servo => gnd pe Pi
- Servo de semnal => pin 12 pe Pi
b. Mai întâi trebuie să configurați pinii gpio pentru a utiliza PWM pe pinul de semnal al servo-ului.
c. Apoi, este la fel de simplu ca selectarea ciclului de funcționare (explicat aici) al pinului de semnal pentru a muta servo de la 90 de grade cu un ciclu de funcționare de 7,5 la 0 grade când ciclul de funcționare este de 2,5 și la 180 de grade cu un ciclu de funcționare de 12.5
importați RPi. GPIO ca GPIO
timp de import 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 grade time.sleep (1) p. ChangeDutyCycle (2.5) # 0 grade time.sleep (1) p. ChangeDutyCycle (12.5) # 180 grade time.sleep (1) cu excepția KeyboardInterrupt: p.stop () GPIO.cleanup ()
Pasul 6: Pasul 6: Făcându-l Hoot
Tutorial de cod pentru a face howl hoot (redarea audio cu un pi de zmeură)
A. Conectați difuzorul USB.
b. Descarcă un sunet - am ales un hohot infricosator.
c. Redați sunetul executând această comandă: omxplayer -o alsa: hw: 1, 0 owl_sound.mp3
[d. Dacă acest lucru nu funcționează, verificați ce ieșire utilizează Pi-ul dvs. și la ce volum utilizând comanda alsamixer - veți fi întâmpinat cu ecranul mixerului, unde puteți schimba volumul și puteți selecta dispozitivul media. Pentru a crește volumul sunetului dvs., efectuați comanda ca acest omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500 Pentru a reda acest sunet folosind Python, aruncați o privire la scriptul nostru de testare.]
subproces de import
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. PIPE)
Pasul 7: Pasul 7: Transmiteți videoclipul din Pi
Tutorial de cod pentru crearea unui flux de cameră cu raspberry pi
A. Rulați python app.py și vizualizați în rețeaua locală la https://raspberrypi.local: 5000
b. Acest cod a fost preluat și ușor adaptat de la Miguel Grinberg https://blog.miguelgrinberg.com/post/flask-video-… el explică frumos cum se face și tutorialele sale sunt minunate - deffo verificați-l! Conceptul de bază este că folosim filetări și generatoare pentru a îmbunătăți viteza de streaming.
Pasul 8: Pasul 8: Detectarea corpului
Cod pentru detectarea corpului (ImageNetSSD pe un flux video cu raspberry pi)
A. Întrucât folosim Raspberry Pi 4, ne-am gândit că este mai bine să încercăm câteva modele de învățare profundă pe acesta, în loc de metoda de bază HaarCascade la care ne-am limitat până acum.
b. Am aruncat o privire asupra unora dintre modelele pre-antrenate, cum ar fi YOLOv3, care arată super cool. YOLOv3 greutăți mici, care ar fi fost perfecte pentru Pi, dar nu am reușit să rulăm:(c. În schimb, am optat pentru modelul MobileSSD pe care îl putem rula folosind modulul openCVs DNN (deep neural net), așa cum am aflat din acest cod: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 și de la eroul tutorialelor de procesare a imaginilor, Adrian Rosebrock: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- opencv /
d. Cu toate acestea, pe măsură ce încercăm să difuzăm acest conținut și să rulăm modele pe fiecare cadru, rezultă un videoclip fragmentat. Am aflat din nou de la Adrian Rosebrock https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ și am folosit modulul multiprocesare Python pentru a pune imaginile noastre în cozi unde pot fi procesate fără a bloca atât de intens fluxul camerei.
e. Încercați să rulați singur codul:)
Pasul 9: Pasul 9: Trimiterea notificărilor pentru zombi
Cod pentru trimiterea unei notificări (python la telefon)
A. Am decis să folosim serviciul de notificare
b. Puteți obține un cont gratuit și puteți descărca aplicația și puteți configura rapid rapid notificări mobile. Am creat notificările folosind un script Python de genul acesta.
solicitări de import
payload = {"app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "Owl a detectat un zombie." } r = requests.post ("https://api.push.co/1/push", date = sarcină utilă)
Este foarte simplu și îți poți personaliza numele notificării!
Pasul 10: Ce hohot
Sperăm că ți-a plăcut proiectul nostru Smart Security Owl! Acesta a fost un model foarte distractiv și mă simt mult mai în siguranță știind că casa mea este păzită de bufnița noastră de încredere.
Dacă credeți că acesta ar fi un adaos fabulos de Halloween pentru casa dvs. inteligentă, vă rugăm să ne votați la concursul Instructables Halloween și, ca de obicei, nu uitați să vă place, să comentați și să vă abonați!
Înscrieți-vă la lista noastră de distribuție!
Recomandat:
DIY WiFi Smart Security Light cu Shelly 1: 6 Pași (cu imagini)
Lumină inteligentă de securitate WiFi WiFi cu Shelly 1: Această instrucțiune va analiza crearea unei lumini inteligente de securitate DIY folosind releul inteligent Shelly 1 de la Shelly. Efectuarea inteligentă a unei lumini de securitate vă va permite să aveți un control mult mai mare asupra momentului în care se activează și pentru cât timp rămâne aprins. Poate fi activ
Pimp Zombie cu ochi strălucitori: 5 pași (cu imagini)
Pimp Zombie cu ochi strălucitori: Aflați cum să adăugați LED-uri cu efect de ochi strălucitori la o figură existentă. În cazul meu, am folosit o figură de zombie pentru Halloween. Acest lucru este destul de ușor de făcut și nu necesită abilități avansate
Owl Prowl: 5 pași (cu imagini)
Owl Prowl: Owl Prowl este un joc competitiv cu patru jucători jucat cu controlere alternative. Cei patru jucători trebuie să joace ca un personaj de bufniță în spațiul de joc. Scopul lor este de a prinde cei mai mulți șoareci înainte de expirarea timpului. Fiecare jucător folosește o bufniță de pluș pentru a controla
Mână ușoară cu zombie: 15 pași (cu imagini)
Mână ușoară cu zombie: Această instrucțiune nu are nevoie de pistol de sudură. Este sigur pentru copii să se antreneze pentru a crea un circuit simplu. Dar ferește-te de obiectele mici care pot fi înghițite accidental. Nevoia de material: -Motor de vibrație (1,5 ~ 3V, cu sârmă) -Banda conductivă (10 mm, față unică, alum
Cyborg Zombie Evolution: 9 pași (cu imagini)
Cyborg Zombie Evolution: Este bine cunoscut de la epoca aburului până la epoca steampunk … dacă este cool, înfiorător, drăguț sau toate trei în același timp, aducerea unei creaturi la viață ia electricitate. În cazul acestui zombie cyborg ca celulă galvanică unică, cunoscut sub numele de a & q