27 апреля, 2024

Создание беспроводной шпионской камеры с Raspberry Pi

Содержание:

Наблюдение всегда было полезным инструментом в арсенале любого хакера, независимо от того нападаем мы или защищаемся. Самостоятельное наблюдение за целями не всегда практично, а традиционные системы видеонаблюдения, как правило, либо слишком дорогое удовольствие, либо имеют недостаточный для наших задач функционал. Сегодня мы будем использовать motionEyeOS на Raspberry Pi Zero для создания небольшой скрытой Wi-Fi камеры, очень доступной и легко скрываемой.

Для чего вы можете ее использовать

Неужели вы бы не нашли способ использовать маленькую, дюймовую шпионскую камеру ценой в 40 баксов? На самом деле, сложное видеонаблюдение никогда не было доступно большинству людей, и только совсем недавно такие платы, как Pi Zero W, стали достаточно мощными, чтобы мы могли создавать такие классные штуки. Благодаря тому, что Raspberry Pi — это решение из разряда Plug-and-Play, мы можем на скорую руку собрать за небольшие деньги легко настраиваемую дневную или ночную камеру.

Теперь, когда вы знаете, что можно легко собрать такую камеру для себя, подумаем об основных способах, которыми хакер может использовать шпионскую камеру. Один способ заключается в том, чтобы помочь осуществить защищенное соединение точки входа с классической установкой CCTV.

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

MotionEyeOS

Чтобы собрать эту сборку максимально быстро и просто, мы будем использовать кастомный образ для Raspberry Pi, который называется motionEyeOS.

«MotionEyeOS — это дистрибутив Linux, который превращает одноплатный компьютер в систему видеонаблюдения. ОС основана на BuildRoot и использует на бекенде motionEye, а на фронтенде — motionEye».
motionEyeOS

Проще говоря, мы можем установить столько Raspberry Pi-камер, сколько захотим. Все они будут подключены к одному простому и симпатичному веб-интерфейсу, который мы можем транслировать в Интернет и наблюдать за происходящим перед объективами камер из любой точки мира. Кроме того, мы сможем настроить датчик движения так, что нам не придется часами сидеть, наблюдая за тем, как ничего не происходит.

Обычная камера против NoIR-камеры

Существует два типа плат для камер, которые мы можем использовать с Pi. Оба имеют по 8 мегапикселей и ведут съемку в 1080p. Стандартная камера похожа на камеру в вашем смартфоне, но не такого высокого качества. Камера NoIR немного отличается. Как следует из названия, у нее нет ИК-фильтра (инфракрасного). Это означает, что она может видеть больший спектр света, чем стандартная камера, что дает основное преимущество при ночном видении, но за это придется платить плохой размытой картинкой при свете дня.

 

В общем и целом, стандартная камера будет отлично работать в помещении, которое как вы предполагаете, будет все время хорошо освещено. Например, в вестибюле, где всегда горит свет.

Если вы ведете съемку в темноте, то используйте камеру NoIR вместо обычной, тогда у вас появится возможность видеть в темноте. Не забывайте, что вам все равно понадобится источник инфракрасного света, например, инфракрасный светодиодный источник или стойка с ИК-подсветкой, чтобы камера могла видеть. Человеческие глаза не видят в ИК-спектре, поэтому не беспокойтесь о том, что этот свет кто-нибудь заметит и догадается о наличии рядом камеры.

Еще один фактор, который следует учитывать, заключается в том, что обнаружение движения у этой сборки основано на использовании специального программного обеспечения, поэтому если камера не может видеть, то она и не сможет обнаружить движение, даже если там что-то есть.

Если вы ограничены в средствах и можете позволить себе только одну из двух типов камер, то мы советуем купить NoIR-камеру. Это на несколько долларов дороже, но в комплекте идет ИК-фильтр, поэтому вы сможете менять камеру так, чтобы она стала стандартной, когда вам это потребуется.

Корпус для камеры

Корпус для камеры, которую вы хотите использовать, очень важен для любой сборки, потому что здесь есть множество вариантов. Вот некоторые моменты, которые стоит принимать во внимание:

  • Что вы собираетесь использовать — Raspberry Pi или Pi Zero?
  • Собираетесь ли вы установить камеру в помещении или на улице?
  • Насколько прочной она должна быть?
  • Насколько скрытой должна быть ваша камера?
