Как послать сообщение на пейджер

Обновлено: 02.07.2024

2022. Количество активных SIM-карт превзошло население планеты семь лет назад. Вовсю идёт внедрение мобильных сетей пятого поколения, невероятно быстрых и в то же время доступных на самом широком спектре устройств — от автомобилей до носков. Искать парные носки скоро можно будет через интернет, представляете?

Нет лучшего времени, чтобы купить свой первый пейджер.

Преамбула

Philips Messenger Lux — возможно, единственный пейджер с восьмистрочным дисплеем. С подсветкой! Один этот факт делает его самым люксовым пейджером, который когда-либо существовал.

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

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

В теории — всё просто. Практика, как водится, оказалась сложнее и гораздо интереснее. Чтобы воплотить задумку в жизнь — потребовалось собрать в кучу кусочки документации с нескольких старых форумов и заброшенных сайтов, собрать свой собственный программатор и провести настоящее детективное расследование.

Всю эту информацию мы можем получить, подключив пейджер к компьютеру и считав его конфигурацию. Звучит просто? Не совсем.

Производители пейджеров не хотели, чтобы любой владелец с помощью компьютера мог запросто вшить своему пейджеру произвольный номер и таким образом получать чужую переписку. Для программирования требовалось специальное ПО и, что важно — специальный кабель для подключения к специальному разъёму на устройстве. И то и другое можно было получить только напрямую от производителя и только если вы — оператор. Впрочем, ПО со временем в Интернет всё-таки утекло. Осталось только изготовить кабель.

На подавляющем большинстве пейджеров программирование осуществлялось с помощью спрятанных где-то на корпусе контактов. Например, другой популярный топовый пейджер NEC 21A Maxima скрывает разъём для программирования под резиновой заглушкой на торце.

Инженеры Philips решили не портить внешний вид своего люксового пейджера какими-то разъёмами-заглушками и реализовали процедуру программирования пейджера без проводов.

Те, кто учился в школе в начале нулевых, наверняка застали такое замечательное средство социализации, как телефон с ИК-портом. Такой телефон включал его владельца в сеть обмена картинками с приколами, мелодиями и, конечно же, Java-играми. Для этого, однако, передающий и принимающий телефон нужно было обязательно держать окошками ИК-портов друг напротив друга и ни в коем случае не двигать (желательно даже не дышать в их сторону) — передача могла прерваться по совершенно неочевидным причинам.

Полезная нагрузка

ПО для программирования пейджера гуглится, оставим этот этап на совести читателя, если он вдруг решит повторить эксперимент автора.

ПО работает на DOS. Берём копию DOS, разворачиваем её на виртуалке, запускаем PROG20 . Располагаем программатор так, чтобы инфракрасный светодиод светил в фотоприёмник пейджера, а фотоприёмник программатора закрепляем прямо над светодиодом пейджера:

Попробуем считать конфигурацию. Жмём F4 . Едва заметно начинает мерцать светодиод на программаторе (в ИК-диапазоне он светит гораздо ярче, но мы этого почти не видим), пейджер в ответ подмигивает своим красным индикатором.

Удивительно, но сработало. Мы видим совершенно не такой, как на наклейке, номер в поле Master RIC , два из четырёх Secondary RIC для получения общих новостных рассылок, локализация Russian . На второй странице указана скорость передачи данных — 512 бод. На третьей странице — несущая частота в 161.5 МГц.

Данных достаточно для пробной передачи. Ненадолго отложим пейджер и соберём передающую станцию. У нас есть SDR плата HackRF, на которую мы можем передать сформированный на компьютере сигнал. Мощность передачи небольшая, сигнал не распространится за пределы помещения и не повлияет на другие устройства, работающие на этих частотах (мы же помним про лицензию на вещание, да?).

Запускаем схему в GNURadio… И ничего не происходит. Ещё один запуск — снова произошло ничего.

Досадно. Давайте разбираться, что не так. Возьмём ещё одну SDR и послушаем, уходит ли вообще сигнал в эфир:

Определённо уходит, частота верная. Поищем возможные проблемы на стороне пейджера.

