Мазмұны:

Зомби ақылды қауіпсіздік үкісін анықтайды (терең оқыту): 10 қадам (суреттермен)
Зомби ақылды қауіпсіздік үкісін анықтайды (терең оқыту): 10 қадам (суреттермен)

Бейне: Зомби ақылды қауіпсіздік үкісін анықтайды (терең оқыту): 10 қадам (суреттермен)

Бейне: Зомби ақылды қауіпсіздік үкісін анықтайды (терең оқыту): 10 қадам (суреттермен)
Бейне: Этот Новый Вид Зомби Имеет Интеллект, Они Родились Уже Зараженными... [Краткий пересказ] 2024, Желтоқсан
Anonim

Барлығына сәлем, T3chFlicks -ке қош келдіңіз! Бұл Хэллоуин оқулығында біз қарапайым тұрмыстық классикаға: қауіпсіздік камерасына қалай керемет әсер ететінімізді көрсетеміз.

Қалай?! Біз адамдарды бақылау үшін кескінді өңдеуді қолданатын түнгі үкі жасадық. О, және бұл нағыз нәрсе сияқты!

Біз бұл жобаға өте қуаныштымыз және біз оны жаңа Raspberry Pi 4 түскеннен бері күтеміз. Оның 4 ГБ жедел жады бар, ол көптеген қызықты мүмкіндіктерге жол ашады, оның ішінде нақты уақыт режимінде терең оқу модельдерімен суретті өңдеу.

Егер сіз Хэллоуинде зомбиге жақындап қалғыңыз келсе немесе жыл бойы бақшаңызды тексергіңіз келсе, бұл сізге арналған. Қауіпсіздік тиімді болу үшін скучно болмауы керек!

Жабдықтар

Бұл құрылыс үшін сізге қажет:

  • Raspberry Pi 4 (4GB RAM) Amazon
  • Түнгі көру камерасы Amazon
  • Amazon шағын сервисі
  • Жалған үкі Амазонка
  • Амазонды желімдеңіз
  • Амазонды бояңыз
  • Бұрандалар Амазонка
  • USB динамигі Amazon
  • Үлкен (5v+) портативті қуат көзі Amazon
  • 3D принтер Amazon

1 -қадам: 1 -қадам: басын алып тастау

1 -қадам: басын алып тастау
1 -қадам: басын алып тастау
1 -қадам: басын алып тастау
1 -қадам: басын алып тастау
1 -қадам: басын алып тастау
1 -қадам: басын алып тастау

а. Үкіден басын жұлып алыңыз (кейде сіз қатыгез болуыңыз керек), оның басына бұлаққа бекітілген жерінен қатты тартып.

б. Үкі басы денеге үлкен бұлақтың үстіне орналасқан цилиндр арқылы қосылады. Бұл цилиндрді бұранданы алып тастаңыз.

c) Сіз шығарған цилиндр екі бөліктен, пластикалық шыныаяқтан және подшипниктен тұрады. Цилиндрден мойынтіректі бұрағышпен (немесе ұқсас құралды) пайдаланып шығарыңыз.

d. Цилиндрді серіппеге қосатын бұранданың көмегімен серво цилиндрге бекітіледі.

д. Серіппені корпусқа бекітетін үш бұранданы бұрап шығарып алыңыз.

f. Үкі денесінің жоғарғы жағында сымдар мен камера кабеліне сәйкес келетін үлкен тесік жасаңыз. Біз бұл үшін бұрғылау мен бұрағыштың керемет комбинациясын қолдандық.

2 -қадам: 2 -қадам: Smart қосыңыз

2 -қадам: Smart қосыңыз
2 -қадам: Smart қосыңыз
2 -қадам: Smart қосыңыз
2 -қадам: Smart қосыңыз
2 -қадам: Smart қосыңыз
2 -қадам: Smart қосыңыз

а. Камераның корпусын 3D басып шығарып, үкіге сәйкес етіп бояңыз - біз арзан акрил бояуларын қолдандық. Кескіндеме маңызды қадам емес, бірақ ол жалпы көріністі күрт жақсартады!

б. Үкі басын төмен қаратып камера корпусының жоғарғы жағын бастың ішкі жағына бұраңыз, онда тұмсық шығып тұрады.

c) Камераны корпусқа салыңыз және камера кабелін қосыңыз.

d. Сервоны серіппенің жоғарғы тақтасына жабыстырыңыз.

