Съдържание:

Пълнофункционална външна охранителна камера, базирана на Raspberry Pi: 21 стъпки
Пълнофункционална външна охранителна камера, базирана на Raspberry Pi: 21 стъпки

Видео: Пълнофункционална външна охранителна камера, базирана на Raspberry Pi: 21 стъпки

Видео: Пълнофункционална външна охранителна камера, базирана на Raspberry Pi: 21 стъпки
Видео: P6Slite - инсталация и настройки на приложението, свързване с камера, стъпка по стъпка + BG SUBS 2024, Ноември
Anonim
Пълнофункционална външна охранителна камера, базирана на Raspberry Pi
Пълнофункционална външна охранителна камера, базирана на Raspberry Pi
Пълнофункционална външна охранителна камера, базирана на Raspberry Pi
Пълнофункционална външна охранителна камера, базирана на Raspberry Pi
Пълнофункционална външна охранителна камера, базирана на Raspberry Pi
Пълнофункционална външна охранителна камера, базирана на Raspberry Pi
Пълнофункционална външна охранителна камера, базирана на Raspberry Pi
Пълнофункционална външна охранителна камера, базирана на Raspberry Pi

Ако сте имали разочароващи преживявания с евтини уеб камери, техния лошо написан софтуер и/или неадекватен хардуер, лесно можете да изградите полупрофесионална уеб камера с Raspberry Pi и няколко други електронни компонента, които лесно да намерите, на които работи PiWebcam, безплатна и фиктивна -устойчив софтуер, който само с едно щракване превръща вашето устройство в мощна и пълнофункционална уеб камера.

Стъпка 1: Вдъхновение

Вдъхновение
Вдъхновение

След като се борих срещу ограничения софтуер на повечето от евтините охранителни камери на пазара (напр. Лошо нощно виждане, неясно приложение за конфигурацията, без офлайн запис, неточно откриване на движение и т.н.), реших да създам нещо от себе си и Raspberry Pi ми се стори най -подходящата платформа.

Дори ако вече има около голям брой проекти за използване на Raspberry Pi като уеб камера, аз лично ги намирам за твърде сложни и като цяло по-скоро ad-hoc решения за напреднали потребители, а не за крайни продукти.

Въпреки това повечето от тях се фокусират само върху софтуера, а не върху хардуера, което е еднакво важно за случая на използване на охранителната камера.

Стъпка 2: Хардуер

Хардуер
Хардуер

За изграждането на уеб камера на закрито обикновена Raspberry Pi (всеки модел) и прикачена камера (всеки модел) с IR LED за нощно виждане биха работили добре. Вече има много налични комплекти с тази комбинация, така че ако това е, което искате да постигнете, купете един от тях и преминете към стъпка 12.

Същият хардуер обаче не би бил подходящ за външна камера: снимката, направена от инфрачервената камера Raspberry извън дома ви, ще изглежда предимно розова (поради инфрачервената светлина, уловена от камерата) и с малките външни -бокс инфрачервени светодиоди няма да можете да видите нищо над 3 фута / 1 метър.

За да разрешим първия проблем, се нуждаем от нещо, наречено механичен IR CUT филтър, който по същество ви връща истинските цветове при дневна светлина, но все пак позволява да улавяте IR светлините през нощта. Повечето устройства на пазара имат два проводника: един кратък импулс върху един проводник ще премести IR филтъра пред сензора (дневен режим), един кратък импулс на другия проводник ще премахне филтъра (нощен режим). Те обикновено работят между 3v и 9v и ако са свързани към нашата малина, можем да имаме пълен контрол кога да превключваме нощния режим. Въпреки това, IR Cut филтърът не може да се управлява директно от щифт на малината, тъй като механичната част вътре в него изисква много по -голям ток от този, който Pi може да подаде. Ще го заобиколим, като използваме H-Bridge, захранван от 5v на Raspberry и управляван от два пина.

За да разрешим втория проблем, ще се нуждаем от по -мощна инфрачервена LED платка, за да постигнем прилично нощно виждане. Табла с по -малко, но по -големи светодиоди се предпочитат пред тези с много малки светодиоди. Повечето платки на пазара също имат прикрепен LDR (Light Dependent Resistor), който се използва за определяне кога да се включат светодиодите, ако са тъмни. Обикновено те работят при 12v и имат малък щепсел (с етикет "IRC"), който може да се използва за свързване на IR филтър. Въпреки това, не се изпраща импулс директно през този щепсел, но през нощта (включени светодиоди) се създава (обикновено) спад на напрежение от 5v между проводниците и земята. Ако прикачим един от проводниците към нашата малина и наблюдаваме сигнала на щифта, можем да определим дали влизаме или излизаме от нощния режим (което прави точно PiWebcam)