В документации PROG20 поле частоты описано следующим образом:

Receiver Frequency
Допустимые значения: 0-999.9999999Назначение параметра: Содержит конкретное значение рабочей частоты пейджера (в МГц). Это поле записывается при изготовлении пейджера и не может быть изменено с помощью программатора.

Заглянем внутрь Люкса:

Заметно, что тут поработали паяльником. Обратите внимание на контакты детали с надписью 82.500. Это — кварцевый генератор, который при подаче на него напряжения выдаёт вибрирующий с заранее известной частотой сигнал. Кварц — незаменимый компонент любого устройства, где есть необходимость в точном периодическом сигнале — от наручных часов Монтана до компьютеров всех сортов. Радиоприёмники цифровых сигналов тоже входят в этот спектр.

Очевидно, кварц на нашем экземпляре меняли. Значит, теперь его приёмник слушает другую частоту. Если обратиться к документации на микросхему приёмника — мы найдём процедуру настройки на частоту. Если кратко: с точно той же частотой колеблется контур приёмника и её можно измерить на тестовых точках (золотистые контакты в правом верхнем углу). Тут другая проблема: для измерения такой частоты нужно лабораторное оборудование. Очень дорогое лабораторное оборудование. Осциллограф с полосой пропускания до 1 ГГц стоит примерно как новый автомобиль. Более простой частотомер с подходящими характеристиками стоит на два порядка меньше, но всё ещё неоправданно дорого для единичного применения.

В руководстве упоминается полезная функция, которая выводит на экран значок с перечёркнутой антенной, если пейджер не принимает вообще никаких сигналов на своей частоте в течение 30 секунд. В годы активного функционирования сети он был бы индикатором отсутствия покрытия оператора, но сейчас должен отображаться почти постоянно. Включить её можно в том же программаторе.

Соберём пейджер обратно, снова установим его в программатор, запустим PROG20. Изменим параметр Out Of Range с Disabled на 30 seconds , запустим процедуру программирования клавишей F6 . Заморгали лампочки, побежали проценты… И тут — здравствуйте:

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

Ошибка та же. Появляется где-то на 12% записи новой программы.

Возможно, поможет сброс к заводским настройкам. Есть риск потери хитрых хаков, которые, вероятно, устанавливали в сервисе местного оператора, если таки вообще были.

Сохраним текущую конфигурацию в файл и запустим процедуру сброса. Для применения новых параметров PROG20 перезагружает пейджер в особый режим, в котором пейджер может только принимать команды от программатора и не запускает интерфейс. По идее, пейджер должен перезагрузиться в обычный режим, как только получит корректную программу.

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

Самое время остановиться и подвести невесёлый промежуточный итог:

  • Приёмник пейджера был аппаратно перенастроен на неизвестную частоту;
  • Из-за сбоя записи настроек программатор не может вывести пейджер из режима программирования;
  • Пейджер застрял в режиме программирования и не загружается в штатный режим работы, даже если вытащить из него батарейки.

Код коррекции ошибок

Собранный из двух половинок разных ноутбуков, Фрэнк был моим походным ноутбуком большую половину студенчества. С завода наивное устройство, которому после череды непростых жизненных испытаний предстояло стать Фрэнком, вышло под именем RoverBook. После трагической потери дисплея ему пожертвовал крышку ноутбук Acer с отказавшей материнской платой. Крышка оказалась немного больше и тяжелее базы, и держится в открытом виде, при помощи лески. Из-за медленно умирающего южного моста часть периферийных портов Френка перестала работать, но ясность ума и основные функции он сохранил. К тому же он имеет никогда ранее не использованный, но так нужный нам сейчас порт RS-232.

Скопируем уже настроенный DOS с программатором из виртуалки на флешку. Сделаем её загрузочной. Воткнём в один из ещё рабочих портов Фрэнка и попробуем с неё загрузиться. Работает!

Подключим программатор. К сожалению, удлиняющего кабеля под DB-9 в кладовке не нашлось (возможно он там и есть, но кто бывал в кладовке — тот знает, что лишний раз там лучше не шариться), поэтому втыкаем программатор прямо в порт.

… с этим можно работать. Поднесём зависший пейджер к светодиоду программатора, фотоприёмник программатора поднесём к красному окошку пейджера, любой свободной конечностью нажмём F4 .

Считалось, уже неплохо. Теперь скрестим пальцы на оставшихся свободными конечностях и попробуем завершить процедуру сброса.

Пейджер ожил! Пока всё работает — зашьём в него нужные нам параметры Out of Range . Заодно поменяем International Variant на ANSI на всякий случай.

Вернёмся к вопросу поиска частоты. Перебирать все частоты — не очень хорошая идея, поскольку диапазоны частот определены не стандартом POCSAG, а государственными органами радиочастотного надзора. И определены они довольно широко, а шаг между частотами явно не определён вообще. Простым перебором мы можем очень легко промахнуться мимо нужной частоты.

Попробуем пойти по-другому: поищем информацию об отечественных пейджинговых операторах и их рабочих частотах.

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

Запускаем и ждём.

Вот и наша искомая частота: 165 МГц ровно. Ровно в два раза больше указанной на кварце частоты 82.500. Кто бы знал.

Но сначала придётся немного остановиться на том, что такое кодировки и чем они отличаются одна от другой.

Стандарт POCSAG предполагает кодирование информации по семибитной таблице. Для стандартного латинского алфавита она соответствует стандартной таблице ASCII (она же ANSI):

Этой кодировкой пользовались ещё на телетайпах в 1960-х годах. Логично было использовать её и для ЭВМ тех и последующих лет. Семь бит позволяют хранить 128 символов, чего хватает для двух регистров латиницы, основных знаков препинания и нескольких управляющих кодов (выделены цветом). Вроде хватает, но только для латиницы. Ни символов других алфавитов, ни даже букв вроде ä или ß из немецкого языка в неё уже не добавить. Поэтому универсальной эта кодировка не стала.

С кириллическими кодировками было особенно сложно. Со времён, когда в СССР ещё делали свои вычислительные машины, остались кодировки КОИ-7 и КОИ-8. У винтажных Макинтошей была своя, ни на что не похожая, кодировка. Windows использовала кодировку 1251, где кириллические символы размещались в дополнительном диапазоне следом за латинскими. Её особенность — в соседней кодировке 1250 в тех же позициях располагались символы языков западной Европы, что радовало тогдашних пользователей такими строчками:

Потому что, конечно же, операционные системы далеко не всегда правильно определяли, в какой кодировке сохранён текст.

Вернёмся к нашей задаче. POCSAG использует ту же семибитную таблицу ASCII. Тут ни убавить, ни прибавить — в таблице ровно 128 символов. Стандарт POCSAG не предлагает кириллических кодировок, поэтому у пейджеров Philips существует два варианта кодировки для русского языка — Russian-ANSI и Russian . Первый — комбинированный вариант, который содержит и латиницу, и кириллицу, но только заглавные буквы. Второй содержит и заглавные, и строчные, но только кириллицы.

Кодировка работает, русские буквы есть. Надо только составить таблицу соответствий.

Букве Ё места в таблице не нашлось.С буквой Я возникла другая проблема — Все буквы до неё занимают места от 60 до 7E в таблице ASCII, и она должна быть в таблице на месте 7F . Однако в таблице ASCII в этом месте находится спецсимвол DEL . Мы не можем ввести его с клавиатуры.

Если объединить таблицы ASCII с нашими открытиями, получим следующую таблицу для кодировки Russian-ANSI:

Отправим его на пейджер. Принято следующее:

Теперь давайте попробуем поработать с таблицей Russian . Напрашивается гипотеза: буквы там в тех же позициях, что и в Russian-ANSI . Прошьём пейджер и отправим на пейджер ту же строку. Ответ удивил:

Гипотеза проверку не выдержала, хотя некоторые буквы всё же остались на своих местах.

Составим таблицу символов для кодировки Russian тем же методом, которым мы составляли таблицу для Russian-ANSI :

Постамбула