д. Ұзын сымдарды серво түйреуіштеріне қосыңыз (5V, Gnd, сигнал)

f. Камера кабелі мен сымдарды сервоға серіппе арқылы және корпустың жоғарғы бөлігіндегі тесік арқылы беріңіз, олар үкі қуыс корпусының ішінде болады.

3 -қадам: 3 -қадам: оны толтырыңыз

3 -қадам: оны толтырыңыз
3 -қадам: оны толтырыңыз
3 -қадам: оны толтырыңыз
3 -қадам: оны толтырыңыз
3 -қадам: оны толтырыңыз
3 -қадам: оны толтырыңыз
3 -қадам: оны толтырыңыз
3 -қадам: оны толтырыңыз

а. Үкінің түбінен штепсельді алып тастаңыз және пластикті кесу арқылы осы тесіктің көлемін ұлғайтыңыз. Raspberry Pi мен динамик үкі денесіне сыймайынша, мөлшерін ұлғайта беріңіз.

б. Тесік барлық компоненттер ішіне сыйып кететіндей үлкен болғаннан кейін, сіз үкінің жоғарғы жағы арқылы берген камера кабелін негізден шығарып, оны Raspberry Pi -ге қосыңыз.

c) Сол сияқты, серво сымдарын тартып, оларды Raspberry Pi -ге қосыңыз:

  • Сервода +5в = Pi +5V
  • Gnd servo => gnd Pi
  • Сигналдық серво => пин 12 Pi

d. USB динамигін Pi -ге қосыңыз.

д. SD картасын Pi ұясына салыңыз.

f. Power Pi портативті қуат көзін қолданады.

g. Пи, қуат көзі мен динамикті үкіге негіздегі тесік арқылы салыңыз.

4 -қадам: 4 -қадам: Pi орнатыңыз

4 -қадам: Pi орнатыңыз
4 -қадам: Pi орнатыңыз

Барлық кодты https://github.com/sk-t3ch/cctv-owl сайтынан табуға болады!

а. Raspian бағдарламасын жүктеңіз және оны Balena Etcher көмегімен SD картасына жүктеңіз.

б. Пи -ге қашықтан қол жеткізу үшін

  • Boot sd картасына ssh деп аталатын файлды қосыңыз
  • Wpa_supplicant.conf деп аталатын файлды қосыңыз және wifi тіркелгі деректерін енгізіңіз

    ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1

    желі = {ssid = «MySSID» psk = «MyPassword»}

c) SD картасын pi -ге салыңыз және ssh арқылы кіруге тырысыңыз.

5 -қадам: 5 -қадам: Басты жылжыту

5 -қадам: Басты жылжыту
5 -қадам: Басты жылжыту

Басты жылжытуға арналған код оқулығы (таңқурай пи көмегімен сервоны басқару)

Pi -де жұмыс істейтін серводы басқару үшін біз серво қосылған GPIO түйреуіштерін басқаратын сценарий құрамыз.

а. Сервоны Pi -ге қосыңыз:

  • Сервода +5в = Pi +5V
  • Gnd servo => gnd Pi бойынша
  • Сигналдық серво => Pi бойынша 12 түйреуіш

б. Серво сигналының түйреуішінде PWM пайдалану үшін алдымен gpio түйреуіштерін орнату керек.

c) Сигналдық түйреуіштің жұмыс циклын (осында түсіндірілген) таңдау 90 -нан 7,5 -тен 0 градусқа дейінгі циклмен жұмыс циклі 2,5 -тен 180 градусқа дейін жұмыс циклімен ауысу үшін жұмыс циклін таңдау сияқты қарапайым. 12.5

GPO ретінде RPi. 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 градус уақыт. Ұйқы (1) p. ChangeDutyCycle (2.5) # 0 градус уақыт GPIO.cleanup ()

6 -қадам: 6 -қадам: оны күйдіру

6 -қадам: оны күйдіру
6 -қадам: оны күйдіру
6 -қадам: оны күйдіру
6 -қадам: оны күйдіру

Үкі құс жасауға арналған код оқулығы (таңқурай пи көмегімен дыбысты ойнату)

а. USB динамигін қосыңыз.

б. Дыбысты жүктеп алыңыз - біз қорқынышты әзіл таңдадық.

c) Бұл команданы орындау арқылы дыбысты ойнаңыз: omxplayer -o alsa: hw: 1, 0 owl_sound.mp3