Последно нещо, което трябва да имате предвид по отношение на хардуера, е как да захранвате Raspberry Pi. Тъй като имаме 12v захранване и имаме нужда от 5v за захранване на Pi, е необходим регулатор на напрежението.

Стъпка 3: Софтуер

Софтуер
Софтуер

Идеята зад PiWebcam беше да предостави мощна платформа за изображения за всички, независимо от предишните му познания. Инсталационен скрипт ще се погрижи за пълното конфигуриране на системата с разумни настройки по подразбиране, като позволява на потребителя да персонализира чрез чист и удобен за мобилен уеб интерфейс само много ограничен брой съответни параметри. Независимо от това, благодарение на мощната си функция за откриване на движение, допълнена от възможностите за разпознаване на обекти, задвижвани от модел с изкуствен интелект, PiWebcam може да уведоми потребителя за всяко открито движение, като изпрати моментна снимка до получател на електронна поща или при публикуването му на любимия Slack канал на потребителя.

  • Страница на проекта:
  • Ръководство за потребителя:

Стъпка 4: Сметка на материалите

Сметка на материалите
Сметка на материалите
Сметка на материалите
Сметка на материалите
Сметка на материалите
Сметка на материалите

Следният материал е за външната уеб камера, вградена в този урок:

  • Raspberry Pi Zero W
  • Raspberry Pi камера (всеки модел, този включва IR филтър)
  • Кабел за камера на Raspberry Pi Zero
  • Водоустойчив корпус за камера (всеки модел, в който малината би паснала)
  • SD карта (препоръчително 16GB)
  • IR Led Board (всяка дъска, която отговаря на корпуса на камерата)
  • IR Cut филтър (само ако още не е вграден във фотоапарата)
  • 12v - 5v регулатор (уверете се, че това е регулатор на долара, който може да осигури най -накрая 1A)
  • Микро USB мъжки щепсел
  • 12v женски щепсел
  • 12v 3A захранване
  • H-мост
  • Женско-женски Dupont кели

Стъпка 5: Подготовка на компонентите

Подготовка на компонентите
Подготовка на компонентите
Подготовка на компонентите
Подготовка на компонентите
Подготовка на компонентите
Подготовка на компонентите

Конверторът на долар (регулатор на напрежението) е отговорен за преобразуването на 12v захранването в 5v, което Raspberry Pi изисква. Повечето компоненти на пазара са регулируеми (например можете да промените изходното напрежение чрез завъртане на винт). Тъй като вътре в уеб камерата винтът може да бъде случайно преместен, за да се осигури фиксиран и постоянен 5v изход, поставете малко калай в 5v слота, за да запоите двата ръба и да отрежете проводника върху печатната платка (с нож), който влиза в "ADJ" (горе вляво на снимката)

Тъй като искаме да имаме пълен контрол върху IR Cut филтъра през Raspberry (независимо дали филтърът е вграден в камерата, както е на снимката), трябва да се отървем от малкия конектор. Нарежете двата проводника и свържете женски кабел dupont за всеки проводник. Не изхвърляйте малкия щепсел, тъй като трябва да го използваме, за да получим статуса на LDR, монтиран на IR Led Board. Свържете друг женски кабел dupont към един от двата проводника (няма значение кой).

Стъпка 6: Свържете към инфрачервена платка към захранването

Свържете към IR светодиодна платка към захранването
Свържете към IR светодиодна платка към захранването
Свържете към IR светодиодна платка към захранването
Свържете към IR светодиодна платка към захранването
Свържете към IR светодиодна платка към захранването
Свържете към IR светодиодна платка към захранването

Нека започнем, като свържем 12v захранващия вход, влизащ в голия ни корпус на камерата, към компонентите.

Свържете към отрицателния (черен) проводник следното:

  • Отрицателен проводник на инфрачервената дъска
  • Отрицателен проводник на доларовия преобразувател
  • Отрицателен проводник към USB мъжкия конектор

Свържете към положителния (червен) проводник следното:

  • Положителният (12v) проводник на инфрачервената дъска
  • Vin проводникът на доларовия конвертор

Стъпка 7: Включете Raspberry Pi

Захранване на Raspberry Pi
Захранване на Raspberry Pi
Захранване на Raspberry Pi
Захранване на Raspberry Pi

