Obsah:
- Zásoby
- Krok 1: Krok 1: Dekapitujte
- Krok 2: Krok 2: Pridajte Smart
- Krok 3: Krok 3: Naplňte ju
- Krok 4: Krok 4: Nastavte Pi
- Krok 5: Krok 5: Pohyb hlavy
- Krok 6: Krok 6: Rozbúrenie
- Krok 7: Krok 7: Streamujte video z počítača Pi
- Krok 8: Krok 8: Detekcia tela
- Krok 9: Krok 9: Odosielanie upozornení na zombie
- Krok 10: Aký hukot
Video: Inteligentná bezpečnostná sova zisťujúca zombie (hlboké učenie): 10 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
Ahoj všetci, vitajte na T3chFlicks! V tomto halloweenskom tutoriáli vám ukážeme, ako sme super strašidelne skomplikovali svetskú klasiku pre domácnosť: bezpečnostnú kameru.
Ako ?! Vytvorili sme sovu nočného videnia, ktorá na spracovanie ľudí používa spracovanie obrazu. A hukot, rovnako ako skutočná vec!
Z tohto projektu sme boli nadšení a čakali sme na to od chvíle, keď nový Raspberry Pi 4 vypadol. Má 4 GB RAM, čo otvára dvere mnohým skutočne vzrušujúcim možnostiam, vrátane spracovania obrazu s modelmi hlbokého učenia v reálnom čase.
Ak chcete dávať pozor na blížiace sa zombie na Halloween alebo si len po zvyšok roka pozrieť svoju záhradu, je to pre vás to pravé. Zabezpečenie nemusí byť nudné, aby bolo účinné!
Zásoby
Na túto stavbu budete potrebovať:
- Raspberry Pi 4 (4 GB RAM) Amazon
- Kamera na nočné videnie Amazon
- Micro Servo Amazon
- Falošná sova Amazon
- Lepidlo Amazon
- Maľovať Amazon
- Skrutky Amazon
- USB reproduktor Amazon
- Veľký (5v+) prenosný napájací zdroj Amazon
- 3D tlačiareň Amazon
Krok 1: Krok 1: Dekapitujte
a. Vytiahnite hlavu zo sovy (niekedy musíte byť jednoducho brutálni) silným ťahaním za hlavu v mieste, kde sa prichytí k pružine.
b. Hlava sovy je spojená s telom pomocou valca, ktorý je umiestnený na vrchole veľkej pružiny. Odstráňte tento valec vytiahnutím skrutky.
c. Valec, ktorý ste práve vybrali, je vyrobený z dvoch častí, plastového pohára a ložiska, ktoré je vnútri. Odstráňte ložisko z valca pomocou skrutkovača (alebo podobného nástroja).
d. Pomocou skrutky, ktorá spájala valec s pružinou, pripevnite servo k valcu.
e. Odstráňte pružinu odskrutkovaním troch skrutiek, ktoré ju pripevňujú k telu.
f. V hornej časti tela sovy urobte otvor, ktorý je dostatočne veľký, aby sa do neho zmestili niektoré káble a kábel kamery. Na to sme použili neelegantnú kombináciu vŕtačky a skrutkovača.
Krok 2: Krok 2: Pridajte Smart
a. 3D vytlačte puzdro na fotoaparát a namaľujte ho tak, aby zodpovedalo sove - použili sme lacné akrylové farby. Maľovanie nie je zásadným krokom, ale dramaticky zlepšuje celkový vzhľad!
b. Hlavu sovy hore nohami zaskrutkujte hornú časť puzdra fotoaparátu do vnútornej časti hlavy, kde vyčnieva zobák.
c. Vložte kameru do puzdra a pripojte kábel kamery.
d. Prilepte servo k hornému panelu pružiny.
e. Pripojte dlhé vodiče k kolíkom serva (5 V, GND, signál)
f. Kábel a káble kamery k servu prevlečte pružinou a otvorom, ktorý ste urobili v hornej časti tela, aby boli v dutom tele sovy.
Krok 3: Krok 3: Naplňte ju
a. Odstráňte zátku zo spodnej časti sovy a rozrezaním plastu zväčšite veľkosť tohto otvoru. Pokračujte vo zvyšovaní veľkosti, kým sa Raspberry Pi a reproduktor nezmestia do tela sovy.
b. Akonáhle je otvor dostatočne veľký na to, aby sa do neho zmestili všetky súčiastky, vytiahnite kábel kamery, ktorý ste previedli vrchom sovy, zo základne a zapojte ho do Raspberry Pi.
c. Podobne prevlečte servo vodiče a zapojte ich do Raspberry Pi:
- +5 V na servo => +5 V na Pi
- Gnd servo => gnd Pi
- Servo signálu => pin 12 Pi
d. Pripojte USB reproduktor k Pi.
e. Vložte kartu SD do Pi.
f. Napájajte Pi pomocou prenosného napájania.
g. Cez otvor v základni vložte Pi, napájací zdroj a reproduktor do sovy.
Krok 4: Krok 4: Nastavte Pi
VŠETKÝ KÓD NALEZNETE NA
a. Stiahnite si Raspian a nahrajte ho na svoju SD kartu pomocou Balena Etcher.
b. Vzdialený prístup k vášmu pí
- Pridajte súbor s názvom ssh na svoju boot SD kartu
-
Pridajte súbor s názvom wpa_supplicant.conf a zadajte svoje poverenia wifi
ctrl_interface = DIR =/var/run/wpa_supplicant SKUPINA = netdev update_config = 1
network = {ssid = "MySSID" psk = "MyPassword"}
c. Vložte kartu SD do pí a vyskúšajte si prístup pomocou ssh.
Krok 5: Krok 5: Pohyb hlavy
Kurz kódu pre pohyb hlavy (ovládanie serva s malinovým pi)
Na ovládanie serva bežiaceho na Pi vytvoríme skript, ktorý ovláda piny GPIO, ku ktorým je servo pripojené.
a. Pripojte servo k Pi:
- +5 V na servo => +5 V na Pi
- Gnd servo => gnd na Pi
- Servo signálu => pin 12 na Pi
b. Najprv musíte nastaviť kolíky gpio, aby používali PWM na signálnom kolíku serva.
c. Potom je také jednoduché ako výber pracovného cyklu (vysvetlený tu) signálneho kolíka presunúť servo z 90 stupňov s pracovným cyklom 7,5 až 0 stupňov, keď je pracovný cyklus 2,5, a do 180 stupňov s pracovným cyklom 12.5
importujte RPi. GPIO ako GPIO
import time 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 stupňov času.spánok (1) p. ChangeDutyCycle (2,5) # 0 stupňov času.spánok (1) p. ChangeDutyCycle (12,5) # 180 stupňov času.spánok (1) okrem prerušenia klávesnice: p.stop () GPIO.cleanup ()
Krok 6: Krok 6: Rozbúrenie
Tutoriál o kóde na výrobu sovy (prehrávanie zvuku s malinovým pi)
a. Pripojte reproduktor USB.
b. Stiahnite si zvuk - vybrali sme strašidelné hukot.
c. Prehrajte zvuk spustením tohto príkazu: omxplayer -o alsa: hw: 1, 0 owl_sound.mp3
[d. Ak to nefunguje, skontrolujte, aký výstup používa váš Pi a pri akej hlasitosti pomocou príkazu alsamixer - privíta vás obrazovka mixéra, kde môžete zmeniť hlasitosť a vybrať svoje mediálne zariadenie. Ak chcete zvýšiť hlasitosť svojho zvuku, urobte to takto: omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500 Ak chcete tento zvuk prehrať pomocou jazyka Python, pozrite sa na náš testovací skript.]
importný podproces
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ÚRA)
Krok 7: Krok 7: Streamujte video z počítača Pi
Tutoriál k kódu pri vytváraní streamu kamery Raspberry Pi
a. Spustite python app.py a zobrazte ho vo svojej miestnej sieti na adrese https://raspberrypi.local: 5000
b. Tento kód bol prevzatý a mierne upravený od Miguela Grinberga https://blog.miguelgrinberg.com/post/flask-video-… pekne vysvetľuje, ako sa to robí, a jeho návody sú skvelé-pozrite sa na neho! Základný koncept je, že na zvýšenie rýchlosti streamovania používame vlákna a generátory.
Krok 8: Krok 8: Detekcia tela
Kód na detekciu tela (ImageNetSSD vo video streame s malinou pi)
a. Pretože používame Raspberry Pi 4, mysleli sme si, že je najlepšie vyskúšať na ňom niektoré modely hlbokého učenia namiesto základnej metódy HaarCascade, na ktorú sme boli doteraz obmedzovaní.
b. Pozreli sme sa na niektoré z vopred vycvičených modelov, napríklad YOLOv3, ktorý vyzerá super. Malé závažia YOLOv3, ktoré by boli perfektné pre Pi, ale nemohli sme ho spustiť:(c. Namiesto toho sme sa rozhodli pre model MobileSSD, ktorý môžeme spustiť pomocou modulu openCVs DNN (hlboká neurálna sieť), ako sme sa dozvedeli z tohto kódu: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 a od hrdinu návodov na spracovanie obrazu, Adriana Rosebrocka: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- opencv/
d. Keďže sa však pokúšame streamovať tento obsah a spúšťať modely na každom snímke, výsledkom je oneskorené fragmentované video. Opäť sme sa poučili od Adriana Rosebrocka https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ a na vloženie našich obrázkov do frontov sme použili multiprocesový modul Python kde ich možno spracovať bez toho, aby ste tak silno blokovali stream z kamery.
e. Skúste spustiť kód sami:)
Krok 9: Krok 9: Odosielanie upozornení na zombie
Kód na odoslanie oznámenia (python do telefónu)
a. Rozhodli sme sa použiť službu upozornení
b. Môžete získať bezplatný účet a stiahnuť si aplikáciu a naozaj rýchlo sa nastaviť tak, aby ste mohli robiť mobilné oznámenia. Oznámenia sme vytvorili pomocou tohto skriptu pythonu.
žiadosti o import
payload = {"app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "Sova zistila zombie." } r = requests.post ("https://api.pushed.co/1/push", data = užitočné zaťaženie)
Je to veľmi jednoduché a názov oznámenia si môžete prispôsobiť!
Krok 10: Aký hukot
Dúfame, že sa vám náš projekt Smart Security Owl páčil! Bola to super zábavná výroba a cítim sa oveľa bezpečnejšie, keď viem, že môj dom stráži naša verná sova.
Ak si myslíte, že by to bol báječný halloweensky doplnok do vašej inteligentnej domácnosti, hlasujte za nás v halloweenskej súťaži Instructables a ako obvykle nezabudnite lajkovať, komentovať a prihlásiť sa na odber!
Zaregistrujte sa do nášho zoznamu adries!
Odporúča:
Bezpečnostná kamera Raven Pi: 7 krokov (s obrázkami)
Bezpečnostná kamera Raven Pi: Tento plastový havran si užíva nový život ako praktická, ale strašidelná bezpečnostná kamera Raven Pi. V bruchu má Raspberry Pi a na krku vstavanú kameru Pi, ktorá zachytáva HD video vždy, keď je detekovaný pohyb. V rovnakom okamihu je
Tvary: Učenie pre všetkých s Makey Makey: 5 krokov (s obrázkami)
Tvary: Učenie pre všetkých s Makey Makey: Učitelia učia VŠETKÝCH študentov. Niekedy naše učenie musí vyzerať inak v závislosti od študenta. Nasleduje príklad jednoduchej lekcie, ktorú môžete vytvoriť, aby ste sa uistili, že všetci vaši študenti pracujú na základných zručnostiach. Tento projekt by fungoval dobre
Robot SCARA: učenie o Fowardovej a inverznej kinematike !!! (Plot Twist Naučte sa, ako vytvoriť rozhranie v reálnom čase v ARDUINO pomocou SPRACOVANIA !!!!): 5 krokov (s obrázkami)
Robot SCARA: učenie o Fowardovej a inverznej kinematike !!! (Plot Twist Naučte sa, ako vytvoriť rozhranie v reálnom čase v ARDUINO pomocou SPRACOVANIA !!!!): Robot SCARA je vo svete priemyslu veľmi obľúbeným strojom. Názov je skratkou pre kĺbové robotické rameno pre montážne príslušenstvo alebo pre selektívne vyhovujúce príslušenstvo. V zásade ide o robota s tromi stupňami voľnosti, ktorý je prvým dvoma displ
HeadBot-samovyrovnávací robot na učenie a dosah STEM: 7 krokov (s obrázkami)
HeadBot-samovyrovnávací robot na učenie a dosah STEM: Headbot-dvojmetrový, samovyvažujúci robot-je duchovným dieťaťom tímu South Eugene Robotics Team (SERT, FRC 2521), konkurencieschopného stredoškolského robotického tímu na PRVOM Súťaž robotiky, Eugene, Oregon. Tento obľúbený terénny robot robí
Inteligentná bezpečnostná bunda: 6 krokov
Inteligentná bezpečnostná bunda: V tomto návode vám ukážem, ako si vyrobiť vlastnú bezpečnostnú inteligentnú bundu. Na správne monitorovanie okolitých fyzických podmienok osoby použijeme mikroovladač NodeMCU a rôzne senzory. Cieľom je prispôsobiť rôzne