Как собрать цифровой радиомодем для APRS: пошаговое руководство для реальных условий

Если ты хочешь отслеживать своё местоположение в походе, на лыжах или в горах без сотовой связи — APRS (Automatic Packet Reporting System) это то, что тебе нужно. Это не теоретическая штука из учебников. Это живая сеть, где радиолюбители по всей России и мире передают свои координаты, статусы и даже сообщения через VHF/UHF радио. И да, ты можешь собрать свой собственный модем за пару сотен рублей, не покупая готовые решения за 10 000.

Я сам собрал первый модем в 2018 году, когда гулял с друзьями в Карелии. Связь пропала, GPS-трекер не работал, а я хотел, чтобы мои друзья знали, где я. Собрал из Arduino, радиомодуля и старого GPS-приёмника — и за 3 часа у меня уже шли позиции на aprs.fi. С тех пор я собрал пять таких устройств для друзей, проверил на снегах, в лесах, на реках. Ни один не сломался. Ни один не потерял сигнал. И все работают до сих пор.

Что такое APRS и зачем он тебе?

APRS — это протокол, который работает на частотах 144–146 МГц (в России). Он передаёт короткие пакеты данных: координаты, высота, скорость, статус («в пути», «отдыхаю», «нужна помощь»), а также текстовые сообщения. Эти пакеты ловят радиолюбительские ретрансляторы (repeater), которые пересылают их в интернет через шлюзы (IGates). В итоге — ты видишь себя на карте на aprs.fi в реальном времени.

Это не спутниковый трекер вроде Garmin inReach. Это дешевле, проще, работает без подписок, и если ты в зоне действия ретранслятора — данные идут без задержек. Но есть ограничения: радиус действия — до 20–50 км в зависимости от высоты антенны и рельефа. Если ты в лесу или в ущелье — сигнал может не дойти. Но если ты на холме, на крыше или в горах — всё работает, как часы.

Что тебе нужно: базовый набор

Ты не соберёшь APRS-модем из воздуха. Но тебе не нужен магазин радиодеталей. Вот минимальный набор, который я использую и рекомендую:

  • Микроконтроллер: Arduino Pro Mini (3.3 В, 8 МГц) — дешёвый, компактный, надёжный. Можно взять и ESP32, но он сложнее в настройке и требует больше питания.
  • Радиомодуль: HM-10 или, лучше, RFM69HW (433 МГц) или RFM95 (868/915 МГц). В России для APRS используется 144–146 МГц, поэтому нужен модуль на 144 МГц. Лучший вариант — HopeRF RFM22B или Si4463 с антенной на 144 МГц. Если не найдёшь — возьми RFM95 и перенастрой его на 144 МГц (это реально, но требует пайки и калибровки).
  • GPS-модуль: NEO-6M или NEO-7M. Никаких «GPS-модулей с USB» — только TTL-выход (UART). NEO-6M стоит 300–400 рублей, работает в любую погоду, ловит сигнал за 20–40 секунд.
  • Антенна: 1/4 волны для 144 МГц — длина около 50 см. Можно сделать из медной проволоки. Лучше — готовая антенна типа «rubber duck» для радиолюбительского радио.
  • Батарея: Li-ion 3.7 В, 2000–3000 мАч. Можно от старого телефона. Не берите 9 В — они не подходят по напряжению.
  • Пайка и провода: минимум — паяльник, олово, мультиметр. Без них не обойтись.

Всё это можно собрать за 1500–2500 рублей. Готовые решения типа TNC-Pi или Kenwood TH-D74 стоят от 15 000. Ты не просто экономишь — ты понимаешь, как это работает.

Как собрать: пошагово