Если опустить общий стиль повествования, постоянные обращения к читателю и множество не подкреплённых источниками заявлений, самый большой допущенный автором академический промах — в самом начале работы не была обозначена её цель. А без цели — не ясно, к какому результату мы должны были прийти.

К счастью для нас, текст не претендует на академичность, процесс был довольно увлекательным, а вынесенный опыт — ценным. Пусть даже практического применения полученный комплекс пока не нашёл.

И всё же, где лучше остановиться?

Первый в мире пейджер выпустила компания Motorola в 1956 году. Первые пейджеры взяли на вооружение сотрудники больниц и менеджеры. Затем пейджерами обзавелись все, кто хотел быть всегда доступным.

Содержание

Пейджинговая связь по сравнению с сотовой имеет ряд преимуществ:

  • дешевизна связи;
  • безопасность: отсутствие передатчика в пейджере (есть только приёмник) делает невозможным определение местонахождения устройства;
  • автономность: батарейки ААА, а реже АА, хватает примерно на месяц работы пейджера (при средней интенсивности использования);
  • экономия частотного ресурса: в транковых и сотовых сетях одна частота (с шириной канала 25 кГц) имеет ресурс для обслуживания 25-50 абонентов, в пейджинге — 10-15 тысяч абонентов (в формате POCSAG) и 40-80 тысяч (FLEX).

В 1921 году полиция Детройта впервые применила принцип оповещения по радио мобильных подразделений через диспетчера. Позднее, в 30-е годы, подобные системы достаточно широко использовались в подразделениях армии и полиции США. Однако только в 1956 году английской фирмой Multitone была разработана и установлена в одной из больниц Лондона первая в мире система персонального радиовызова (ПРВ) современного типа. В её состав входили передатчик, который передавал кодированные сигналы, и приёмные устройства, которые эти сигналы принимали. Приёмные устройства выдавались врачам и другому руководящему персоналу больницы. Если требовалось кого-либо из них срочно найти, то передатчик передавал сигнал, а абонент по индивидуальному звуковому сигналу (писку) идентифицировал его и тем или иным способом связывался с администрацией. Подобные приёмные устройства назвали биперами (от англ. beep "пикать", "пищать"). В дальнейшем эти системы связи развивались эволюционно, и только в последние годы они вступили в фазу бурного роста, чему способствовали как успехи технологии, так и потребности общества. В СССР подобная связь применялась в отдельных государственных структурах (органы государственного управления, КГБ, некоторые медицинские службы) с конца 60-х гг., однако распространение она получила только с 1979 года (в период подготовки к Олимпиаде-80).

Среди приёмных устройств первыми были тональные биперы — устройства, способные издавать только однообразные звуки, несущие закодированную информацию. Позднее, по мере развития микроэлектроники, появились цифровые аппараты, способные выводить на табло цифровой ряд — как правило, номер телефона.

Большинство пейджеров имело клипсу для открытого ношения на ремне или других деталях одежды. некоторые пейджер носили и на шее, также были чехлы с клипсами и отверстия для ремней.

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


Шаг 1 — INVITE

В качестве предпоготовки я создала класс:

c необходимыми полями, которые вначале должны быть инициализированы так, как указано в туториале:

Шаг 2 — аутентификация

Классы AccountManagerImpl и тоже неоходимый UserCredentialsImpl должны быть дописаны вами, я их писала по модели тех, что представлены здесь.

Шаг 3 — SIP INFO

Что я могу сказать? После реализации этого шага оказалось, что не все VoIP-сервера одинаково дружелюбны: некоторым достаточно было сигналов, передаваемых через SIP, а кому-то их не хватило, так как они не производят звукового сигнала и потому остаются незамеченными. Естественно, по закону подлости моей целью был сервер второго типа. Поэтому…

Шаг 4. формирование RTP-пакета

Итак, вот значимый фрагмент класса RtpPacket: его основные поля и конструктор со значениями, подходящими для передачи DTMF. Что значат все эти вещи, написано много где, поэтому повторяться не буду. Отмечу только, что значение параметра ssrc в принципе роли не играет, но у всех отправляемых в одной сессии пакетов оно должно совпадать. Номер формата полезной нагрузки у DTMF-пакетов (payload type) — 101 (его мы прописали, когда инициировали SIP-коммуникацию).