Читать также:  Неизвестные хакеры взломали и обокрали крупного криптовалютного инвестора

Нужен ли ИК-источник света? Если да, то нужен ли он в какой-то конкретной ситуации?

Учитывая эти вопросы, вы можете погуглить и найти подходящий для ваших целей корпус для камеры. Выбор по умолчанию — корпус, который можно найти на Amazon’е по запросам «Raspberry camera case». Если у вас есть доступ к 3D-принтеру, то можно поискать что-нибудь подходящее на Thingiverse

Если вы используете Pi Zero, то ZeroView и Pigeon будут хорошим выбором.

Что еще вам понадобится

Если вы впервые покупаете Raspberry Pi, тогда набор Canakit — это отличный выбор, в котором есть все, что нужно. Наиболее экономичным вариантом будет Pi Zero CanaKit и Pi 3 CanaKit. Если вы не хотите покупать набор, то вот список того, что вам нужно для этой сборки:

  • Raspberry Pi — в принципе для наших задач годится любая Pi, но настоящий выбор лежит между Pi 3 и Pi Zero W. Встроенный Wi-Fi делает их очень легкими для установки, разница между ними — в производительности и размере. Если размер критичен, то используйте Zero, но у нее могут быть проблемы с производительностью, например, более низкая частота кадров. Имейте в виду, что вы можете использовать длинный (2 метра) кабель для камеры, что позволит лучше спрятать Pi, поскольку видимым должен быть только сам модуль камеры.
  • Карта microSD.
  • Кардридер для microSD.
  • Источник питания.

Шаг 1. Скачайте образ motionEyeOS

Для начала нужно скачать кастомный образ для Raspberry Pi со страницы выпуска motionEyeOS ‘Github. Скачайте последнюю версию для того типа Pi, который вы будете использовать. Помните, что для Pi Zero вам нужно скачать версию для оригинальной Pi.

Образ заархивирован, поэтому первым делом его нужно распаковать. В Windows вы можете использовать 7-Zip, а на Mac — Keka. Вы также можете использовать WinZip для обеих платформ. WinZip стоит денег, но пробная версия бесплатна. После того, как вы установите что-нибудь из них себе в систему, кликните на архив правой кнопкой мыши и выберите в меню «Извлечь файлы» (Extract files).

Шаг 2. Запись образа на карту MicroSD

Теперь необходимо записать образ на карту microSD. Прежде чем начать, лучше отсоедините любые внешние жесткие диски и другие USB-устройства, которые у вас подключены, а затем вставьте microSD карту в кардридер и подключите его к компьютеру. Это важно, чтобы случайно не затереть не тот диск.

Если у вас уже есть программа для записи образов на флешки, то можете воспользоваться ею. Если такой программы еще нет, то загрузите Etcher, так как его использовать проще всего. У него предельно простой пользовательский интерфейс, и он работает на Windows, Mac и Linux. Etcher должен определить, какую операционную систему вы используете. Если этого не происходит, то убедитесь, что вы загрузили версию, которая подходит к вашей операционной системе и следуете инструкциям на экране. Откройте Etcher (если он не откроется автоматически сразу после установки) и выберите образ, который вы только что скачали.

Убедитесь, что вы выбрали правильный диск и запишите образ. Затем безопасно извлеките SD-карту. Маловероятно, что использование Etcher’а вызовет какую-нибудь ошибку, но если вдруг что-то с ним не получится, то попробуйте воспользоваться ApplePiBaker для Mac или Win32 Disk Imager для Windows.

Шаг 3. Настройка Wi-Fi

Мы можем использовать Ethernet для подключения нашего Pi к сети. Это дает самое быстрое и стабильное соединение, но иногда мы хотим или вынуждены использовать Wi-Fi-соединение, поэтому давайте посмотрим, как можно это сделать.

Если вы используете Windows,загрузите Notepad ++ или у вас могут возникнуть проблемы с тем, как Windows сохраняет переносы строк. После того, как вы его скачаете, откройте его и перейдите в меню «Edit», а затем «EOL Conversion» и нажмите «UNIX»

Читать также:  Как скрыть порт от сканирования?