[d. Егер бұл көмектеспесе, alsamixer пәрменін қолдана отырып, сіздің Pi қандай өнімділікті және қандай көлемде екенін тексеріңіз - сізге дыбыс деңгейін өзгертуге және медиа құрылғысын таңдауға болатын миксер экраны шығады. Дыбыс деңгейін жоғарылату үшін omxplayer пәрменін орындаңыз: 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 -ден жіберіңіз

7 -қадам: Бейнені Pi -ден жіберіңіз
7 -қадам: Бейнені Pi -ден жіберіңіз
7 -қадам: Бейнені Pi -ден жіберіңіз
7 -қадам: Бейнені Pi -ден жіберіңіз

Таңқурай пи камерасы ағынын жасауға арналған код оқулығы

а. Python app.py іске қосыңыз және жергілікті желіде https://raspberrypi.local: 5000 мекен -жайынан қараңыз

б. Бұл код Мигель Гринбергтен алынды және аздап бейімделді https://blog.miguelgrinberg.com/post/flask-video-… ол мұның қалай жасалғанын жақсы түсіндіреді және оның оқулықтары керемет-дефо оны тексереді! Негізгі тұжырымдама - біз ағынның жылдамдығын жақсарту үшін бұру мен генераторларды қолданамыз.

8 -қадам: 8 -қадам: Денені анықтау

8 -қадам: денені анықтау
8 -қадам: денені анықтау

Денені анықтау коды (таңқурай pi бар бейне ағынында ImageNetSSD)

а. Біз Raspberry Pi 4 -ті қолданғандықтан, біз осы уақытқа дейін шектелген HaarCascade негізгі әдісінің орнына тереңірек оқыту үлгілерін қолданған дұрыс деп ойладық.

б. Біз YOLOv3 сияқты өте керемет көрінетін алдын ала дайындалған модельдерді қарастырдық. YOLOv3 шағын салмақтары, бұл Пи үшін өте жақсы болар еді, бірақ біз оны іске қоса алмадық:(c) Оның орнына, біз осы кодтан білгеніміздей, OpenCVs DNN (терең нейрондық желі) модулін қолдана отырып іске қосылатын MobileSSD моделін таңдадық: 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/

d. Дегенмен, біз бұл мазмұнды ағынмен шығарып, модельдерді әр кадрда іске қосуға тырысып жатқанда, бұл үзілген, үзілген бейнеге әкеледі. Біз Adrian Rosebrock-тен қайтадан үйрендік https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ және суреттерімізді кезекке қою үшін Python мультипроцессорлық модулін қолдандық. онда оларды камералық ағынды қатты бұғаттамай өңдеуге болады.

д. Кодты өзіңіз іске қосып көріңіз:)

9 -қадам: 9 -қадам: Зомби туралы хабарландыру жіберу

9 -қадам: Зомби туралы хабарландыру жіберу
9 -қадам: Зомби туралы хабарландыру жіберу
9 -қадам: Зомби туралы хабарландыру жіберу
9 -қадам: Зомби туралы хабарландыру жіберу

Хабарлама жіберу коды (телефонға питон)

а. Біз https://pushed.co хабарландыру қызметін пайдалануды шештік.

б. Сіз ақысыз есептік жазбаны ала аласыз және қосымшаны жүктей аласыз және мобильді хабарландыруларды тез арада орната аласыз. Біз питон сценарийін қолдана отырып хабарландыруларды құрдық.

импорттық сұраныстар

payload = {«app_key»: «APP_KEY», «app_secret»: «APP_SECRET», «target_type»: «app», «content»: «Жапалақ зомби тапты.» } r = request.post («https://api.pushed.co/1/push», деректер = жүктеме)

Бұл өте қарапайым және сіз хабарлама атауын теңшей аласыз!

10 -қадам: Қандай сұмдық

Қандай сұмдық!
Қандай сұмдық!

Біздің Smart Security Owl жобасы сізге ұнады деп сенеміз! Бұл өте қызықты болды және мен өз үйімді біздің сенімді үкі қорғайтынын білгенде өзімді әлдеқайда қауіпсіз сезінемін.

Егер сіз бұл сіздің ақылды үйіңізге керемет Хэллоуин болады деп ойласаңыз, бізге Хэллоуинге арналған нұсқаулар конкурсында дауыс беріңіз және әдеттегідей ұнауды, пікір қалдыруды және жазылуды ұмытпаңыз!

Біздің пошталық тізімге жазылыңыз!

Ұсынылған: