Сегодня начнем говорить о том, как смастерить небольшой сервер видеонаблюдения на основе одноплатного компьютера Raspberry Pi, простенькой веб-камеры и программы видеонаблюдения Motion, узнаем как установить и настроить операционную систему Raspbian, организовать к ней удаленный доступ по протоколу VNC, как прикрутить авторизацию к веб-интерфейсам Motion, а также как отправить данные с сервера видеонаблюдения по электронной почте средствами операционной системы Raspbian.
Для начала скажу, что информации по данному вопросу ну ооочень много, однако часто она слишком разрознена. А посему решил обобщить материалы, на которые опирался при решении этих задач и выделить их в виде нескольких статей.
Итак, что мы имеем в распоряжении:
- Raspberry Pi модели B (ARM11 процессор Broadcom BCM2835 с тактовой частотой 700 МГц и 512 МБ оперативной памяти на борту), подключенный к маршрутизатору по витой паре;
- карта памяти SD (Silicon Power на 8 ГБ);
- адаптер питания micro USB;
- USB-клавиатура для первоначальной настройки системы;
- HDMI-кабель для подключения компьютера к монитору, либо телевизору;
- веб-камера Logitech C210 с разрешением видео 640x480. Не бог весть что, но для начала вполне подойдет.
Нам понадобится образ операционной системы, который можно скачать на официальном сайте Raspberry Pi:
https://www.raspberrypi.org/downloads/На момент написания статьи это был релиз на основе Debian Wheezy от 05.05.2015 г.
После скачивания архива распаковываем образ 2015-05-05-raspbian-wheezy.img.
Далее нам понадобится программа для записи образов на USB или SD карту. Для этого отлично подойдет Win32 Disk Imager. Скачать ее можно здесь:
http://win32-disk-imager.ru.uptodown.com.
Подключаем карту памяти к компьютеру, запускаем Win32 Disk Imager, выбираем распакованный образ 2015-05-05-raspbian-wheezy.img, в разделе "Device"выбираем нашу карту памяти и жмем кнопку Write.
После записи образа на SD-карту, вставляем последнюю в Raspberry Pi, подключаем все кабеля (HDMI, Ethernet, клавиатуру) и запускаем систему.
При первом запуске системы загружается Raspberry Pi Software Configuration Tool (он же raspi-config).
К слову сказать, эту утилиту можно вызвать в любой момент командой raspi-config из терминала.
Каждый волен настраивать систему как ему угодно, я же могу посоветовать сделать как минимум следующие вещи:
1. Выполнить Expand Filesystem (пункт 1 в меню raspi-config) - при этом система подгонит размеры разделов на вашей SD-карте к её реальной ёмкости, что позволит использовать всё пространство вашей SD-карты.
2. Сменить пароль пользователя (пункт 2 в меню raspi-config). По умолчанию это пользователь pi с паролем raspberry.
3. Установить ваш часовой пояс (Timezone) в разделе Internationalisation Options (ну так, чтоб совсем уж было все строго).
4. Выберите восьмой пункт меню, который называется «Advanced Settings». Появится ещё одно меню, в котором нас интересуют два пункта: A2 Hostname и A4 SSH. Выбрав первый из них, задаём имя нашей Raspberry в локальной сети. В разделе A4 SSH, где можно настроить параметры запуска SSH-сервера: включен (Enabled) или выключен (Disabled). Выбираем Enabled.
Осталось проверить доступ по SSH и забыть про всякие телевизоры и мониторы, подключенные к нашей Raspberry Pi.
Для подключения к Raspberry Pi используем всеми любимую
PuTTY Хорошо бы выдать статический IP-адрес нашей Raspberry Pi, дабы избежать ненужных хлопот. Это станет особенно актуальным, когда мы лишим Raspberry хоть какого-то подобия монитора. А про форвардинг портов мы поговорим позднее.
Если вы настроили свой DHCP-сервер так, чтобы ваша Raspberry Pi получала фиксированный адрес в вашей локальной сети и адрес этот вам известен, то на этом настройку сети можно завершить.
Если же по какой-то причине настраивать DHCP-сервер вы не хотите, можно настроить на Raspberry статический ip-адрес. Для этого нужно, по меньшей мере, знать, какой ip-адрес в вашей сети свободен (и НЕ входит в число выдаваемых DHCP-сервером), какова маска сети, адрес шлюза и адрес DNS-сервера.
Дождитесь загрузки Raspberry и войдите в систему. Напомню, что имя пользователя - pi, а пароль вы в самом начале задали сами (если не задали, то пароль - raspberry). Получите полномочия системного администратора:
sudo bash
После этого откройте на редактирование файл /etc/network/interfaces. Для этого можно воспользоваться имеющимся в системе по умолчанию редактором nano:
nano /etc/network/interfaces
Файл /etc/network/interfaces исходно выглядит так:
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
Группа из последних четырёх строчек имеет отношение к беспроводным сетевым адаптерам; настройка такового - тема для отдельной статьи, а пока к вашей Raspberry не подключено ничего беспроводного, вы можете смело закомментировать эти строчки, поставив перед каждой из них символ #. Точно так же следует закомментировать строчку, описывающую интерфейс eth0, а вместо неё написать следующее:
iface eth0 inet static
address 10.12.7.70
netmask 255.255.255.0
gateway 10.12.7.1
Замените приведённые здесь адреса вашими ip-адресом, маской и адресом шлюза. Кроме того, добавьте строчку auto eth0, чтобы интерфейс включался при загрузке системы. Окончательно ваш файл примет вид:
auto lo
iface lo inet loopback
# iface eth0 inet dhcp
auto eth0
iface eth0 inet static
address 10.12.7.70
netmask 255.255.255.0
gateway 10.12.7.1
# allow-hotplug wlan0
# iface wlan0 inet manual
# wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
# iface default inet dhcp
Сохраните его и откройте на редактирование файл /etc/resolv.conf:
nano /etc/resolv.conf
В этот файл нужно вписать строчки, соответствующие адресам DNS-серверов в вашей сети, например:
nameserver 10.12.0.3
nameserver 10.12.7.31
Этап настройки сети можно считать завершенным.
Итак, наш Raspberry Pi доступен по протоколу SSH и имеет известный нам IP-адрес. Подключаемся через PuTTY и производим обновление индексов пакетов и их обновление:
sudo apt-get update
sudo apt-get upgrade
Вдобавок установим монитор процессов htop:
sudo apt-get install htop
... и файловый менеджер Midnight Commander:
sudo apt-get install mc
На этом все. На наш Raspberry Pi установлена операционная система Raspbian, а также настроен удаленный доступ по протоколу SSH.