Чтобы Pi подключался к сети при загрузке, мы должны предоставить ему сетевые учетные данные. Сделать это можно с помощью файла wpa_supplicant.conf, который мы добавляем в загрузочный раздел SD-карты. Etcher отсоединил SD-карту, поэтому выньте ее из кардридера и снова вставьте. В Windows необходимо включить отображение расширений имен файлов на вкладке «Вид» в Проводнике, чтобы вы могли редактировать тип файла.

Затем, используя текстовый редактор, например Notepad++, создайте файл с именем «wpa_supplicant.conf». На скриншоте ниже мы создали новый текстовый документ, а затем переименовали его.

Скопируйте текст ниже, заменив SSID и PSK своей информацией, но не удаляйте кавычки. Если вы живете за пределами США, то можете найти свой код страны и тоже заменить его

country=us
 update_config=1
 ctrlinterface=/var/run/wpasupplicant
network={
 scan_ssid=1
 ssid=»MyNetworkSSID»
 psk=»YourPassword»
 }

После этого сохраните файл и безопасно извлеките SD-карту. Если вы делаете много сборок Pi, то это может быть очень полезный файл, который имеет смысл хранить на рабочем столе и просто копировать на каждую новую Pi, чтобы быстро подключать ее к Wi-Fi.

Шаг 4. Собираем устройство

Самой важной частью процесса сборки является подключение камеры. Давайте посмотрим, как это должно быть сделано на Pi и Pi Zero.

Во-первых, поднимите черную пластиковую часть ленточного разъема, расположенную между разъемами HDMI и аудио на Pi 3.

Затем вставьте ленточный кабель таким образом, чтобы его медные разъемы были обращены к порту HDMI и нажмите вниз его черную часть.

На Pi Zero процесс похож. Вытяните черную пластиковую часть ленточного разъема.

Теперь вставьте ленту так, чтобы ее медные контакты были обращены к плате, и также нажмите на черную часть.

После этого вы должны проделать то же самое с другим концом кабеля и модулем камеры, при этом медные провода должны быть обращены к плате.

Вставьте SD-карту в слот внизу Raspberry Pi. Последний этап — засунуть все это в тот корпус, который вы выбрали. Здесь у нас корпус Pi Foundation, который идет в комплекте CanaKit.

Помните, что нельзя слишком сильно сгибать кабель, особенно под острым углом. Может быть, вам придется приложить небольшое усилие, чтобы защелкнуть камеру на место, но не волнуйтесь — она не сломается.

Наконец, подключите Pi к питанию.

Шаг 5. Запустите вашу Pi

Pi может потребоваться несколько минут, чтобы загрузиться в первый раз, поэтому можно сходить на кухню и сделать себе кофе или чаю, или можно начать записывать ОС на новую флешку если вы запланировали сделать несколько устройств. Через три-пять минут она должна загрузиться, поэтому найдем ее в нашей сети.

Ее IP-адрес можно найти несколькими способами. Например, можно открыть страницу администрирования вашего маршрутизатора и просмотреть все подключенные к нему устройства или воспользоваться программами типа Nmap, Fing или Angry IP Scanner. Если вы не можете найти его, то наиболее вероятной проблемой будет файл wpa_supplicant.conf. Дважды проверьте его и убедитесь, что информация в нем записана правильно.

Как только вы найдете IP-адрес Pi, вставьте его в адресную строку вашего браузера. Вы попадете на страницу входа камеры. По умолчанию имя пользователя — admin, а пароля нет.

Если все сделано правильно, то в верхнем левом углу мы увидим наш видеоканал.

Может потребоваться физически покрутить камеру, чтобы изображение было вертикальным.

По очевидным причинам, первая вещь, которую мы должны сделать — установить пароль администратора и пароль пользователя. Кликните на три горизонтальные полоски в левом верхнем углу экрана, а затем кликните на «General Settings».

К сожалению, вы не сможете изменить имя пользователя admin, но вы можете изменить «Surveillance Username». Как следует из названия, этот пользователь может просматривать только камеры, но не имеет прав изменять настройки. Идем дальше и устанавливаем пароли для обеих учетных записей.