Самый важный этап создания пакета — заполнение байтового массива данных. У DTMF, естественно свой формат: первый байт — это, собственно, значение передаваемого сигнала (от 0 до 16), первая половина второго байта — различные маркеты (обычно 0), вторая половина второго байта- громкость (стандартное значение — 10), остальные два — это длительность (стандартное значение — 160).

Для каждого сигнала создается около 10 пакетов (число может варьироваться):

— первый, начальный, имеет marker = 1, остальные — 0;
— последние три — конечные, marker = 0, зато первый бит второго байта блока данных = 1. Блок данных в неконечном пакете для передачи сигнала 1 будет выглядеть так:

А в конечном вот так:

Метка времени у всех DTMF-пакетов, относящихся к одному сигналу, может оставаться одинаковой (предположим, T). Зато время следующего пакета должно быть:

Шаг 5. RTP-канал
Шаг 6. RTP-коммуникация
Заключение

В последних строках моей телеги хотелось бы подчеркнуть, что это мой первый пост на Хабре, так что не судите меня строго. Я совершенно не считаю себя гуру телематики или чего-либо ещё. Просто при написании исходного кода очень много времени ушло на поиск информации. Что-то я находила в спецификациях, которые от начала до конца в один присест осилить было сложновато, что-то было описано нормальным языком, но как-то неярко мелким шрифтом на полях, что-то я делала наугад. Так что в какой-то момент просто решила, что если у меня всё получится, я опишу все свои действия в одном месте и оставлю это индексироваться где-нибудь в интернете.

Так что очень надеюсь, что хоть кому-то моя статья пригодится или хотя бы покажется интересной.

Приколы,

Стихи

"Срочно узнай номер моего пейджера и скинь мне его на него."

Абонент:
— Архив за несколько дней прочитайте, пожалуйста.
Оператор читает:
— Рома, у меня задержка. — Рома, я еду к врачу.

— Рома, ты скоро станешь папой. — Рома, у нас будет ребенок.
Абонент неожиданно разражается хохотом:
— А мне по барабану, меня Дима зовут.

Новый русский говорит другу:
— Мой пейджер 32-04. И запомнить легко: 32 зуба и 4 пальца.

"Позвони мне на пейджер. Очень хочу услышать твой голос."

"Все ушли. Остались я и Чари. Подпись — Чари."

— Девушка! У Вас интервал есть?
— Да.
— Дайте ему через интервал.

— Миша — это подпись?
— Hет! Зовут меня так.

— Девушка, Вы пейджер?

"Ты где? Я тебя заждался. Когда подойдешь, ударь по моей машине, я тебя услышу."

— Поставьте, пожалуйста, 3 восклицательных знака вопроса.

"Мы больше не будем прелюбодействовать тебе на нервы."

— Девушка, прочитайте ему, пожалуйста, с выражением эту информацию.

— Hазовите, пожалуйста, номер абонента.
— Вы мне эти буржуазные штучки бросьте.

"Позвони мне завтра в любое удобное для тебя время с 7 до 8 утра."

"Приезжай ко мне непосредственно в квартиру."

"Включи пейджер и перезвони мне."

"Я и баранья нога едем домой. Мама."

"Сообщи стоимость вешалки под плечики."

"Прошу обеспокоить Вячеслава Михайловича в дому."

"У меня все нормально. Меня пронесло."

"Оля, ты обещала 2 инвалидов. Жду. Папа."

— Долбаните ему пару раз, чтобы он понял.

Hетрезвый голос поздно вечером:
— Секретарша срочно вызывается в офис для выполнения своих прямых обязанностей.

"Как только проснетесь и соберетесь ехать к Шурику, срочно сейчас перезвони мне домой."

"Hе забудь в субботу привезти постирать пеленки и малыша."

Диктует:
"Света — тире — позвони. Постскриптум — Илья."

"Позвони мне в автомат."

"Дверь пришла. Жду дома. Саша."