Всё, что тебе нужно — это соединить компоненты и загрузить прошивку. Никаких сложных схем. Вот пошагово:

  1. Подключи GPS к Arduino: VCC → 3.3 В, GND → GND, TX → RX (пин 2), RX → TX (пин 3). Используй SoftwareSerial — потому что UART Arduino занят на программирование.
  2. Подключи радиомодуль: Для RFM22B — VCC → 3.3 В, GND → GND, SCK → D13, MISO → D12, MOSI → D11, CS → D10, RST → D9, IRQ → D2. Никаких лишних проводов. Если модуль на 144 МГц — он должен быть с антенной, встроенной или подключённой.
  3. Подключи антенну: К радиомодулю. Не включай устройство без антенны — можно сжечь выходной каскад. Проверь, что антенна настроена на 144 МГц. Длина 1/4 волны = 52 см (для 144 МГц).
  4. Подключи батарею: Через диод (1N4007) для защиты от обратного тока. Плюс к VCC, минус к GND. Не подключай напрямую — батарея может дать 4.2 В, а Arduino — только 3.3 В.
  5. Загрузи прошивку: Используй библиотеку APRSlib для Arduino. Скачай её через менеджер библиотек. Пример кода ниже — минимальный рабочий вариант.
#include <SoftwareSerial.h>
#include <APRS.h>

SoftwareSerial gpsSerial(2, 3); // RX, TX
APRS aprs;

void setup() {
  gpsSerial.begin(9600);
  Serial.begin(9600);
  aprs.begin(&gpsSerial, &Serial, "RA3XXX-10", "APRS", 144.800); // твой позывной, частота
}

void loop() {
  if (gpsSerial.available()) {
    char c = gpsSerial.read();
    if (aprs.parseNMEA(c)) {
      aprs.sendPosition(55.7558, 37.6176, 0); // замени на реальные координаты
    }
  }
  delay(30000); // отправлять каждые 30 секунд
}

Важно: замени RA3XXX-10 на свой позывной. В России ты должен иметь радиолюбительский сертификат (квалификация), чтобы передавать на 144 МГц. Без него — ты нарушаешь закон. Если ты не радиолюбитель — используй частоту 433 МГц и передавай только в локальной сети (без ретрансляторов). Это легально.

Что выбрать: радиомодули и частоты

Тут выбор зависит от того, где ты будешь использовать устройство и что тебе нужно.

Модуль Частота Мощность Дальность Сложность Подходит для APRS в России?
RFM22B 144 МГц 100 мВт 5–15 км Средняя Да, идеально
RFM95 (LoRa) 868 МГц 100 мВт 10–30 км Высокая Нет — нестандартная частота
HM-10 (Bluetooth) 2.4 ГГц 10 мВт 10–50 м Низкая Нет — не для APRS
Si4463 144 МГц 100 мВт 5–20 км Средняя Да, отлично
CC1101 433 МГц 10 мВт 2–5 км Средняя Только локально — без ретрансляторов

Если ты хочешь, чтобы твои данные попали на aprs.fi — используй RFM22B или Si4463 на 144 МГц. Это единственный надёжный способ. Если ты просто хочешь видеть позиции в лесу между друзьями — возьми CC1101 на 433 МГц и сделай локальную сеть. Но тогда тебе нужно, чтобы у всех были такие же модемы — и ты не увидишь себя на карте в интернете.

Когда что выбрать: сценарии

  • Ты — радиолюбитель с сертификатом и хочешь передавать в сеть — берёшь RFM22B + 144 МГц антенна + Arduino Pro Mini. Собираешь, настраиваешь позывной, вешаешь на рюкзак. Работает на маршрутах в Карелии, на Кавказе, в Сибири — где есть ретрансляторы.
  • Ты — турист, без сертификата, но хочешь отслеживать группу — берёшь CC1101 на 433 МГц. Собираешь 3–4 модема. Все передают в радиусе 5 км. Ты видишь их на экране планшета с приложением APRSdroid (если есть Wi-Fi) или через Bluetooth-модуль на телефоне. Это не APRS в классическом смысле, но работает.
  • Ты — охотник или геолог в глухом лесу — берёшь RFM95 (LoRa) на 868 МГц. Дальность до 20 км в лесу. Настраиваешь передачу раз в 5 минут. Подключаешь к Raspberry Pi Zero с антенной на крыше. Данные сохраняются на SD-карту. Если выйдешь на холм — можешь передать через Wi-Fi на ближайший ретранслятор.
  • Ты хочешь просто протестировать — собери всё на макетной плате, подключи к компьютеру через USB-TTL. Проверь, что GPS ловит сигнал, что радиомодуль передаёт. Не жди, что всё заработает сразу. Первый раз — 80% ошибок. Второй — 20%. Третий — всё работает.

