Сегодня, пересматривая свои старые документы, вспомнил одну интересную вещь, связанную с любительской радиосвязью, и решил на скорую руку написать об этом статью. Речь пойдёт об удалённой работе в радиоэфире, но не через Интернет, как сразу многие бы подумали, а через обычную мобильную связь. Дело было десять лет назад, когда смартфонов ещё ни у кого не было, они только начинали появляться. А у меня вплоть до 2017 года были кнопочные телефоны. Я уже давно знал, что если во время разговора с абонентом нажимать кнопки, то абонент будет слышать звук от этих кнопок. Этот звук похож на тоновый набор обычного стационарного телефона. В принципе, я уже и раньше узнал, что эти звуки — стандартные DTMF сигналы. Тема DTMF сигналов и моя практика их использования в различных приложениях заслужила бы отдельной статьи. Но в этой статье будет идти речь об их применении для управления трансивером. Так вот, у меня возникла следующая идея. Можно подключить телефон к DTMF‑декодеру, а его в свою очередь — к микроконтроллеру, с его помощью обработать последовательность DTMF сигналов по заданному алгоритму и к его выходу UART подключить CAT‑интерфейс трансивера. По такой схеме можно реализовать управление трансивером через DTMF сигналы. В свою очередь телефон с трансивером соединить по аудиотракту, и тогда можно будет работать в радиоэфире через телефон. Я немедленно начал этим заниматься.

Рис. 1. Схема соединений
Рис. 1. Схема соединений

У меня уже была плата DTMF‑декодера, которую я изготавливал ещё в школьное время по этой схеме. На плате размещена микросхема самого декодера IL9270N (аналог ЭКР1008ВЖ18), дешифратор и логические инверторы. К ней я подключал светодиоды, затем тиристорные ключи и лампочки на 220В, но это другая история. Потом эта плата была заброшена, так как была не востребована. Именно её я и взял за основу своей конструкции. Точнее, за периферию. А за основу — макетную плату на МК ATmega8, которую я изготавливал накануне. Я как раз тогда начинал заниматься программированием МК AVR более детально. Из платы DTMF‑декодера я извлёк все микросхемы, за исключением самого декодера. К её выходам я подпаял 7 проводов: 4 линии данных D0…D3, 1 линия активности OE, питание 5В и масса GND. Также я отрезал LM7805. Эти провода я подключил к своей макетной плате с МК. Интерфейс UART я подключил к CAT‑интерфейсу своего трансивера. Здесь два варианта, в зависимости от трансивера. Если трансивер имеет интерфейс с уровнями TTL, то МК можно подключать напрямую. Если RS-232, то через преобразователь на микросхеме MAX232. Всё стандартно. У меня SDR трансивер, и я подключался через MAX232 к COM‑порту ПК. Но суть от этого не меняется. Честно говоря, я ещё не умел работать с UART МК по приёму. Благо, что UART в этом случае односторонний (TX, GND). И мне было не важно, чем отвечает трансивер на мои команды.

Рис 2. Плата с DTMF-декодером и кнопочный телефон
Рис 2. Плата с DTMF-декодером и кнопочный телефон

На схеме (рис. 1) видно, каким образом я осуществил сопряжение по аудиотракту. Это простой случай сопряжения. Но у меня дело обстояло иначе. На столе у меня стоит микшерный пульт в роли маршрутизатора аудиосигналов. Я всё подключил через него, задействовав несколько каналов входа и AUX посылов. Такое подключение даёт возможность выставить уровни громкости на каждой линии, в том числе и на звукозапись при необходимости.

Алгоритм работы данного комплекса предполагался такой. На столе лежит мобильный телефон, подключенный к устройству и настроенный на автоответ. Я, находясь далеко от дома, звоню со своего телефона на этот телефон. Тарифы на тот момент времени уже позволяли иметь бесплатную или копеечную связь. Телефон принимает вызов, и я слышу радиоэфир. Если будет включен трансивер на передачу, то в эфир будет передаваться всё, что я говорю в трубку. А включать трансивер на передачу я буду с помощью нажатия кнопок на телефоне, который, как уже было сказано, передаёт абоненту при нажатии кнопок DTMF‑сигнал. То есть, я нажимаю кнопку, формируя тем самым DTMF‑сигнал, соответствующий этой кнопке. Этот сигнал выходит с аудиовыхода базового телефона и подаётся на мой декодер, затем его код — в микроконтроллер. Он в свою очередь формирует команду CAT для моего трансивера — приём или передача. Можно было вообще обойтись без МК и CAT интерфейса, поставить 1–2 релюшки и переключать ими трансивер на передачу или приём. Но у меня возникла идея не только переключать трансивер, но и полноценно управлять им: перестраивать частоту, переключать диапазоны и виды модуляции. Недостатки такого управления очевидны — оно «слепое». То есть, на моей стороне нет дисплея с информацией или аудиоответа об успешности управления. Можно только ориентироваться косвенно — по изменению звука с трансивера. Но, даже имея такие недостатки, это всё равно уникально и интересно. К тому времени в эфире я уже слышал радиолюбителей, которые работали удалённо через Интернет, но в их случае был покупной трансивер с невыговариваемой ценой. А в моём случае — куда всё проще и дешевле. Да и вообще, мобильная связь, на мой взгляд, надёжнее и качественнее Интернет в плане передачи звука.

