Домашнее видеонаблюдение на Raspberry Pi

Слож­ность: hard

Допу­стим, наста­ло вре­мя оза­бо­тить­ся без­опас­но­стью и поста­вить дома каме­ры. Мож­но купить спе­ци­аль­ные каме­ры, модуль захва­та видео и потра­тить на это мно­го денег. А мож­но взять модуль Raspberry Pi с род­ной каме­рой, потра­тить в 10 раз мень­ше и полу­чить то же самое. Ну, похо­жее.

Как будет работать

Моз­гом нашей систе­мы ста­нет ком­пью­тер Raspberry Pi. Это одно­плат­ный ком­пью­тер, на кото­ром мож­но запу­стить пол­но­цен­ную опе­ра­ци­он­ную систе­му вро­де Linux.

К ком­пью­те­ру мы под­клю­чим каме­ру: у Pi есть соб­ствен­ный порт для неё, но мож­но так­же исполь­зо­вать веб-камеры с USB. Это будут наши гла­за.

На Raspberry Pi мы поста­вим спе­ци­аль­ную опе­ра­ци­он­ную систе­му, зато­чен­ную под видео­на­блю­де­ние. Её интер­фейс будет досту­пен через веб: мож­но вбить в бра­у­зе­ре адрес нашей Raspberry Pi и полу­чить доступ к каме­рам.

Опе­ра­ци­он­ка будет смот­реть на каме­ры. Когда зафик­си­ру­ет­ся дви­же­ние, она сфо­то­гра­фи­ру­ет его и куда-нибудь отпра­вит или сохра­нит на кар­точ­ку.

Что понадобится

Пла­та Raspberry Pi. Луч­ше все­го взять тре­тью или чет­вёр­тую вер­сию. Если всё рав­но, где поку­пать — нач­ни­те с Али­экс­прес­са. Когда осво­и­тесь, то най­дё­те мага­зин по душе.

Каме­ра. Для про­сто­ты будем исполь­зо­вать офи­ци­аль­ную каме­ру Raspberry Pi NoIR v2. Она пло­хо сни­ма­ет в тем­но­те, но для нача­ла нам это­го хва­тит. Хоти­те ноч­ную съём­ку — выби­рай­те IR-версию и не забудь­те про инфра­крас­ную под­свет­ку. Под­став­ка для каме­ры — дело вку­са, мож­но с ней, мож­но без неё. На рабо­ту она не повли­я­ет, но уста­нав­ли­вать каме­ру будет удоб­нее.

Про­шив­ка. Что­бы пре­вра­тить Raspberry Pi в сер­вер видео­на­блю­де­ния, исполь­зу­ем motionEyeOS. Это спе­ци­аль­ная вер­сия опе­ра­ци­он­ной систе­мы на базе Linux, где уже есть всё, что тре­бу­ет­ся для рабо­ты с каме­рой. Захо­дим на стра­ни­цу про­ек­та, выби­ра­ем нуж­ное устрой­ство и кача­ем. Уста­нав­ли­вать будем на сле­ду­ю­щем эта­пе.

Про­грам­ма для про­шив­ки. Etcher — про­сто и понят­но. Ска­чи­ва­е­те про­грам­му себе на ком­пью­тер и через неё зали­ва­е­те фай­лы на кар­точ­ку. Если пере­ки­нуть их про­сто так, ниче­го не полу­чит­ся.

Кар­та microSD и адап­тер. Про­стая кар­точ­ка на гига­байт или боль­ше. Адап­тер нужен для того, что­бы залить на флеш­ку нуж­ные фай­лы. Если у вас на ком­пью­те­ре или ноут­бу­ке уже есть адап­тер, исполь­зуй­те его.

Источ­ник пита­ния. Что­бы напря­же­ние не про­се­да­ло и всё рабо­та­ло ста­биль­но, бери­те отдель­ный блок пита­ния. У неко­то­рых систе­ма рабо­та­ет от заряд­ки для мобиль­ни­ка, но тут уже на свой страх и риск.