Свържете кабела Vout на конвертора за долари към USB щепсела, който ще захранва малината.

След като свържете всички проводници, ги запоявайте или просто ги фиксирайте здраво с изолационна лента.

Стъпка 8: Свържете IR филтъра

Свържете IR Cut филтъра
Свържете IR Cut филтъра
Свържете IR Cut филтъра
Свържете IR Cut филтъра
Свържете IR Cut филтъра
Свържете IR Cut филтъра

Тъй като IR Cut филтърът не може да се управлява директно от щифт на Raspberry, ще използваме H-Bridge, захранван от 5v pin на Raspberry и управляван от два пина.

  • Свържете щифт 4 (5v) на малината към "+" на H-Bridge
  • Свържете щифт 5 (GND) на малината към "-" на H-моста
  • Свържете щифт 39 (BCM 20) на малината към INT1 на H-моста
  • Свържете щифт 36 (BCM 16) на малината към INT2 на H-моста
  • Свържете двата проводника на IR филтъра към MOTOR1 и MOTOR2 или H-моста

По този начин, когато импулс ще бъде изпратен през напр. щифт 39, 5v ще бъде доставен към MOTOR1, което прави превключването на филтъра.

Стъпка 9: Свържете IR Led Board към малината

Свържете IR Led Board към малината
Свържете IR Led Board към малината

За да знаем кога се стъмва, използваме LDR, монтиран на платката за IR светодиоди. Използвайте малкия щепсел, изрязан от IR филтъра в предишните стъпки, свържете едната страна към конектора с надпис „IRC“на платката за IR LED, а другата към щифт 40 (BCM 21) на малината.

Стъпка 10: Монтирайте камерата на инфрачервената дъска

Монтирайте камерата на инфрачервената дъска
Монтирайте камерата на инфрачервената дъска
Монтирайте камерата на инфрачервената дъска
Монтирайте камерата на инфрачервената дъска

Закрепете камерата към специалния слот на платката за IR светодиоди с изолационна лента или друго средство. Нещата, които трябва да имате предвид на този етап:

  • Таблото за инфрачервени светодиоди става много горещо, когато е включено, така че защитете камерата съответно;
  • Уверете се, че инфрачервена светлина не може да влезе в слота, където се намира камерата; IR отражението на светлината е една от най -честите причини, поради които нощното виждане е лошо (замъглено);
  • Уверете се, че остава малко пространство между обектива и стъклото на корпуса на фотоапарата, в противен случай може да има отражение или изкривяване на изображението;

ОЩЕ НЕ затваряйте корпуса на камерата:-)

Стъпка 11: Вариант 1 - Преминете предварително конфигурирано изображение на PiWebcam (препоръчително)