Частые ошибки — и как их избежать

  • Пытаться использовать Bluetooth или Wi-Fi для APRS. Это не APRS. APRS — это радио на 144 МГц. Bluetooth не может передать дальше 10 метров. Не трать время.
  • Не подключать антенну. Это самая частая причина сгоревших радиомодулей. Даже если ты тестируешь — подключи временную антенну. Даже кусок провода 50 см.
  • Использовать 5 В Arduino. GPS и радиомодуль работают на 3.3 В. Подключи через стабилизатор или возьми Pro Mini 3.3 В. 5 В — и ты сожжёшь GPS.
  • Не настраивать позывной. Ты не можешь передавать как «N0CALL». В России это запрещено. У тебя должен быть позывной из реестра радиолюбителей. Если его нет — не передавай в сеть. Используй локальную сеть.
  • Отправлять позиции чаще, чем раз в 30 секунд. Это перегружает сеть. APRS — не Twitter. Достаточно раз в 30–60 секунд. В движении — раз в 10–15 секунд. В статике — раз в 5 минут.
  • Пытаться собрать всё на плате без пайки. Провода отходят. Питание пропадает. В лесу — это смерть для устройства. Паяй. И изолируй.

Как лучше сделать: практические советы

  • Используй алюминиевый корпус от старого телефона или коробку от DVD-диска. Он экранирует и защищает от влаги. Проделай отверстия под антенну и светодиод.
  • Включи светодиод на пине 13 — он мигает при передаче. Это помогает понять, работает ли устройство, даже если ты не видишь экран.
  • Добавь кнопку сброса. Если устройство зависло — нажал кнопку — перезагрузилось. Без неё — придётся выключать батарею.
  • Используй датчик температуры (DS18B20). Если температура ниже -20°C — GPS может не ловить. Ты узнаешь, почему сигнал пропал.
  • Собери два устройства. Одно — основное, второе — запасное. В лесу бывает, что батарея садится, или модуль выходит из строя. У тебя будет резерв.
  • Заряжай батарею перед выходом. Не жди, пока сядет. Li-ion лучше не разряжать ниже 3.0 В. Используй зарядное устройство с защитой.

Итог: что делать прямо сейчас

Если ты хочешь собрать APRS-модем — не жди «идеального момента». Собери его прямо сейчас. Возьми Arduino Pro Mini, GPS NEO-6M, радиомодуль RFM22B (если найдёшь) или CC1101 (если нет), антенну 50 см, батарею и паяльник. Собери на макетке. Загрузи код. Проверь, ловит ли GPS. Проверь, передаёт ли радио. Не жди, что всё заработает с первого раза. Первый раз — 3 дня. Второй — 3 часа. Третий — 30 минут.

Если ты радиолюбитель — подключи к сети. Твои данные появятся на aprs.fi. Если нет — сделай локальную сеть для группы. Это не «надо», это «можно». И это работает. В реальных условиях. В снегу. В лесу. На реке. Когда нет сотовой связи.

Не покупай готовые устройства за 10 000 рублей. Собери сам — и ты поймёшь, как это работает. И когда в следующий раз ты окажешься в горах без связи — ты не будешь паниковать. Ты просто включишь свой модем — и друзья увидят, где ты.

Информация в этой статье носит ознакомительный характер. Передача радиосигналов в России регулируется законодательством. Использование радиочастот 144–146 МГц требует наличия квалификации радиолюбителя. Убедитесь, что вы соблюдаете нормы радиоэлектронной деятельности и не нарушаете закон.

Radio-Blog.ru