Подготавливаем флешку

  1. Уста­нав­ли­ва­ем Etcher на ком­пью­тер и запус­ка­ем про­грам­му.
  2. Встав­ля­ем флеш­ку в кар­д­ри­дер и под­клю­ча­ем его. Если кар­д­ри­дер встро­ен в ком­пью­тер — про­сто встав­ля­ем флеш­ку.
  3. В Etcher выби­ра­ем про­шив­ку, кото­рую будем уста­нав­ли­вать, выби­ра­ем диск для запи­си — нашу флеш­ку — и нажи­ма­ем кноп­ку Flash.
  4. Ждём, пока запись закон­чит­ся, и доста­ём флеш­ку.

Ино­гда попа­да­ют­ся бра­ко­ван­ные или ста­рые флеш­ки с биты­ми эле­мен­та­ми памя­ти, поэто­му в этом слу­чае про­сто заме­ни­те её на дру­гую.

Настраиваем Wi-Fi

В совре­мен­ных Raspberry Pi есть разъ­ём для под­клю­че­ния локаль­ной сети, но мы ради инте­ре­са попро­бу­ем рабо­тать по Wi-Fi.

На про­шлом шаге после про­шив­ки про­грам­ма сама отклю­чи­ла флеш­ку, поэто­му, ско­рее все­го, ком­пью­тер её уже не видит. Вытас­ки­ва­ем, сно­ва встав­ля­ем и созда­ём на ней файл wpa_supplicant.conf — он отве­ча­ет за настрой­ку бес­про­вод­ной сети на устрой­стве.

Этот файл нам нуж­но сохра­нить в UNIX-формате. Для это­го мож­но исполь­зо­вать любой про­дви­ну­тый тек­сто­вый редак­тор. У нас Sublime Text, поэто­му мы захо­дим в настрой­ки Sublime Text → Preferences → Settings и добав­ля­ем такую строч­ку:

"default_line_ending": "unix",


Сохра­ня­ем настрой­ки, а потом тем же Sublime Text откры­ва­ем наш файл wpa_supplicant.conf и пишем:

country=ru
 update_config=1
 ctrlinterface=/var/run/wpasupplicant

network={
 scan_ssid=1
 ssid="MyNetworkSSID"
 psk="YourPassword"
 }

Здесь нуж­но поме­нять MyNetworkSSID на назва­ние вашей сети, а YourPassword — на пароль для под­клю­че­ния к ней. Сохра­ня­ем и закры­ва­ем.

Запуск и настройка

Нам оста­лось:

  1. Соеди­нить каме­ру и сам модуль Raspberry Pi спе­ци­аль­ным шлей­фом (идёт вме­сте с каме­рой).
  2. Вста­вить кар­точ­ку в Raspberry Pi.
  3. Под­со­еди­нить пита­ние и вклю­чить блок в розет­ку.

После того, как это будет сде­ла­но, ждём 3–5 минут, пока загру­зит­ся систе­ма. В это вре­мя ска­чи­ва­ем ска­нер IP-адресов, что­бы най­ти айпи, кото­рый будет у нашей каме­ры после запус­ка. Мы исполь­зу­ем Angry IP Scanner, но это дело при­выч­ки.

Как толь­ко систе­ма загру­зи­лась и ска­нер нашёл наш модуль в сети — вби­ва­ем его адрес в стро­ку бра­у­зе­ра и вво­дим логин admin. Паро­ля нет, поэто­му пер­вое, что нуж­но сде­лать после вхо­да, — поме­нять пароль на свой.



По умол­ча­нию паро­ля нет, а это пло­хо с точ­ки зре­ния без­опас­но­сти.


После это­го запус­ка­ет­ся рабо­чий стол с каме­ра­ми, и мы видим кар­тин­ку с нашим домом. Это зна­чит, что мы всё сде­ла­ли пра­виль­но и собра­ли свой сер­вер видео­на­блю­де­ния на Raspberry Pi.



Что дальше

У вас есть веб-интерфейс опе­ра­ци­он­ной систе­мы. Копа­ем­ся в меню и всё настра­и­ва­ем. Напри­мер: