CHIRP: бесплатное программирование раций (и почему не для DMR-codeplug)

Категория: АксессуарыСложность: ★★☆~8 минут

Если вы хоть раз вбивали частоты репитера в Baofeng вручную с клавиатуры — вы знаете, какая это боль: листать меню кнопками, по одной цифре, и молиться, чтобы не перепутать сдвиг частоты. CHIRP решает эту проблему раз и навсегда. Это бесплатная программа с открытым кодом, которая умеет читать память сотен моделей раций, показывать каналы обычной таблицей (как Excel) и записывать всё обратно одним кликом. Поддерживаются Windows, macOS и Linux. Но у CHIRP есть жёсткая граница: он силён в аналоге, а вот полноценный DMR-кодплаг — контакты, talkgroup, зоны, RX-группы, DMR ID — он, как правило, делать не умеет. Разберём, что CHIRP реально может, как его поставить и завести кабель, и почему для DMR всё равно нужен родной CPS производителя.

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

Что такое CHIRP и чем он удобен

CHIRP (читается «чёрп», проект chirpmyradio.com) — это волонтёрская open-source разработка, которую развивают уже больше пятнадцати лет. Главная идея: вместо того чтобы держать десяток разных фирменных программ под каждую рацию, вы ставите один инструмент, который понимает большинство массовых трансиверов. Чем он реально хорош:

Современная актуальная версия называется CHIRP-next — это переписанная на Python 3 ветка, именно её и нужно скачивать (старый «legacy»-CHIRP давно не развивается). Сборки выходят почти ежедневно: внесли правку — назавтра готов свежий билд.

Что CHIRP программирует (и чего не трогает)

Чтобы не было разочарований, чётко разделим зоны ответственности. CHIRP уверенно работает с аналоговой частью канала:

CHIRP это умеетЧто именно
Частоты RX/TXПриём, передача, сдвиг (offset) и направление сдвига репитера
СубтоныCTCSS (аналоговый тон) и DCS (цифровой код) на приём и передачу
Имена каналовБуквенно-цифровые подписи в памяти
Мощность и ширинаHigh/Low, узкая/широкая полоса (NFM/FM)
Шаг сетки, скан-листыStep, пропуск каналов при сканировании, базовые настройки

А вот что CHIRP в большинстве случаев не делает для DMR-раций — это вся цифровая часть:

На части DMR-моделей CHIRP вообще не открывает цифровые каналы либо умеет лишь сгенерировать CSV-заготовку контактов для импорта в фирменный софт — но это далеко от полноценного кодплага. Правило простое: аналог — CHIRP, цифра DMR — родной CPS.

Не ждите от CHIRP DMR-чудесCHIRP — это в первую очередь инструмент для аналоговых FM-каналов. Для носимых DMR (TYT MD-380/UV380, Baofeng DM-1701/DM-32, AnyTone AT-D878UV, Retevis RT3S и т. п.) цифровой кодплаг собирается фирменной CPS производителя. Если вам обещают «настроить весь DMR в CHIRP» — это либо про одну экзотическую модель, либо неправда.

Как поставить CHIRP

Скачивать строго с официального сайта — chirpmyradio.com, раздел Download. Сторонние «сборники драйверов» и зеркала могут подсунуть мусор.

  1. Windows. Берите installer.exe (CHIRP-next). Запустили, прошли мастер — готово. При обновлении удалять старую версию не нужно, новая ставится поверх.
  2. macOS. Есть готовый «unified» билд-приложение для Intel и Apple Silicon. Следуйте подсказкам со страницы MacOS Tips на сайте проекта — там расписаны нюансы первого запуска (Gatekeeper) и доступа к порту.
  3. Linux. Два официальных пути: flatpak (самый простой, обновляется сам) либо установка .whl-файла (wheel) через pipx. CHIRP-next требует относительно свежий дистрибутив (примерно Ubuntu 22.04 и новее) — нужен Python 3.10+.
# Linux: установка CHIRP-next из официального .whl через pipx
# сначала системные зависимости (Ubuntu/Debian):
sudo apt install pipx python3-wxgtk4.0 python3-serial python3-requests
# затем сам CHIRP — флаг --system-site-packages обязателен,
# чтобы pipx видел системный wxPython:
pipx install --system-site-packages ./chirp-*.whl
pipx ensurepath              # добавить ~/.local/bin в PATH
chirp                        # запуск

Кабель, драйверы и выбор COM-порта

CHIRP не общается с рацией «по воздуху» — нужен программный кабель (USB-UART переходник с разъёмом под вашу рацию). И тут CHIRP бессилен помочь: порт создаёт драйвер чипа кабеля, а не сама программа. Поэтому порядок такой:

  1. Поставьте драйвер кабеля до того, как воткнёте его. Чип внутри — обычно CH340, CP2102, FTDI или (увы) поддельный Prolific PL2303. От него зависит, какой драйвер нужен и не выскочит ли «Код 10».
  2. Найдите номер COM-порта. В Windows откройте «Диспетчер устройств» → «Порты (COM и LPT)» и запомните номер (например, COM5). В Linux это /dev/ttyUSB0.
  3. Укажите порт в CHIRP. При чтении рации программа спросит порт — выберите тот самый. Если выпадающий список портов пуст — драйвер не встал.
Всё про кабели — отдельноЧипы, драйверы, «ПК не видит порт», поддельный Prolific и ошибка «Код 10», а также Linux/ttyUSB подробно разобраны в статье про кабели и драйверы программирования. Если CHIRP «не видит рацию» — почти всегда дело именно там.

Чтение и запись: рабочий цикл

Логика во всех версиях одинакова и строится по принципу «считал → правил → записал». Никогда не пишите в рацию, не считав её сначала.

  1. Считать рацию. Меню Radio → Download From Radio. CHIRP спросит порт, производителя и модель — выберите свои. Пойдёт полоса прогресса, в конце откроется таблица каналов.
  2. Сразу сохранить бэкап. File → Save As в файл .img. Это ваша точка отката, если что-то пойдёт не так.
  3. Править каналы. Добавляйте частоты, имена, субтоны прямо в таблице. Можно импортировать CSV или скопировать каналы из другого открытого файла CHIRP.
  4. Записать в рацию. Меню Radio → Upload To Radio. Дождитесь сообщения об успехе.
Не выдёргивайте кабель во время записиПока идёт Upload To Radio, не отключайте кабель, не вынимайте аккумулятор и не выключайте рацию. Прерванная запись оставляет память в полупустом состоянии — рация может перестать включаться и потребует аварийного восстановления. Шейте от сети, а не «на последних процентах» батареи ноутбука.
Что в каналы пишете — за то и отвечаетеСама запись кодплага законна, но частоты и мощность в каналах — ваша ответственность. Передача (TX) разрешена только в выделенных вам диапазонах и в рамках разрешённой мощности. Не вбивайте в CHIRP чужие/служебные частоты «на всякий случай» — выход в эфир вне разрешённого диапазона незаконен. Подробно — в статье про частоты и закон.

CHIRP или родной CPS: что чем программировать

Короткая шпаргалка, чтобы не метаться:

ЗадачаЧем делать
Аналоговые FM-каналы, репитеры, субтоны на любой поддерживаемой рацииCHIRP — быстро и бесплатно
Перенос «сетки» каналов между разными рациямиCHIRP (с поправкой на возможности модели)
Цифровые DMR-контакты, talkgroup, зоны, RX-группы, DMR ID, Color Code, тайм-слотРодной CPS производителя (TYT, AnyTone, Baofeng, Retevis…)
Прошивка самой рации (firmware), а не каналовФирменный апдейтер или альтпрошивки (OpenGD77, MD380tools)

На практике у владельца DMR-рации сценарий обычно гибридный: аналоговые каналы и «бытовые» частоты удобно гонять через CHIRP, а весь цифровой кодплаг под DMRhub — контакты, talkgroup, зоны — собирать фирменным CPS. Готовые контакт-листы и codeplug под популярные модели у нас уже есть — не нужно вбивать сотни talkgroup руками.

Альтпрошивки — это другоеНе путайте CHIRP с OpenGD77 и MD380tools. CHIRP пишет каналы в штатную прошивку. OpenGD77/MD380tools — это замена самой прошивки рации, со своим редактором кодплага и своими DMR-возможностями. Это разные инструменты под разные задачи.

Каналы записаны — выходи в эфир

Аналог собрали в CHIRP, цифру — в родном CPS. Теперь регистрируйтесь в DMRhub: приватные вызовы по DMR ID, SMS и группы уже работают. Возьмите наш готовый codeplug и контакт-лист под вашу модель, а захотите своё покрытие — соберите хотспот.

Источники

  1. CHIRP — официальный сайт проекта (Home, поддерживаемые модели) — chirpmyradio.com
  2. CHIRP Download — официальная страница загрузки (Windows installer, macOS .app, Linux .whl/flatpak через pipx) — chirpmyradio.com/Download
  3. What Is CHIRP? — обзор возможностей и границ (аналог vs DMR/CPS) — radioranked.com
  4. Radio Programming with CHIRP (RMHAM University, K0SWE) — рабочий цикл Download/Upload, выбор порта — rmham.org (PDF)
  5. ChirpOnLinux — официальная инструкция (pipx + --system-site-packages, .whl, требования к дистрибутиву) — chirpmyradio.com/ChirpOnLinux