"Милый, я вчера забыла юбку в твоей машине. Верни ее, пожалуйста."

"Если ты в пределах телефона, позвони. Мама."

— Дайте ему эту информацию 2 раза через раз.
— Извините, это как?
— Как, как! 2 раза через 2 минуты.

"Сижу на фонтане. Жду дальнейших указаний."

"Жду звонка в натуре. Меня кинули на телефон."

"Срочно вызывай сантехника. У нас нет памперсов и еды."

"Слава, тебя ждет дома Андрей и звонок из Спектрсервиса."

"Дублируйте им пару раз. Они люди с гор, читать умеют плохо."

"Девушка, передайте с акцентом, пожалуйста!"

"Вася, будешь идти мимо моей комнаты, занеси мне мои штаны и галстук."

С мучительными паузами:
— Ехай за мной как можно быстро!
— Приезжай за мной как можно быстрее?
— О! Точно!

Претензия:
— Почему у вас с 20 до 22 не работал оператор?
— Какой номер оператора?
— Откуда я знаю? Он же не работал.

"Твоя сестра разжирела как Монтсеррат Кабалье. Купи ей 2 упаковки пластыря для похудения, и пусть она его жрет пачками."

"Милый, я хочу или гамбургер, или "Сникерс", или тебя. Лена."

"Дорогая, позвони мне, пожалуйста, по поводу вечера. Хочу пригласить тебя в ресторан или в лес. Юрий."

"Даша, я думаю, что сейчас ты прыгаешь по травке и хрустишь морковкой и, очень надеюсь, что через некоторое время ты будешь ползать по асфальту и пить водку. Ваня."

"Я еду по Москве, сам не знаю куда. Когда разберусь, сообщу, как меня искать. А вообще, я здесь до вечера воскресенья. Женя."

"Алексей, будь готов с кирпичом подъехать к программисту, который покажет и объяснит программу. Руками понапрасну не размахивай. Hе дай бог выпадет. Сергей."

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


Пейджеры были очень популярны в 90-е годы. В то время я был студентом, и пейджер для меня был чем-то вроде коммуникатора из Star Trek, частью передовых технологий. Забавно вспоминать об этом, потому что теперь я знаю, что технологически протокол пейджинга очень прост. С точки зрения кодирования, пейджер не так уж отличается от беспроводных дверных звонков, которые сейчас продаются за 5 долларов на Aliexpress.

Несмотря на то, что повсеместно пейджеры уже не используются, они всё ещё есть в доме у некоторых людей. Можно ли протестировать пейджер сейчас? Безусловно, и я покажу вам, как это сделать. Давайте начнём.


Выглядит просто, и это действительно так. Я пропущу подробности; те, кому интересно, могут прочитать спецификацию протокола. Все эти биты можно легко написать даже на бумаге — в прошлом эти протоколы были простыми, чего не скажешь о современных GSM или Wi-Fi.

Покупка пейджера

Во многих странах по-прежнему доступны пейджинг-провайдеры, с которыми можно подписать контракт и получить новое устройство, но, скажем так, это не слишком увлекательный способ. Я говорю с точки зрения человека, который хочет протестировать пейджер из-за образовательного или ностальгического желания или, может быть, даже имеет дома старый пейджер, сделанный в 1990-х годах. У меня есть хорошая новость — с большой вероятностью он может быть протестирован ещё раз и действительно будет работать. Конечно, не в масштабах всего города, но можно запустить собственную маломощную пейджинговую сеть, по крайней мере в вашей квартире. Сейчас можно купить новый пейджер, но он стоит недёшево. Это первая ссылка, которую я нашёл в Google:


Как мы видим, купить его просто для удовольствия может быть слишком дорого, и, более того, перед использованием пейджер должен быть настроен, а инструмент программирования и ПО для него также могут стоить очень дорого. Другой вариант — купить китайский пейджер, он дешевле, с кабелем для программирования общая стоимость составляет около $ 80:


И, наконец, на eBay можно купить подержанный пейджер за 20–50 долларов. Он дешёвый, и это старая винтажная модель, что тоже весело. Но, прежде чем совершать покупку, следует иметь в виду две вещи, которые были описаны ранее в разделе POCSAG:

