Шпионское подслушивающее устройство на Arduino с записью голоса

В этой статье мы рассмотрим создание на основе платы Arduino компактного устройства для записи голоса, которое при желании можно использовать в качестве подслушивающего устройства (шпионского "жучка)". Наше устройство будет содержать небольшой микрофон для записи голоса и последующего сохранения его на SD карту. Оно будет способно записывать фрагменты звука длительностью до 2 минут, эти фрагменты будут иметь последовательную нумерацию. Запись звука будет производиться до тех пор пока не закончится заряд батареи или не закончится место на SD карте. Для индикации того, что начался процесс записи, мы подключили к плате Arduino светодиод.

Внешний вид шпионского подслушивающего устройства на Arduino с записью голоса

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

Необходимые компоненты

  1. Плата Arduino Nano (купить на AliExpress).
  2. MAX9814 Amplifier board (плата усиления, плата микрофона) (купить на AliExpress).
  3. Модуль чтения SD карт (купить на AliExpress).
  4. SD карта.
  5. Источник питания с напряжением 5 В (power bank, батарейка или что-нибудь подобное).

Внешний вид используемых в проекте компонентов показан на следующем рисунке.

Внешний вид используемых в проекте компонентов

Схема проекта

Схема шпионского подслушивающего устройства на Arduino представлена на следующем рисунке.

Схема шпионского подслушивающего устройства на Arduino и модуле MAX9814

Основным компонентом нашего проекта является модуль MAX9814, который представляет собой высокопроизводительный микрофонный усилитель с автоматической регулировкой усиления (automatic gain control, AGC) и низким уровнем вносимых шумов, отличающийся низкой стоимостью. Модуль содержит малошумящий входной (front-end) усилитель, усилитель с изменяющимся коэффициентом усиления (variable gain amplifier, VGA), выходной усилитель, генератор напряжения смещения для микрофона и схему автоматической регулировки усиления – и все это на одном чипе.

Модуль MAX9814 будет записывать звук и передавать его в плату Arduino, которая будет преобразовывать его в .wav формат и сохранять его на MicroSD карту с помощью модуля чтения/записи SD карт, подключенного к плате Arduino.

Внешний вид модуля MAX9814

Модуль MAX9814 содержит достаточно много различных контактов, но мы из них будем использовать всего 3: VCC, GND и выходной контакт. Также модуль содержит контакт усиления (gain pin), который можно подключить к GND или VDD для контролируемого усиления 50dB и 40dB. Но в нашем проекте мы не будем использовать управление усилением модуля, по умолчанию модуль MAX9814 обеспечивает коэффициент усиления равный 60dB.

Для взаимодействия с модулем SD карт мы будем использовать интерфейс SPI, для этого мы задействовали контакты интерфейса SPI платы Arduino.

Контакты платы Arduino Контакты модуля SD карт
5V VCC
GND GND
D10 CS
D11 MOSI
D12 MISO
D13 SCK

Контакты подключения модуля MAX9814 к плате Arduino представлены в следующей таблице.

Контакты платы Arduino Контакты модуля MAX9814
3.3V VDD
GND GND
A0 OUT

Аудио сигнал будет сохраняться фрагментами по 2 минуты, после окончания этого интервала будет создаваться новый файл для записи очередного фрагмента.

Объяснение программы для Arduino

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

В начале кода программы подключим заголовочные файлы используемых библиотек.

Для взаимодействия с модулем MAX9814 с сервиса GitHub скачайте библиотеку TMRpcm.

В следующих строчках кода зададим префикс имени и тип (расширение) файлов, в которые будут сохраняться фрагменты звука. Таким образом, мы будем использовать файлы вида spyxxx.wav.

Также зададим необходимые переменные. Микрофон в нашем проекте доступен на контакте A0 с частотой дискретизации (sample rate) 16000 Гц.

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

В следующем фрагменте кода мы инициализируем последовательную связь (для целей отладки), устанавливаем режимы работы используемых контактов (на ввод или вывод данных). Также мы проверяем возможность работы с SD картой (правильно ли она установлена) и выдаем сообщение об ошибке если ее невозможно инициализировать.

В основном цикле программы loop мы производим запись голоса. Записанный голос мы сохраняем на SD карту, номер файла на которой увеличивается каждый раз когда закончилось время записи в предыдущий файл.

Тестирование работы проекта

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

Тестирование работы проекта

Исходный код программы (скетча)

Видео, демонстрирующее работу проекта

(Проголосуй первым!)
Загрузка...
230 просмотров


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

Ваш адрес email не будет опубликован. Обязательные поля помечены *