Вариант 1 - Преминете предварително конфигурирано изображение на PiWebcam (препоръчително)
Вариант 1 - Преминете предварително конфигурирано изображение на PiWebcam (препоръчително)
  • Изтеглете най -новото изображение на PiWebcam (PiWebcam_vX. X.img.zip) от
  • Разархивирайте файла Запишете изображението на SD карта (https://www.raspberrypi.org/documentation/installation/installing-images/)
  • Включете SD картата в Raspberry Pi и я включете
  • Устройството ще започне да действа като точка за достъп
  • Продължете със задачите след инсталацията

Стъпка 12: Вариант 2 - Изградете изображение на PiWebcam

Вариант 2 - Изградете изображение на PiWebcam
Вариант 2 - Изградете изображение на PiWebcam

Изграждането на изображение на PiWebcam изисква нова инсталация на Raspbian и SD карта. Моля, не използвайте повторно съществуваща инсталация, а започнете от нулата:

  • Изтеглете операционната система Raspbian Stretch Lite
  • Запишете изображението на SD карта (например с помощта на Win32 Disk Imager)

Стъпка 13: Вариант 2 - Копирайте PiWebcam на SD картата

Вариант 2 - Копирайте PiWebcam на SD картата
Вариант 2 - Копирайте PiWebcam на SD картата
Вариант 2 - Копирайте PiWebcam на SD картата
Вариант 2 - Копирайте PiWebcam на SD картата
Вариант 2 - Копирайте PiWebcam на SD картата
Вариант 2 - Копирайте PiWebcam на SD картата

Изтеглете най -новата версия на PiWebcam (PiWebcam_vX. X.zip), извлечете и копирайте директорията "PiWebcam" в зареждащия дял.

За безглавно място за настройка в зареждащия дял също празен файл, наречен "ssh" и "wpa_supplicant.conf" с вашата мрежова конфигурация. По този начин Raspberry ще започне да се свързва с вашата WiFi мрежа при стартиране и изобщо няма да имате нужда от HDMI кабел, но може да се свърже директно чрез SSH към него.

Стъпка 14: Вариант 2 - Включете малината и се свържете с нея

Вариант 2 - Включете малината и се свържете с нея
Вариант 2 - Включете малината и се свържете с нея
Вариант 2 - Включете малината и се свържете с нея
Вариант 2 - Включете малината и се свържете с нея

Включете SD картата в своя Raspberry Pi, включете я и със SSH клиент (или PuTTY в Windows) се свържете с нея:

  • Име на хост: raspberrypi.local
  • Потребителско име: pi
  • Парола: малина

Стъпка 15: Вариант 2 - Конфигурирайте системата за PiWebcam

Вариант 2 - Конфигурирайте системата за PiWebcam
Вариант 2 - Конфигурирайте системата за PiWebcam
Вариант 2 - Конфигурирайте системата за PiWebcam
Вариант 2 - Конфигурирайте системата за PiWebcam

След като се уверите, че Raspberry е свързан с интернет, изпълнете следната команда:

sudo /boot/PiWebcam/PiWebcam.sh инсталиране

Това ще конфигурира напълно системата и ще инсталира необходимите зависимости.

В края на инсталацията ще бъдете помолени да рестартирате устройството, за да направите промените напълно ефективни. Всички идентификационни данни ще бъдат обобщени на екрана.

Моля, обърнете внимание, че последните 6 знака са произволни (например PiWebcam-e533fe) и варират в зависимост от устройството.

Стъпка 16: Задачи след инсталирането - Свържете се с WiFi точката за достъп на PiWebcam

Задачи след инсталирането - Свържете се с WiFi точката за достъп на PiWebcam
Задачи след инсталирането - Свържете се с WiFi точката за достъп на PiWebcam
Задачи след инсталирането - Свържете се с WiFi точката за достъп на PiWebcam
Задачи след инсталирането - Свържете се с WiFi точката за достъп на PiWebcam

След като се включи, устройството ще започне да действа като точка за достъп.

Свържете се с WiFi мрежата, създадена от устройството. Паролата за мрежата, както и паролата на администраторския потребител (както за уеб интерфейса, така и за SSH) са същите като SSID (например PiWebcam-XXXXX). Насочете браузъра си към https://PiWebcam.local и удостоверете с потребителско име "admin" и с парола, същата като името на мрежата.

Стъпка 17: Свържете уеб камерата към вашата WiFi мрежа

Свържете уеб камерата към вашата WiFi мрежа
Свържете уеб камерата към вашата WiFi мрежа
Свържете уеб камерата към вашата WiFi мрежа
Свържете уеб камерата към вашата WiFi мрежа

Ако искате да свържете уеб камерата към съществуваща WiFi мрежа, отидете на Устройство / Мрежа, изберете „WiFi клиент“и попълнете своите „WiFi мрежа“и „Passphrase“.

Изчакайте 1-2 минути, свържете се отново към вашата мрежа и насочете браузъра си към https://camera_name.your_network (напр. Http: //PiWebcam-e533fe.local)

Стъпка 18: Затворете калъфа на уеб камерата

Затворете калъфа на уеб камерата
Затворете калъфа на уеб камерата
Затворете калъфа на уеб камерата
Затворете калъфа на уеб камерата

След като беше тествано, че уеб камерата може да бъде достигната през мрежата и е изпълнена основната конфигурация, представена в предишната стъпка, сега е време да затворите кутията.

Стъпка 19: Първи стъпки с PiWebcam

Първи стъпки с PiWebcam
Първи стъпки с PiWebcam
Първи стъпки с PiWebcam
Първи стъпки с PiWebcam
Първи стъпки с PiWebcam
Първи стъпки с PiWebcam
Първи стъпки с PiWebcam
Първи стъпки с PiWebcam

PiWebcam вече се предлага с разумни настройки по подразбиране. След като бъде инсталиран, не се изисква допълнителна конфигурация; PiWebcam ще започне да прави снимки и да записва видеоклипове, независимо дали е свързан или не към мрежата.

Цялата конфигурация на устройството (камера, мрежа, известия и системни настройки) може да се извърши чрез уеб интерфейса. Конфигурационният файл може лесно да се експортира и импортира под Device / System.

Когато се открие движение, PiWebcam ще започне да записва видео (което след това ще бъде достъпно чрез менюто "Възпроизвеждане" на уеб интерфейса). След като няма да има повече движение, картината, подчертаваща с червено поле откритото движение, също ще бъде съхранена. Ако функцията за откриване на обект е активирана, всяко движение, което не съдържа конфигурирания обект, ще бъде игнорирано, за да се намалят фалшивите положителни резултати (напр. Ако се открие движение, но не е идентифициран човек).

Когато известията са активирани, моментната снимка ще бъде изпратена на имейл адреса на потребителя и/или публикувана на конфигурирания Slack канал. Ако интернет връзка не е налична, известието ще бъде поставено на опашка и освободено, когато връзката бъде възстановена следващия път.

Подробно обобщение на всички налични настройки се отчита на страницата на проекта.

Стъпка 20: Отдалечен достъп до интернет

Отдалечен достъп до интернет
Отдалечен достъп до интернет

По желание уеб интерфейсът може да бъде достигнат от Интернет без допълнителна конфигурация във вашата мрежа или домашен рутер. За да активирате тази функционалност, поставете отметка в съответното поле под Устройство / Мрежа.

Ако е разрешен отдалечен достъп до интернет, устройството инициира SSH тунел през serveo.net, без да е необходимо да конфигурирате NAT или UPnP във вашия рутер. Името на устройството се използва като име на хост и услугите в мрежата и ssh са изложени.

Стъпка 21: Технически подробности

Всички файлове на PiWebcam се намират в зареждащия дял на SD картата, в директория, наречена PiWebcam. Това включва един bash файл, PiWebcam.sh и PHP страниците за административния панел.

По време на инсталационния процес се извършва много основна системна конфигурация, създава се initramfs образ и скриптът PiWebcam.sh се добавя към /etc/rc.local, така че да се изпълни при стартиране с параметъра "configure".

При първото рестартиране изображението initramfs ще свие основния дял (преди това е разширен, за да запълни цялата SD карта от инсталатора на Raspbian) и веднага след това ще създаде дял с данни.

Зареждащата и основната файлова система са монтирани само за четене и файлова система с наслагване се създава от изображението initram върху основната файлова система, така че всяка промяна в системата се съхранява само в паметта и се губи при следващото рестартиране. По този начин устройството ще бъде по -устойчиво на грешни конфигурации, може лесно да бъде възстановено до фабричните настройки и може да оцелее до всяко прекъсване на захранването, тъй като по време на нормални операции нито един системен файл не се записва на SD картата. Файловата система за данни вместо това е форматирана с F2FS (Flash-Friendly File System), която отчита характеристиките на устройствата за съхранение на данни, базирани на флаш памет.

По време на стартиране PiWebcam чете своя конфигурационен файл, съхраняван на /boot/PiWebcam/PiWebcam.conf, конфигурира системата, камерата, мрежата и известията въз основа на намерените там настройки и разгръща уеб интерфейса от/boot/PiWebcam/web в кореновото местоположение на уеб.

И филмите, и филмите се съхраняват във файловата система с данни и се групират в папки по година/месец/ден/час, така че да се позволи по -лесен достъп. Всички записи могат да бъдат прегледани чрез уеб интерфейса с h5ai модерен индексатор на файлове, който позволява да се показват файлове и директории по привлекателен начин и да предоставя визуализации на картини и видео, без да е необходимо предварително изтегляне на съдържанието.

Когато се открие движение, PiWebcam.sh се извиква с параметъра "notify" чрез събитието on_picture_save/on_movie_end. Ако откриването на обект е разрешено за по -нататъшен анализ на изображението, картината се изпраща до Clarifai, за да разпознае всички обекти в изображението. Това би било чудесно за намаляване на фалшивите положителни резултати, напр. ако се интересувате да знаете дали някой краде във вашата къща, а не само внезапна смяна на светлината.

След това PiWebcam проверява дали е налична интернет връзка и ако е така, изпраща известието. В допълнение към традиционните известия по електронна поща, изпратени с ssmtp, с прикрепената открита филмова картина, PiWebcam може също да качи същата картина в Slack канал. Ако не познавате Slack, проверете го (); това е чудесен инструмент за сътрудничество, но може да се използва и за създаване на група, посветена на вашето семейство, предоставяне на достъп на членовете на вашето семейство, чат с тях и позволяване на помощните програми PiWebcam или Home Automation (като например eGeoffrey) да публикуват актуализации там. Ако няма интернет връзка, известието не се губи, но се поставя на опашка и се изпраща, когато връзката се възстанови.

Функцията за надграждане се предоставя и чрез уеб интерфейса.

Препоръчано: