Здарова Народ. Недавно на всеми любимом нами Habrahabr, появилась статья «Использование пейджера в XXI веке» Вроде все хорошо на первый взгляд. И протокол описан, и где пейджер взять, и чуток затронут вопрос программирования. Однако не покидает стойкое чувство того, что это какая-то переведенная статья зарубежного блогера. Не буду утверждать, что я знаток технологии POCSAG или смогу намного лучше описать всю технологию. Да и целью этой статьи ставлю разобраться как считать и запрограммировать пейджер NEC 21A при помощи Arduino.

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

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

Друзья еще пару строк ностальгии и преступим к главному. И так пейджеры по приему у нас бывают синтезаторные (то бишь можно менять частоту приема из софта) или кварцованые (частота устанавливается кварцами, ПЧ и все такое). Синтезаторных не так уж много, например NEC 26B. А вот кварцованых хоть пруд пруди. В итоге на барахолке я смог найти только кварцованые NEC 21A.

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

Ну наконец-то мы добрались до самого главного. На том же радиосканере можно найти схему универсального программатора.

На самом деле ничего сложного. Схема на MAX232. Преобразует уровни COM порта до уровня TTL. Те кто прошивал первые мобильники знакомы с такого рода схемой. Однако сейчас иной раз сложно найти железный COM порт в компьютере, да еще и сигнал инвертирован. Можно конечно взять какой-нибуть USB-TTL преобразователь, проинвертировать сигнал. Но у меня так и не получилось запустить такой вариант.

Зато у меня получилось собрать программатор на Arduino. Он  в разы проще для новичка. И не требует ничего кроме самой Arduino и пары проводов.

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

Распиновка (слева направо):

  1. GND
  2. RX (порт Arduino D5)
  3. TX (порт Arduino D6)
  4. + 3v3

3v3, похоже, не потребляет значительного тока, он просто используется пейджером для обнаружения наличия программного интерфейса. В итоге записав скетч в Arduino и соединив все провода, мы получаем готовый программатор для пейджера NEC21A.

Я использовал программное обеспечение NEC для программирования пейджера. Софт работает только из под DOS, поэтому будем использовать DosBox с прямым подключением через последовательный порт к встроенному в Arduino преобразователю CH340 или другому USB-порту. Программное обеспечение для программирования NEC 21A можно найти в Интернете. Простой поиск по «NEC671.zip» даст вам последнюю версию программного обеспечения, которое я смог найти. Или можно скачать по этой ссылке Софт для пейджера

Так теперь нам нужно. Произвести небольшие настройки. Во первых нужно пробросить COM порт Arduino на виртуальный COM порт DosBox Для этого в настройках Arduino IDE смотрим номер порта на котором висит Arduino. В моем случае это COM8.

Теперь если вы устанавливали все в стандартные папки, то переходим в каталог с установленным DOSBOX. C:\Program Files (x86)\DOSBox-0.74-3 и открываем файл конфига DOSBox 0.74-3 Options

Находим строку serial1=directserial realport:com8 и меняем на свое значение. Сохраняем изменения.

Ну что пора уже начать программирование пейджера. К этому времени уже распаковали архив с программой. Перетаскиваем файл UCPV671.exe на ярлык DosBox. Так кстати будет проще. А то придется монтировать диск и еще куча всего. В результате после запуска программа попросит вас выбрать файл прошивки ROM. Я выбрал 21A.ROM (показалось подходящим). И жмем Enter. Затем приложение попытается связаться с пейджером. 

Затем приложение попытается связаться с пейджером. Пейджер подключен к Arduino. Само же Arduino  вставлено в USB. Далее действуем по инструкции с экрана.

Вставляем батарейку в пейджер и нажимаем кнопку питания. Если прозвучит 3 коротких сигнала значит пейджер вошел в режим программирования. Если интерфейс работает, вы увидите главный экран с настройками RIC. 

Осторожно: адреса, которые вы увидите там, не соответствуют текущим настройкам! Чтобы прочитать настройки, нажмите F1 и немного подождите.

Кстати как я и предполагал, режим программирования пейджера оказался запаролен. Поиск способа сброса пароля занял несколько большее время, но все же увенчался успехом: универсальный пароль для входа в режим программирования пейджеров фирмы NEC – «repu».

После считывания нас интересует записанный RIC. Его можно изменить или оставить таким как есть. Он нам понадобиться для того чтобы отправлять сообщения на пейджер.

Доступ ко всем интересным настройкам осуществляется с помощью клавиши «F4». Там нам нужно узнать/установить Air Data Speed.

Все эти данные понадобятся немного позже. Можно немного побродить по меню. Внизу есть все подсказки. В итоге возвращаемся в основном меню. И жмем F3 чтобы записать все в пейджер.

На сегодня это все. В следующий раз попробуем отправить что-нибудь на пейджер. Друзья. Если вам понравилась эта статья, поделитесь ей в социальных сетях. Обязательно напишите комментарий если у вас возникли вопросы. Мне важно ваше мнение. У нас есть канал в Telegram — https://t.me/qsybychannel где вы можете узнать новости проекта и обсудить их в комментариях, а также чат https://t.me/qsyby, где вы можете оперативно задать вопрос или обсудить статью.  И поддержите проект монеткой.