Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Krok 1: Dekapituj
- Krok 2: Krok 2: Dodaj Smart
- Krok 3: Krok 3: Napełnij ją
- Krok 4: Krok 4: Skonfiguruj Pi
- Krok 5: Krok 5: Poruszanie głową
- Krok 6: Krok 6: Rozgrzanie
- Krok 7: Krok 7: Przesyłaj strumieniowo wideo z Pi
- Krok 8: Krok 8: Wykrywanie ciała
- Krok 9: Krok 9: Wysyłanie powiadomień Zombie
- Krok 10: Co za huk
Wideo: Wykrywanie zombie Smart Security Owl (głębokie uczenie): 10 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Witam wszystkich, witamy w T3chFlicks! W tym samouczku na Halloween pokażemy, w jaki sposób wprowadziliśmy niezwykle upiorny akcent do przyziemnego klasyka gospodarstwa domowego: kamery bezpieczeństwa.
Jak?! Stworzyliśmy sowę noktowizyjną, która wykorzystuje przetwarzanie obrazu do śledzenia ludzi. Och, i to huczy, tak jak w rzeczywistości!
Jesteśmy bardzo podekscytowani tym projektem i czekaliśmy na to odkąd pojawił się nowy Raspberry Pi 4. Ma 4 GB pamięci RAM, co otwiera drzwi do wielu naprawdę ekscytujących możliwości, w tym przetwarzania obrazu z modelami głębokiego uczenia w czasie rzeczywistym.
Jeśli chcesz mieć oko na zbliżające się zombie w Halloween lub po prostu zaglądać do ogrodu przez cały rok, ten jest dla Ciebie. Bezpieczeństwo nie musi być nudne, aby było skuteczne!
Kieszonkowe dzieci
Do tej kompilacji będziesz potrzebować:
- Raspberry Pi 4 (4 GB pamięci RAM) Amazon
- Kamera noktowizyjna Amazon
- Mikroserwo Amazon
- Fałszywa sowa Amazonka
- Klej Amazon
- Pomaluj Amazonkę
- Śruby Amazona
- Głośnik USB Amazon
- Duży (5v+) przenośny zasilacz Amazon
- Drukarka 3D Amazon
Krok 1: Krok 1: Dekapituj
a. Oderwij głowę od sowy (czasem po prostu musisz być brutalny), ciągnąc mocno za głowę w miejscu, w którym przyczepia się do sprężyny.
b. Głowa sowy łączy się z ciałem za pomocą cylindra, który znajduje się na szczycie dużej sprężyny. Wyjmij ten cylinder, wyjmując śrubę.
C. Zdjęty przed chwilą cylinder składa się z dwóch części, plastikowego kubka i umieszczonego w nim łożyska. Wyjmij łożysko z cylindra za pomocą śrubokręta (lub podobnego narzędzia).
D. Za pomocą śruby łączącej cylinder ze sprężyną przymocuj serwo do cylindra.
mi. Zdejmij sprężynę, odkręcając trzy śruby mocujące ją do korpusu.
F. Zrób otwór w górnej części ciała sowy, który jest wystarczająco duży, aby zmieścić kilka przewodów i kabel kamery. Do tego celu wykorzystaliśmy nieelegancką kombinację wiertarki i śrubokręta.
Krok 2: Krok 2: Dodaj Smart
a. Wydrukuj 3D obudowę aparatu i pomaluj ją tak, aby pasowała do sowy - użyliśmy tanich farb akrylowych. Malowanie nie jest istotnym krokiem, ale radykalnie poprawia ogólny wygląd!
b. Z głową sowy do góry nogami, przykręć górną część obudowy aparatu do wnętrza jej głowy, gdzie wystaje dziób.
C. Włóż kamerę do etui i podłącz kabel kamery.
D. Przyklej serwo do górnego panelu sprężyny.
mi. Podłącz długie przewody do pinów serwa (5V, Gnd, sygnał)
F. Przeprowadź kabel kamery i przewody serwomechanizmu przez sprężynę i przez otwór zrobiony w górnej części korpusu, aby znalazły się wewnątrz wydrążonego korpusu sowy.
Krok 3: Krok 3: Napełnij ją
a. Usuń zatyczkę z dna sowy i zwiększ rozmiar tego otworu, przecinając plastik. Kontynuuj zwiększanie rozmiaru, aż Raspberry Pi i głośnik zmieszczą się w korpusie sowy.
b. Gdy otwór będzie wystarczająco duży, aby wszystkie elementy zmieściły się w środku, wyciągnij kabel kamery, który poprowadziłeś przez górną część sowy, z podstawy i podłącz go do Raspberry Pi.
C. Podobnie przeciągnij przewody serwa i podłącz je do Raspberry Pi:
- +5V na serwo => +5V na Pi
- Serwo uziemienia => uziemienie Pi
- Serwo sygnałowe => pin 12 Pi
D. Podłącz głośnik USB do Pi.
mi. Włóż kartę SD do Pi.
F. Power Pi za pomocą przenośnego zasilacza.
g. Włóż Pi, zasilacz i głośnik do sowy przez otwór w podstawie.
Krok 4: Krok 4: Skonfiguruj Pi
CAŁY KOD ZNAJDZIESZ NA https://github.com/sk-t3ch/cctv-owl !
a. Pobierz Raspian i prześlij go na kartę SD za pomocą Balena Etcher.
b. Aby uzyskać zdalny dostęp do swojego pi
- Dodaj plik o nazwie ssh do swojej rozruchowej karty SD
-
Dodaj plik o nazwie wpa_supplicant.conf i umieść swoje dane uwierzytelniające Wi-Fi w
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1
network={ ssid="Moje SSID" psk="MojeHasło" }
C. Włóż kartę SD do pi i spróbuj uzyskać dostęp przez ssh.
Krok 5: Krok 5: Poruszanie głową
Samouczek kodu do poruszania głową (sterowanie serwomechanizmem za pomocą raspberry pi)
Aby kontrolować serwo działające na Pi, stworzymy skrypt kontrolujący piny GPIO, do których serwo jest podłączone.
a. Podłącz serwo do Pi:
- +5V na serwo => +5V na Pi
- Serwo GND => GND na Pi
- Serwo sygnałowe => pin 12 na Pi
b. Musisz najpierw skonfigurować piny gpio, aby używać PWM na pinie sygnałowym serwomechanizmu.
C. Następnie wystarczy wybrać cykl pracy (wyjaśniony tutaj) pinu sygnałowego, aby przesunąć serwo z 90 stopni przy cyklu pracy 7,5 do 0 stopni, gdy cykl pracy wynosi 2,5 i do 180 stopni przy cyklu pracy wynoszącym 12,5
importuj RPi. GPIO jako GPIO
czas importu 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 stopni czasu.snu(1) p. ChangeDutyCycle(2.5) # 0 stopni czasu.snu(1) p. ChangeDutyCycle(12,5) # 180 stopni czasu.snu(1) oprócz KeyboardInterrupt: p.stop() GPIO.oczyszczanie()
Krok 6: Krok 6: Rozgrzanie
Samouczek kodu do robienia sowy huk (odtwarzanie dźwięku za pomocą raspberry pi)
a. Podłącz głośnik USB.
b. Pobierz dźwięk - wybraliśmy upiorny huk.
C. Odtwórz dźwięk, uruchamiając to polecenie: omxplayer -o alsa:hw:1, 0 owl_sound.mp3
[D. Jeśli to nie zadziała, sprawdź, jakiego wyjścia używa Twoje Pi i przy jakiej głośności, za pomocą polecenia alsamixer - zostaniesz powitany ekranem miksera, na którym możesz zmienić głośność i wybrać urządzenie multimedialne. Aby zwiększyć głośność dźwięku, wykonaj polecenie takie jak omxplayer -o alsa:hw:1, 0 owl_sound.mp3 --vol 500 Aby odtworzyć ten dźwięk za pomocą Pythona, spójrz na nasz skrypt testowy.]
import podprocesu
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. RURA)
Krok 7: Krok 7: Przesyłaj strumieniowo wideo z Pi
Samouczek kodu tworzenia strumienia kamery raspberry pi
a. Uruchom python app.py i zobacz w swojej sieci lokalnej pod adresem
b. Ten kod został zaczerpnięty i nieco zaadaptowany od Miguela Grinberga https://blog.miguelgrinberg.com/post/flask-video-… ładnie wyjaśnia, jak to się robi, a jego tutoriale są świetne - deffo sprawdź go! Podstawowa koncepcja polega na tym, że używamy wątków i generatorów, aby poprawić prędkość przesyłania strumieniowego.
Krok 8: Krok 8: Wykrywanie ciała
Kod do wykrywania ciała (ImageNetSSD w strumieniu wideo z raspberry pi)
a. Ponieważ używamy Raspberry Pi 4, pomyśleliśmy, że najlepiej będzie wypróbować na nim kilka modeli głębokiego uczenia zamiast podstawowej metody HaarCascade, do której do tej pory byliśmy ograniczeni.
b. Przyjrzeliśmy się niektórym wstępnie wytrenowanym modelom, takim jak YOLOv3, który wygląda super fajnie. Małe ciężarki YOLOv3, które byłyby idealne dla Pi, ale nie mogliśmy go uruchomić:(C. Zamiast tego zdecydowaliśmy się na model MobileSSD, który możemy uruchomić za pomocą modułu openCVs DNN (głęboka sieć neuronowa), jak dowiedzieliśmy się z tego kodu: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 i od bohatera tutoriali do przetwarzania obrazu, Adriana Rosebrocka: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- otwórzcv/
D. Jednak ponieważ staramy się przesyłać strumieniowo tę zawartość i uruchamiać modele w każdej klatce, powoduje to opóźnione, pofragmentowane wideo. Ponownie nauczyliśmy się od Adriana Rosebrocka https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ i wykorzystaliśmy moduł wieloprocesorowy Pythona do umieszczania naszych obrazów w kolejkach gdzie można je przetwarzać bez tak silnego blokowania strumienia kamery.
mi. Spróbuj samodzielnie uruchomić kod:)
Krok 9: Krok 9: Wysyłanie powiadomień Zombie
Kod do wysłania powiadomienia (python na telefon)
a. Zdecydowaliśmy się skorzystać z usługi powiadomień
b. Możesz założyć darmowe konto i pobrać aplikację i naprawdę szybko rozpocząć tworzenie powiadomień mobilnych. Powiadomienia stworzyliśmy za pomocą takiego skryptu Pythona.
żądania importu
payload = { "app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "Sowa wykryła zombie." } r = request.post("https://api.pushed.co/1/push", data=payload)
To bardzo proste i możesz dostosować swoją nazwę powiadomienia!
Krok 10: Co za huk
Mamy nadzieję, że podobał Ci się nasz projekt Smart Security Owl! To była świetna zabawa i czuję się o wiele bezpieczniej, wiedząc, że mojego domu strzeże nasza wierna sowa.
Jeśli uważasz, że byłby to wspaniały Halloweenowy dodatek do Twojego inteligentnego domu, zagłosuj na nas w konkursie Instructables Halloween i jak zwykle pamiętaj, aby polubić, skomentować i zasubskrybować!
Zapisz się na naszą listę mailingową!
Zalecana:
DIY Automatyczne wykrywanie ruchu Łóżko LED Lampka nocna: 6 kroków (ze zdjęciami)
DIY Automatyczna lampka nocna z czujnikiem ruchu LED: Cześć, chłopaki, witamy w kolejnej instrukcji, która zawsze pomoże ci w codziennym życiu i doda wygody, aby ułatwić ci życie. To może być czasem ratunkiem dla osób w podeszłym wieku, które muszą zmagać się z wstawaniem z łóżka
Karabin maszynowy z gumką, wykrywanie podczerwieni, robot obrońcy TV: 5 kroków (ze zdjęciami)
Gumowe karabiny maszynowe, wykrywanie podczerwieni, TV DEFENDER ROBOT: Bez układów scalonych ten robot czeka na sygnał podczerwieni ze standardowego pilota telewizora, a następnie szybko odpala zestaw gumek. jeśli nie widzisz filmu.Zastrzeżenie: Ten projekt jest w
Monitorowanie terrarium jaszczurki za pomocą kontrolera Adosia IoT WiFi + wykrywanie ruchu: 17 kroków (ze zdjęciami)
Monitorowanie terrarium jaszczurek za pomocą kontrolera Adosia IoT WiFi + wykrywanie ruchu: W tym samouczku pokażemy, jak zbudować proste terrarium dla jaszczurek dla garstki jaj scynków, które przypadkowo znaleźliśmy i naruszyliśmy podczas pracy w ogrodzie. Chcemy, aby jaja wykluwały się bezpiecznie, więc wszystko, co zrobimy, to stworzyć bezpieczną przestrzeń za pomocą plastiku
Śledzenie twarzy i wykrywanie uśmiechu Roboty Halloween: 8 kroków (ze zdjęciami)
Śledzenie twarzy i wykrywanie uśmiechu Roboty Halloween: Halloween nadchodzi! Postanowiliśmy zbudować coś fajnego. Poznaj roboty Ghosty i Skully. Mogą podążać za twoją twarzą i wiedzą, kiedy się uśmiechasz, aby się z tobą śmiać! Ten projekt jest kolejnym przykładem użycia aplikacji iRobbie, która konwertuje iPhone'a na
DIY Home Security - Jak wykonać proste wykrywanie ruchu - Nowa wersja: 6 kroków
DIY Home Security - Jak wykonać proste wykrywanie ruchu | Nowa wersja: W tym projekcie pokażę, jak zrobić niedrogi alarm powiadamiający o ruchu w domu DIY! Zobacz starą wersję: Jak zrobić system bezpieczeństwa WiFi za 10 USD w domu