Если вы находитесь в меню, то вы, может быть, захотите изменить имя камеры («Camera Name») в разделе «Video Device». Это очень полезно, когда у вас есть много камер или у вас есть кто-то, кто не знаком с настройкой камеры. После этого нажмите «Apply» на верхней панели, и камера перезапустится.

Читать также:  Как все контролировать с помощью беспроводного (Wi-Fi) управляющего реле, используя aRest

Когда камера перезапустится, нам нужно проверить наличие обновлений. Перейдите на вкладку «General Settings» и кликните «Advanced Settings». Когда вкладка развернется, кликните «Check» рядом с «Software Updates». Обновление ПО должно стать вашей привычкой.

Вы можете изменить часовой пояс и имя хоста. Здесь также вы должны безопасно отключать Pi.

Шаг 6. Исправление IP-адреса

Чтобы упростить себе процесс добавления камер и поиск этой веб-страницы в будущем, полезно установить статический IP-адрес. Найдите вкладку «Network» в настройках и откройте ее. Затем измените конфигурацию IP на статическую, установив IP в тот, который у нее есть в текущий момент.

Шаг 7. Добавление камер

В любом случае в реальности обычно требуется больше одной камеры. Наша текущая конструкция может быть визуализирована следующим образом:

Однако это не будет нормально работать, поскольку придется каждый раз заходить на веб-страницу для каждой новой камеры. И в связи с этим, у нас есть два варианта добавления новых камер. Первый заключается в том, чтобы иметь Pi-хост более чем для одной камеры, что можно сделать, если добавить новые веб-камеры к Pi. Это может быть полезно, если для покрытия всех углов в одной зоне наблюдения требуется несколько камер, но эта возможность ограничена вычислительной мощностью Pi. В зависимости от того, какое разрешение камеры и частоту кадров вы установили, вы можете избежать подобных проблем на Pi 3, но не на Pi Zero.

Чтобы добавить камеру в сеть, перейдите в верхнюю левую часть страницы и откройте вкладку «Settings», затем кликните «Camera 1» и «add camera».

Появится окно, по умолчанию оно будет искать любые локальные камеры на Pi. У нас камер больше нет, но если вы это сделаете, то появится раскрывающееся меню рядом с «Camera». Выберите ту, которую вы хотите добавить, и кликните «ОК».

Второй способ, который мы можем использовать, заключается в том, чтобы одна motionEye-камера дистанционно управляла другой motionEye-камерой. Мы даже можем обозначить одно из motionEye-устройств как хаб и добавить все другие камеры на основе motionEye к этому хабу в качестве удаленных motionEye-камер. Это лучше всего подходит для нашей сборки на основе Pi из-за ограниченной мощности процессора каждой отдельной Pi. Из Pi Zero получаются отличные удаленные камеры, с которыми Pi 3 выступает в качестве хаба.

Перейдите в меню «Add Camera», как и раньше, но на этот раз выберите «remote motionEye». Затем вам нужно предоставить информацию, причем URL-адресом будет статический IP-адрес, который мы установили несколькими шагами ранее. Если у этого Pi имеется более одной камеры, вы можете выбрать, какую из них добавить.

Шаг 8. Настройка обнаружения движения

Теперь, когда у нас есть камеры, мы должны выбрать настройки обнаружения движения. Это некоторые общие отправные точки, но вам придется поэкспериментировать с ними, пока они не начнут работать так, как вы хотите.

Если у вас возникли проблемы с ложным срабатыванием камер, включите «Mask», и вы сможете выбрать те части кадра, которые нужно игнорировать. Это действительно полезно, если у вас есть деревья, которые шатаются на ветру, или автомобили, проезжающие по улице.

Заключение

Сегодня мы узнали, как сделать и настроить одну или несколько Raspberry Pi-камер, работающих под управлением motionEyeOS и объединить их в сеть.

Есть больше настроек, которые мы могли бы рассмотреть, такие как проброс портов, чтобы мы могли видеть камеру из любого места в Интернете, запуск скриптов в результате движения чего-то в кадре или использование контактов GPIO. Мы рассмотрим некоторые из этих функций в следующих статьях. А пока изучите остальные настройки самостоятельно и не забывайте о всплывающих подсказках, которые будут отображаться справа от каждой настройки при наведении на нее мыши.

Если у вас есть вопросы, не стесняйтесь оставлять их в комментариях!

Добавить комментарий