Рассмотрим практический пример. Я видел этот пейджер Motorola Advisor Gold на eBay (имя продавца скрыто из соображений конфиденциальности):


Цена не такая большая, но стоимость доставки в ЕС составляет почти половину его цены. Ладно, давайте посмотрим на следующее фото:



Перед любой передачей, пожалуйста, ознакомьтесь с местными правилами радиосвязи.

Rpitx

Самый простой способ — использовать Raspberry Pi, и, что удивительно, это совершенно бесплатно: с помощью бесплатного opensource ПО rpitx сигнал может быть сгенерирован непосредственно с пина Raspberry Pi. Достаточно надеть на пин GPIO4 короткий провод:


Плата MMDVM

Следующий способ — купить специальную плату MMDVM (Multi-Mode Digital Voice Modem), которую можно прикрепить к Raspberry Pi:


Здесь 7642 — это порт дистанционного управления, 1000001 — код доступа. Использование MMDVMHost немного сложнее и требует некоторых знаний Linux, но выходной сигнал лучше по сравнению с использованием пина Raspberry Pi в качестве вывода.

GNU Radio


Существует несколько кодировщиков POCSAG, я нашёл модуль gr-pocsag от ON1ARF самым простым в использовании: он даже не требует установки и может работать из любой папки.


Описание блоков GNU Radio выходит далеко за рамки этой статьи, желающие могут самостоятельно проверить страницу gr-pocsag. Все описанные решения маломощные. Те, кто хочет большей дальности, могут использовать специальный радиопередатчик, такой как Motorola GM-350, который может обеспечить дальность действия в несколько километров, но для этого типа передачи, очевидно, потребуется действующая лицензия.

Настройка пейджера


Другие модели, такие как Alphapoc, можно настроить вручную, даже без программного обеспечения, или с помощью относительно дешевого инструмента программирования через USB. Старые, выпущенные в 1990-х годах пейджеры Motorola Advisor, имеют 3 контакта последовательного порта (можно использовать USB-Serial):


Программное обеспечение для этих пейджеров требует среды MS-DOS, но может запускаться с помощью DOSBox. У более новых (около 1997 г. выпуска) пейджеров Motorola Advisor Gold есть двухконтактный интерфейс. Я нашел эту схему подключения в Интернете, но сам не проверял:



Этот пароль можно прочитать из EEPROM пейджера с помощью созданных энтузиастами сторонних инструментов, но для этого потребуются некоторые навыки пайки.

Заключение

Было весело протестировать пейджинг и исследовать, как он работает.

Также интересно отметить, что винтажные устройства интересно тестировать, и они на первый взгляд выглядят дешевле. Но на самом деле это не так. Для разных тестов я купил 3 пейджера по $ 20–30 каждый. Но первый пейджер имел несовместимую частоту, второй был защищён паролем, и я не могу изменить его настройки, и только третий работает. Вместо этих трех б/у пейджеров можно было купить один новый.

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

Для тех, кто хочет провести больше тестов в более крупном масштабе, также можно использовать POCSAG на любительских радиочастотах и присоединиться к сети любительского радио DAPNET (децентрализованная любительская пейджинговая сеть). Для этого потребуется лицензия любительского радио, но для тех, кто интересуется цифровой связью, она может оказаться достойной её получения. Желаю всем читателям удачи и интересных экспериментов!

Несмотря на возраст этого вида связи, пейджерам до сих пор находится применение. Но если для технологии, 20 лет — это уже солидный возраст, то для языков программирования это еще даже не юность. Например С++, созданный Бьёрном Страуструпом аж в 1983 — до сих пор в топе самых популярных языков в мире благодаря своей чистой и красивой логике и гибкости. Если вы хотите разнообразить свой набор скилов этим языком — обратите внимание на наш курс по разработке на С++, ведь этот язык для миллионов программистов был и остаётся не менее важным, чем английский.


Узнайте, как прокачаться и в других специальностях или освоить их с нуля:

Читайте также: