FM радиопередатчик на Raspberry Pi

Когда вы едете, к примеру, на автомобиле в дальнее путешествие, то наверняка вы слушаете в дороге радиостанции в диапазоне FM. Но существуют участки дороги, где прием данных радиостанций может быть затруднен или невозможен. К тому же содержание транслируемых передач/музыки может не вызывать у вас интереса или вы будете расстроены огромным количеством рекламы (особенно в последнее время) в транслируемых передачах. В этом случае вам может помочь компактный FM передатчик, который будет транслировать радиосигнал для вашей магнитолы и, таким образом, вы сможете слушать то, что захотите.

Внешний вид FM радиопередатчика на Raspberry Pi

Разумеется, подобные FM радиопередатчики уже достаточно давно выпускаются в промышленных масштабах и стоят сравнительно недорого. Но для многих радиолюбителей, несомненно, вызывает интерес конструирование подобного передатчика собственными руками. В большинстве случае подобные передатчики изготавливаются с помощью обычных дискретных элементов, но корректная настройка передатчика в этом случае может стать достаточно утомительной задачей. Поэтому в данной статье мы рассмотрим создание простого FM радио передатчика на основе платы Raspberry Pi, который можно сконструировать всего за полчаса, а его настройка не вызовет никаких трудностей. Дальность действия данного передатчика может составлять до 50 метров.

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

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

  1. Плата Raspberry Pi (купить на AliExpress).
  2. Соединение с сетью интернет.
  3. Микрофон.

Общие принципы работы проекта

Наверняка при прочтении названия этой статьи у вас возник резонный вопрос по поводу того, каким образом плата Raspberry Pi, являющаяся по своей сути микропроцессорной платой (микрокомпьютером), без использования дополнительного аппаратного обеспечения может работать в качестве FM радиопередатчика?

Дело в том, что каждый современный микропроцессор имеет в своем составе синхронную цифровую систему, предназначенную для уменьшения уровня электромагнитных помех. Это подавление помех осуществляется с помощью сигнала синхронизации с расширением спектра (Spread-spectrum clock signal, SSCS). Частота этого сигнала может изменяться от 1 до 250 МГц, что как раз подходит для необходимого нам FM диапазона. То есть, используя код, который будет осуществлять модуляцию этого широкополосного сигнала, мы сможем превратить плату Raspberry Pi в FM радиопередатчик. Модулированный таким образом сигнал мы будем передавать с помощью контакта GPIO 4 платы. Мы можем подключить к данному контакту провод длиной до 20 см чтобы он работал как антенна.

Настройка платы Raspberry Pi

Для работы данного проекта необходимо чтобы на вашу плату Raspberry Pi была установлена операционная система и она была полностью готова к работе. Работать с платой можно либо подключив монитор к ее разъему HDMI, либо удаленно с помощью программы Putty по протоколу SSH. Но какой бы из этих способов вы не выбрали, после запуска терминала вы должны увидеть примерно следующую картину:

Окно терминала платы Raspberry Pi

Превращение платы Raspberry Pi в FM радиопередатчик

Программа, которая позволяет превратить плату Raspberry Pi в FM радиопередатчик, уже написана пользователем с ником Markondej и доступна на его странице на GitHub. При желании вы можете клонировать эту программу на свою плату Raspberry Pi, скомпилировать и запустить ее на выполнение. Но мы применим немного другой способ. Выполните следующую последовательность шагов.

Шаг 1. Создайте новый каталог, в который мы затем поместим все необходимые файлы для нашего проекта. Мы назвали этот каталог PI_FM. Мы создали этот каталог из окна терминала с помощью команды mkdir PI_FM и затем вошли в него с помощью команды cd PI_FM.

Создание нового каталога PI_FM

Шаг 2. Клонируйте (скачайте) указанную программу с GitHub в каталог, который мы только что создали. Поскольку мы уже находимся в созданном нами каталоге, то для клонирования указанной программы выполните следующую команду:

Завершение процесса клонирования программы с радио передатчиком

Шаг 3. Программа, которую мы скачали, написана на языке C, поэтому нам необходим соответствующий компилятор чтобы скомпилировать и запустить ее на выполнение. Для этого нам будут необходимы компиляторы gcc и g++ и программа под названием make. Установите все эти компоненты с помощью следующей команды:

После этого на экране вы должны увидеть примерно следующую картину:

Установка компиляторов gcc и g++ и программы make

Шаг 4. Теперь у нас все готово для компиляции программы. Для этого нам необходимо перейти в каталог с данной программой с помощью команды cd fm_transmitter и затем запустить компиляцию программы с помощью следующих команд:

После этого программа должна скомпилироваться и вы на экране должны увидеть примерно следующую картину:

Процесс компиляции программы завершен

Шаг 5. Остался финальный шаг – запустить программу на выполнение. При запуске программы необходимо указать частоту, на которой мы будем вести нашу радиопередачу и имя аудиофайла, который мы будем проигрывать. По умолчанию это будет аудиофайл, который скачался вместе с программой радиопередатчика, под названием star_wars.wav. Для тестирования работы проекта мы будем проигрывать музыку из данного файла на частоте 100 МГц. Синтаксис этой команды выглядит следующим образом:

Поскольку нам нужна частота 100 МГц и файл star_wars.wav, то в нашем случае эта команда будет выглядеть следующим образом:

Запуск программы радиопередатчика на исполнение

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

После того как вы запустите программу на выполнение и увидите экран, показанный на рисунке выше, вы можете подключать антенну (кусок провода) к контакту GPIO 4 платы Raspberry Pi.

Внешний вид собранной конструкции проекта

Теперь нам осталось только настроить какой-нибудь радиоприемник (например, встроенный в смартфон) на частоту 100 МГц и наслаждаться музыкой из Звездных войн. После этого вы можете заменить файл star_wars.wav на тот, который вам необходим, но при этом необходимо будет внести изменения и в выше приведенную команду запуска программы.

Проигрывание музыки с мобильного телефона

Передача музыки с мобильного телефона в эфир

Разумеется, проигрывание одного единственного файла не выглядит привлекательным в долгой поездке, гораздо интереснее, к примеру, проигрывать список музыкальных файлов с какого-нибудь устройства и транслировать это в радиоэфир. Для этой цели также можно использовать программу от Markondej, рассмотренную в данной статье. В этом случае вы должны запустить воспроизведение музыки на каком-либо устройстве, например, мобильном телефоне, а к USB порту платы Raspberry Pi подключить микрофон. Для этого также необходимо будет изменить строку запуска программы – как это сделать описано на странице программы от Markondej на github.

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

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


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

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