Сначала я изучил протокол CAT интерфейса, взяв за основу соответствующий моему аппарату конфигурационный файл из программы OmniRig. Протокол оказался текстовый, что позволило мне его предварительно протестировать вручную через HyperTerminal. Затем я приступил к написанию прошивки. Честно говоря, мне страшно сейчас заглядывать в код. Хотя, всё там нормально, за мелкими исключениями. Очень много вложенных свич‑кейсов. Главное, забегая вперёд, программа работала без сбоя. В алгоритм программы заложена обработка последовательностей нажатия кнопок (цифры от 0 до 9, *, #) и распознавания предусмотренных мной команд. Ввод команды начинается с нажатия клавиши «*», затем вводится номер команды, после чего снова нажимается клавиша «*» и вводится значение для введённой команды (если оно предусмотрено). Нажатием клавиши «#» выполняется введённая команда (в случае, если она определена) и управление возвращается в режим по умолчанию. В этом режиме кнопки означают следующие функции. «1» — перестроить вверх на 100 Гц; «2» — перестроить вверх на 1 кГц; «3» — перестроить вверх на 5 кГц; «4» — перестроить вниз на 100 Гц; «5» — перестроить вниз на 1 кГц; «6» — перестроить вниз на 5 кГц; «7» — ячейка памяти назад; «8» — перейти на приём; «9» — ячейка памяти вперёд; «0» — перейти на передачу; «*» — начать вводить команду. Как можно заметить, внутри МК я ещё предусмотрен ячейки памяти частот. Теперь по поводу команд. Всего сделал четыре команды. «0» — ввести частоту в Гц. Пример: *0*3 675 000# — перестроить трансивер на частоту 3675 кГц. «1» — сменить модуляцию. Номер модуляции — согласно описанию протокола из конфигурационного файла в секции «set mode». «2» — перейти на банк памяти; «3» — создать ячейку в банке памяти. Команда не имеет аргументов.

Теперь по поводу практической эксплуатации такого устройства. Окончательно на готовой плате устройство я так и не реализовал. Я им пользовался от силы 2.5 года, потом надоело. Пользовался в основном, когда ездил в дальние велопоездки. Как добросовестный радиолюбитель, по возвращению домой я заносил проведённые радиосвязи в журнал, предварительно прослушивав аудиозапись, которая велась на время удалённой работы постоянно. Когда появился смартфон с мобильным Интернетом, я управлял трансивером (SDR) через TeamViewer. Но звук всё равно при этом передавал по отдельному независимому каналу — через всю ту же обычную мобильную связь. Качество звука при приёме станций, разумеется, отличается от звука в наушниках возле трансивера. Тихие станции уловить тяжело, и звук может иногда кратковременно прерываться. Задержки есть, но они незначительны для обычной работы в эфире. Бывало такое, что я нажимал на передачу и терял сеть мобильной связи, находясь далеко от города. Но в основном я был очень доволен работой через этот комплекс. При передаче мой голос был также своеобразен. Учитывая обработку голоса в тракте мобильной связи, я на своём трансивере выключал компрессию и эквалайзер по передаче.

В настоящее время на смену старым трансиверам пришли трансиверы нового поколения, и тема удалённой работы в эфире уже звучит как само собой разумеющееся. Но данная идея, о которой шла речь в этой статье, актуальность не теряет. Ведь не у всех есть такие дорогие современные трансиверы. Да и не везде и не у каждого ещё есть Интернет. Особенно — у радиолюбителей пожилого возраста. Меня неоднократно уже спрашивали, как изготовить такую конструкцию самому, и просили меня в этом помочь. Со временем я планирую сделать её на единой плате и реализовать CAT протоколы к популярным моделям трансиверов (Yaesu, ICOM).

Комментарии (12)


  1. exTvr
    21.09.2024 19:13

    FB


  1. vesowoma
    21.09.2024 19:13
    +2

    Дело было десять лет назад, когда смартфонов ещё ни у кого не было, они только начинали появляться.

    В каком году писалась статья?


    1. newintellimouse
      21.09.2024 19:13
      +1

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


      1. R3EQ Автор
        21.09.2024 19:13
        +1

        именно про регион и окружение


  1. iliasam
    21.09.2024 19:13

    Думаю, DTMF можно было и прямо на ATmega8 декодировать.

    Недостатки такого управления очевидны – оно «слепое». То есть, на моей стороне нет дисплея с информацией или аудиоответа об успешности управления. 

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


    1. R3EQ Автор
      21.09.2024 19:13
      +1

      Для начинающего декодировать DTMF самим МК - непреодолимая задача. В настоящее время я бы смог, даже без БПФ. Проигрывать голос с sd-карты - тоже тогда было непросто мне реализовать. Сейчас уже смогу. Но без FAT, а на уровне секторов по адресам. А звук выводить через ШИМ. 8 бит хватит вполне. Я уже кстати тогда думал сделать голосовое проигрывание, но для этого я искал готовый модуль. Честно говоря, я бы и сейчас не стал заморачиваться, поступил бы также.


      1. voldemar_d
        21.09.2024 19:13
        +1

        Для детектирования DTMF не нужно БПФ. Для этого есть алгоритм Гëрцеля.


        1. R3EQ Автор
          21.09.2024 19:13

          Честно, не слышал о таком. Обязательно почитаю матчасть. А я бы просто применял "взвешивание" с базовыми частотами, входящие в DTMF. Их там 4+4=8.


  1. ALEXSh73
    21.09.2024 19:13

    Какие мучения.. Просто беру 817й и акк 12В, 1,2Ач.


    1. R3EQ Автор
      21.09.2024 19:13
      +1

      Обложка статьи не совсем соответствует действительности. На самом деле трансивер другой, стационарный. Да и невозможно с собой взять усилитель, КВ антенну и т.д. Точнее с собой взять можно, но только на выездную позицию. А в статье приводятся совершенно иные условия эксплуатации.


  1. kaisassane
    21.09.2024 19:13

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


    1. R3EQ Автор
      21.09.2024 19:13

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