Съдържание:
- Консумативи
- Стъпка 1: Стъпка 1: Обезглавяване
- Стъпка 2: Стъпка 2: Добавете Smart
- Стъпка 3: Стъпка 3: Напълнете я
- Стъпка 4: Стъпка 4: Настройка на Pi
- Стъпка 5: Стъпка 5: Преместване на главата
- Стъпка 6: Стъпка 6: Включване
- Стъпка 7: Стъпка 7: Предавайте поточно видеото от Pi
- Стъпка 8: Стъпка 8: Откриване на тялото
- Стъпка 9: Стъпка 9: Изпращане на известия за зомбита
- Стъпка 10: Какъв шум
Видео: Зомби откриване на интелигентна защитна бухал (дълбоко обучение): 10 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Здравейте всички, добре дошли в T3chFlicks! В този урок за Хелоуин ще ви покажем как поставяме супер призрачен обрат върху обикновена битова класика: охранителната камера.
Как ?! Направихме бухал за нощно виждане, който използва обработка на изображения за проследяване на хората. О, и свири, точно като истинското нещо!
Бяхме много развълнувани от този проект и чакахме да го направим още откакто падна новата Raspberry Pi 4. Той има 4 GB RAM, което отваря вратата за множество наистина вълнуващи възможности, включително обработка на изображения с модели за дълбоко обучение в реално време.
Ако искате да следите приближаването на зомбита на Хелоуин или просто да проверите градината си през останалата част от годината, това е за вас. Сигурността не трябва да е скучна, за да бъде ефективна!
Консумативи
За тази конструкция ще ви трябва:
- Raspberry Pi 4 (4GB RAM) Amazon
- Камера за нощно виждане Amazon
- Микро серво Amazon
- Фалшива бухал Amazon
- Лепило Amazon
- Боядисвайте Amazon
- Винтове Amazon
- USB говорител Amazon
- Голямо (5v+) преносимо захранване Amazon
- 3D принтер Amazon
Стъпка 1: Стъпка 1: Обезглавяване
а. Издърпайте главата на бухала (понякога просто трябва да бъдете брутални), като дърпате силно главата му, където се прикрепя към пружината.
б. Главата на бухала се свързва с тялото чрез цилиндър, който седи върху голяма пружина. Свалете този цилиндър, като извадите винта.
° С. Цилиндърът, който току -що свалихте, е направен от две части, пластмасова чаша и лагер, който седи вътре в нея. Свалете лагера от цилиндъра с помощта на отвертка (или подобен инструмент).
д. С помощта на винта, който свързва цилиндъра към пружината, прикрепете серво към цилиндъра.
д. Свалете пружината, като развиете трите винта, които я фиксират към тялото.
е. Направете дупка в горната част на тялото на совата, която е достатъчно голяма, за да побере някои проводници и кабела на камерата. Използвахме неелегантна комбинация от бормашина и отвертка, за да направим това.
Стъпка 2: Стъпка 2: Добавете Smart
а. 3D отпечатайте корпуса на камерата и го нарисувайте, за да съответства на бухала - използвахме евтини акрилни бои. Боядисването не е жизненоважна стъпка, но драстично подобрява цялостния вид!
б. С главата на бухала с главата надолу, завийте горната част на корпуса на камерата във вътрешността на главата му, където клюнът излиза.
° С. Поставете камерата в кутията и свържете кабела на камерата.
д. Залепете серво към горния панел на пружината.
д. Свържете дълги проводници към серво щифтовете (5V, Gnd, сигнал)
е. Прокарайте кабела и проводниците на камерата за серво през пружината и през отвора, който сте направили в горната част на тялото, така че да са вътре в кухото тяло на совата.
Стъпка 3: Стъпка 3: Напълнете я
а. Извадете щепсела от дъното на бухала и увеличете размера на този отвор, като изрежете пластмасата. Продължете да увеличавате размера, докато Raspberry Pi и високоговорителят могат да се поберат в тялото на бухала.
б. След като отворът стане достатъчно голям, за да могат всички компоненти да се поберат вътре, издърпайте кабела на камерата, който сте подали през горната част на бухала, от основата и го включете в Raspberry Pi.
° С. По същия начин издърпайте серво проводниците и ги включете в Raspberry Pi:
- +5v на серво => +5V на Pi
- Gnd серво => gnd Pi
- Сигнално серво => пин 12 Pi
д. Включете USB високоговорителя в Pi.
д. Поставете SD картата в Pi.
е. Power Pi с помощта на преносимо захранване.
g. Поставете Pi, захранването и високоговорителя в бухал през отвора в основата.
Стъпка 4: Стъпка 4: Настройка на Pi
ВСИЧКИ КОД може да се намери на
а. Изтеглете Raspian и го качете на вашата SD карта с помощта на Balena Etcher.
б. За достъп от разстояние до вашия pi
- Добавете файл, наречен ssh, към вашата зареждаща sd карта
-
Добавете файл с име wpa_supplicant.conf и поставете вашите идентификационни данни за wifi
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1
network = {ssid = "MySSID" psk = "MyPassword"}
° С. Поставете SD картата в pi и опитайте достъп чрез ssh.
Стъпка 5: Стъпка 5: Преместване на главата
Урок за код за преместване на главата (управление на серво с малиново пи)
За да контролираме серво, работещо на Pi, ще създадем скрипт, който контролира GPIO щифтовете, към които е свързано серво.
а. Свържете серво към Pi:
- +5v на серво => +5V на Pi
- Gnd серво => gnd на Pi
- Сигнално серво => щифт 12 на Pi
б. Първо трябва да настроите пиновете на gpio, за да използвате PWM на сигналния щифт на серво.
° С. След това е толкова просто, колкото да изберете работен цикъл (обяснен тук) на сигналния щифт, за да преместите серво от 90 градуса с работен цикъл от 7,5 до 0 градуса, когато работният цикъл е 2,5 и до 180 градуса с работен цикъл от 12.5
импортирайте RPi. GPIO като GPIO
време за импортиране 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 градуса time.sleep (1) p. ChangeDutyCycle (2.5) # 0 градуса time.sleep (1) p. ChangeDutyCycle (12.5) # 180 градуса time.sleep (1) с изключение на KeyboardInterrupt: p.stop () GPIO.cleanup ()
Стъпка 6: Стъпка 6: Включване
Урок за код за създаване на бухал (свирене на аудио с малиново пи)
а. Включете USB високоговорителя.
б. Изтеглете звук - избрахме призрачен звук.
° С. Пуснете звука, като изпълните тази команда: omxplayer -o alsa: hw: 1, 0 owl_sound.mp3
[д. Ако това не работи, проверете какъв изход използва вашият Pi и на какъв обем, като използвате командата alsamixer - ще бъдете посрещнати с екрана на миксера, където можете да промените силата на звука и да изберете вашето медийно устройство. За да увеличите силата на звука си, изпълнете командата по този начин omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500 За да възпроизведете този звук с помощта на Python, разгледайте нашия тест скрипт.]
подпроцес на импортиране
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. ТРЪБА)
Стъпка 7: Стъпка 7: Предавайте поточно видеото от Pi
Урок за код за създаване на поток от камера с малинов пи
а. Стартирайте python app.py и прегледайте в локалната си мрежа на https://raspberrypi.local: 5000
б. Този код е взет и леко адаптиран от Мигел Гринберг https://blog.miguelgrinberg.com/post/flask-video-… той обяснява добре как се прави и неговите уроци са страхотни-deffo го проверете! Основната концепция е, че използваме нишки и генератори за подобряване на скоростта на поточно предаване.
Стъпка 8: Стъпка 8: Откриване на тялото
Код за откриване на тялото (ImageNetSSD във видео поток с малиново пи)
а. Тъй като използваме Raspberry Pi 4, решихме, че е най -добре да изпробваме някои модели за задълбочено обучение, вместо основния метод HaarCascade, с който сме се ограничавали досега.
б. Разгледахме някои от предварително обучените модели, като YOLOv3, който изглежда супер готин. Малки тежести на YOLOv3, които биха били идеални за Pi, но не успяхме да го стартираме:(° С. Вместо това, ние избрахме модела MobileSSD, който можем да стартираме с помощта на openCVs DNN (дълбока невронна мрежа) модул, както научихме от този код: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 и от героя на уроците за обработка на изображения, Адриан Роузброк: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- opencv/
д. Въпреки това, тъй като се опитваме да предаваме поточно това съдържание и да изпълняваме модели на всеки кадър, това води до забавено, фрагментирано видео. Научихме отново от Adrian Rosebrock https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ и използвахме многопроцесорния модул Python, за да поставим нашите изображения в опашки където те могат да бъдат обработени, без да блокират потока на камерата толкова силно.
д. Опитайте сами да стартирате кода:)
Стъпка 9: Стъпка 9: Изпращане на известия за зомбита
Код за изпращане на известие (python на телефон)
а. Решихме да използваме услугата за уведомяване
б. Можете да получите безплатен акаунт и да изтеглите приложението и наистина бързо да се настроите да правите известия за мобилни устройства. Създадохме известията с помощта на скрипт на python като този.
заявки за импортиране
payload = {"app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "Бухалът е открил зомби." } r = requests.post ("https://api.pushed.co/1/push", данни = полезен товар)
Това е супер просто и можете да персонализирате името на известието си!
Стъпка 10: Какъв шум
Надяваме се, че сте харесали нашия проект Smart Owl Owl! Това беше супер забавно направление и се чувствам много по -сигурен, знаейки, че къщата ми се пази от нашата надеждна бухал.
Ако смятате, че това би било страхотно допълнение към Хелоуин във вашия интелигентен дом, моля, гласувайте за нас в конкурса за Хелоуин Instructables и както обикновено, не забравяйте да харесате, коментирате и да се абонирате!
Регистрирайте се в нашия пощенски списък!
Препоръчано:
Как да направите интелигентна алармена система за откриване на наводнения с помощта на Raspberry Pi и частици аргон: 6 стъпки
Как да направите интелигентна алармена система за откриване на наводнения с помощта на Raspberry Pi и частици аргон: Наличието на стандартни сензори за наводнение е чудесно за предотвратяване на големи щети по дома или работното ви място. Но това затруднява, ако не сте вкъщи, да присъствате на алармата. Разбира се можете да си купите тези умни Тази алармена система за наводнение открива всякаква течност и задейства аларма
Как да направите защитна верига за късо съединение: 10 стъпки (със снимки)
Как да направим защитна верига за късо съединение: Здравейте приятелю, Днес ще направя верига за защита от късо съединение. Тази верига ще направим с помощта на 12V реле. Как ще работи тази верига - когато късо съединение ще възникне от страната на товара, тогава веригата ще бъде автоматично прекъсната
Сводник зомби със светещи очи: 5 стъпки (със снимки)
Сводник зомби със светещи очи: Научете как да добавите светодиоди с ефект на светещи очи към съществуваща фигура. В моя случай използвах зомби фигура за Хелоуин. Това е доста лесно да се направи и не изисква никакви напреднали умения
Лесна пълзяща зомби ръка: 15 стъпки (със снимки)
Лесна пълзяща зомби ръка.: Тази инструкция не се нуждае от заваръчен пистолет. Безопасно е децата да практикуват, за да създадат проста схема. Но внимавайте за малки предмети, които могат да бъдат погълнати случайно
12v Защитна верига за разреждане на батерията у дома: 6 стъпки (със снимки)
12v Защитна верига за разреждане на батерията у дома: Защитната верига за 12v батерия е задължителна и ако искате да запазите батерията си възможно най -дълго, нека да отидем и да споделим процедури за зареждане и разреждане на оловно -кисели батерии