![](https://habrastorage.org/getpro/habr/upload_files/788/258/8fe/7882588fec908fff6d27fd8fc9e19c94.jpg)
Пейджеры были очень популярны в 90-е годы. В то время я был студентом, и пейджер для меня был чем-то вроде коммуникатора из Star Trek, частью передовых технологий. Забавно вспоминать об этом, потому что теперь я знаю, что технологически протокол пейджинга очень прост. С точки зрения кодирования, пейджер не так уж отличается от беспроводных дверных звонков, которые сейчас продаются за 5 долларов на Aliexpress.
Несмотря на то, что повсеместно пейджеры уже не используются, они всё ещё есть в доме у некоторых людей. Можно ли протестировать пейджер сейчас? Безусловно, и я покажу вам, как это сделать. Давайте начнём.
POCSAG — протокол обмена сообщениями
Допустим, мы хотим отправить сообщение “TEST” на номер “1234”. В двоичной форме оно будет выглядеть примерно так:
1010101010101010101010101010101010 — Преамбула.
01111100110100100001010101011000 — Код синхронизации кадров.
0111101010100010011100000110111 — Кодовое слово простоя.
00000000000100110101111000111111 — Адрес + Функциональные биты + CRC.
10010101101000111001001111111100 — T E S (7 бит/символ).
11001010100000000000001111100011 — T . .
0111101010100010011100000110010111 — Кодовое слово простоя.
А вот как сообщение выглядит в радиоспектре:
![](https://habrastorage.org/getpro/habr/upload_files/6cb/351/4db/6cb3514db1168bf575ac7afeba2202d0.png)
Биты кодируются с помощью модуляции с частотной манипуляцией (FSK), с использованием полосы пропускания 9 кГц и скорости 1200 бит в секунду, все это сообщение передается примерно за 0,5 с.
Выглядит просто, и это действительно так. Я пропущу подробности; те, кому интересно, могут прочитать спецификацию протокола. Все эти биты можно легко написать даже на бумаге — в прошлом эти протоколы были простыми, чего не скажешь о современных GSM или Wi-Fi.
В сообщениях POCSAG нет ни аутентификации, ни ключей безопасности — все сообщения для всех клиентов пейджинговой компании доступны в эфире «как есть» и, кстати, могут быть легко декодированы с помощью программного обеспечения для ПК, такого как PDW.
Как клиенты получают свои сообщения? Каждый пейджер имеет уникальный идентификатор, который называется CAP — протокол доступа к каналу, или RIC — код идентификации приёмника. Все пейджеры от пейджинг-провайдера слушают одну и ту же частоту, скажем, 164 МГц. Если код в сообщении равен коду пейджера, пейджер сохраняет сообщение и издаёт громкий звуковой сигнал. Вот и всё. Связь односторонняя, нет обратной отправки подтверждения, у пейджера есть только приёмник, а передатчика нет вообще. Логика и аппаратное обеспечение предельно просты, благодаря чему пейджер может работать более месяца от одной батарейки AAA. Интересно, что пейджеры всё ещё используются в некоторых странах даже сейчас — в больницах или службах неотложной помощи, где важно иметь портативное и лёгкое устройство с длительным временем автономной работы.
Покупка пейджера
Во многих странах по-прежнему доступны пейджинг-провайдеры, с которыми можно подписать контракт и получить новое устройство, но, скажем так, это не слишком увлекательный способ. Я говорю с точки зрения человека, который хочет протестировать пейджер из-за образовательного или ностальгического желания или, может быть, даже имеет дома старый пейджер, сделанный в 1990-х годах. У меня есть хорошая новость — с большой вероятностью он может быть протестирован ещё раз и действительно будет работать. Конечно, не в масштабах всего города, но можно запустить собственную маломощную пейджинговую сеть, по крайней мере в вашей квартире. Сейчас можно купить новый пейджер, но он стоит недёшево. Это первая ссылка, которую я нашёл в Google:
![](https://habrastorage.org/getpro/habr/upload_files/eae/0d0/ec1/eae0d0ec1708d74244118e054ccca026.png)
Как мы видим, купить его просто для удовольствия может быть слишком дорого, и, более того, перед использованием пейджер должен быть настроен, а инструмент программирования и ПО для него также могут стоить очень дорого. Другой вариант — купить китайский пейджер, он дешевле, с кабелем для программирования общая стоимость составляет около $ 80:
![](https://habrastorage.org/getpro/habr/upload_files/42f/226/c27/42f226c2769a439a7ce4ef8588f5ea9b.png)
И, наконец, на eBay можно купить подержанный пейджер за 20–50 долларов. Он дешёвый, и это старая винтажная модель, что тоже весело. Но, прежде чем совершать покупку, следует иметь в виду две вещи, которые были описаны ранее в разделе POCSAG:
Чтобы отправить сообщение на пейджер, нужно знать его частоту. У старых пейджеров она написана на обратной стороне. Если вы не знаете частоту и не можете её узнать, пейджер бесполезен.
Чтобы отправить сообщение на пейджер, вам необходимо знать его кэп-код. Это 7-значное число, оно выглядит так: 0001234. Если вы его не знаете, вам понадобится кабель для программирования, чтобы прочитать конфигурацию пейджера.
Рассмотрим практический пример. Я видел этот пейджер Motorola Advisor Gold на eBay (имя продавца скрыто из соображений конфиденциальности):
![](https://habrastorage.org/getpro/habr/upload_files/e18/42c/898/e1842c89810095e5d84442d93a5ef85c.png)
Цена не такая большая, но стоимость доставки в ЕС составляет почти половину его цены. Ладно, давайте посмотрим на следующее фото:
![](https://habrastorage.org/getpro/habr/upload_files/9f6/f8e/91e/9f6f8e91e4e99197d043634667d83283.png)
Мы можем видеть частоту (462,875 МГц) и скорость передачи, но наклейка с кодом доступа была удалена владельцем, возможно, из соображений конфиденциальности, и это не очень хорошо для нас. Можно прочитать кэп-код, но для этого нам нужно купить или изготовить специальный кабель для программирования, а также найти подходящее ПО. Всё это нужно проверять перед покупкой, иначе у нас есть шанс получить «кирпич», который выглядит как пейджер, но не работает. И последняя, необязательная, но важная проверка — мы должны проверить, доступна ли желаемая частота в нашем регионе. Это можно сделать с помощью дешёвого приёмника RTL-SDR и программного обеспечения, такого как HDSDR. Если есть другой сигнал на той же частоте, пейджер также не будет работать. В моём районе частота 462,875 МГц, указанная на обратной стороне пейджера, уже занята, так что в моём случае лучше было найти на рынке другую модель.
![](https://habrastorage.org/getpro/habr/upload_files/48c/232/fcb/48c232fcb5997b8bce4b62cc466109d8.png)
Отправка сообщений
Чтобы отправить какие-либо данные на пейджер, мы должны передать сообщение POCSAG, используя соответствующую радиочастоту.
Перед любой передачей, пожалуйста, ознакомьтесь с местными правилами радиосвязи.
Эта статья описывает только техническую возможность, но не юридическую ее сторону, в разных странах правила могут отличаться. Например, в США в соответствии с частью 15 правил FCC, устройства с очень малой мощностью не требуют лицензирования, если излучаемая энергия не превышает 200 мкВ/м на расстоянии 3 метра. Это может обеспечить дальность действия до 30 метров, чего абсолютно достаточно для любых исследовательских или образовательных экспериментов. В других странах правила могут быть иными. Есть 3 простых способа передачи сообщений POCSAG.
Rpitx
Самый простой способ — использовать Raspberry Pi, и, что удивительно, это совершенно бесплатно: с помощью бесплатного opensource ПО rpitx сигнал может быть сгенерирован непосредственно с пина Raspberry Pi. Достаточно надеть на пин GPIO4 короткий провод:
![](https://habrastorage.org/getpro/habr/upload_files/a50/806/0c9/a508060c9e0a46c3317581faba71745e.png)
Пейджер достаточно чувствителен, чтобы получить такой сигнал на расстоянии нескольких метров. Чтобы отправить сообщение, нам нужно установить программное обеспечение rpitx и выполнить команду:
echo -e "1000001:MESSAGE TEST" | sudo ./pocsag -f "465198000" -b 0
Здесь 1000001 — это кэп-код, 465198000 — частота, а 0 — тип сообщения (сообщение может быть одного из 4 типов, например, 0 — только числовое, 3 — буквенно-цифровое). Другие параметры, такие как инверсия сигнала или скорость передачи, также могут быть изменены при необходимости. Выходная мощность однозначно невысокая, но её достаточно для проверки пейджера в квартире. Приложение rpitx работает на удивление хорошо для своей (нулевой) цены, но, конечно, Raspberry Pi в целом не является точным радиочастотным генератором. Частота может быть не на 100 % правильной, и может потребоваться небольшая корректировка значения в диапазоне нескольких килогерц (также хорошо иметь RTL-SDR в качестве контрольного приёмника).
Плата MMDVM
Следующий способ — купить специальную плату MMDVM (Multi-Mode Digital Voice Modem), которую можно прикрепить к Raspberry Pi:
![](https://habrastorage.org/getpro/habr/upload_files/9b6/591/91e/9b659191eac6c96e90650a782be01fb9.png)
Эта плата содержит передатчик ADF7021 с возможным диапазоном частот 80–940 МГц и небольшую антенну. Несмотря на название, плата MMDVM может передавать не только голос, но и сообщения POCSAG. Чтобы использовать плату, нам необходимо установить приложение MMDVMHost и настроить файл MMDVM.ini (установить желаемую частоту и включить модули «POCSAG» и «Remote Control»). После этого мы можем запустить приложение MMDVMHost (его можно разместить в /etc/rc.local для автозапуска или запустить как службу при необходимости). В другом окне терминала мы можем использовать эту команду для отправки сообщения:
./RemoteCommand 7642 page 1000001 "MESSAGE TEST"
Здесь 7642 — это порт дистанционного управления, 1000001 — код доступа. Использование MMDVMHost немного сложнее и требует некоторых знаний Linux, но выходной сигнал лучше по сравнению с использованием пина Raspberry Pi в качестве вывода.
GNU Radio
Людям, у которых нет Raspberry Pi, но есть LimeSDR, HackRF, USRP или любой другой приёмопередатчик SDR, можно отправлять сообщения POCSAG с помощью GNU Radio.
![](https://habrastorage.org/getpro/habr/upload_files/a59/316/132/a593161325f1e04a351fe1db1aded342.png)
Существует несколько кодировщиков POCSAG, я нашёл модуль gr-pocsag от ON1ARF самым простым в использовании: он даже не требует установки и может работать из любой папки.
![](https://habrastorage.org/getpro/habr/upload_files/013/f8d/4bd/013f8d4bd0c3f7e2a1682f4977585922.png)
Описание блоков GNU Radio выходит далеко за рамки этой статьи, желающие могут самостоятельно проверить страницу gr-pocsag. Все описанные решения маломощные. Те, кто хочет большей дальности, могут использовать специальный радиопередатчик, такой как Motorola GM-350, который может обеспечить дальность действия в несколько километров, но для этого типа передачи, очевидно, потребуется действующая лицензия.
Настройка пейджера
Если вы знаете частоту пейджера и кэп-код, то можете пропустить эту часть. С другой стороны, программирование пейджера может дать вам возможность почувствовать «вкус» того времени, и в целом более гибко изменять настройки пейджера.Увы, общей нормы настройки пейджера нет. Для некоторых моделей пейджеров, таких как Oelmann , станция программирования и ПО могут стоить больше, чем сам пейджер:
![](https://habrastorage.org/getpro/habr/upload_files/1f4/98d/696/1f498d6965825b8f59c2e24c418f8be8.png)
Другие модели, такие как Alphapoc, можно настроить вручную, даже без программного обеспечения, или с помощью относительно дешевого инструмента программирования через USB. Старые, выпущенные в 1990-х годах пейджеры Motorola Advisor, имеют 3 контакта последовательного порта (можно использовать USB-Serial):
![](https://habrastorage.org/getpro/habr/upload_files/fa5/964/75f/fa596475f4c1643c0e7a3db2415cd3a6.png)
Программное обеспечение для этих пейджеров требует среды MS-DOS, но может запускаться с помощью DOSBox. У более новых (около 1997 г. выпуска) пейджеров Motorola Advisor Gold есть двухконтактный интерфейс. Я нашел эту схему подключения в Интернете, но сам не проверял:
![](https://habrastorage.org/getpro/habr/upload_files/77d/984/979/77d9849790247d5f3a1d0d31cf104cf1.png)
Пейджеры Motorola требуют старого программного обеспечения, написанного для MS-DOS, его можно найти в Интернете. Увы, многие страницы и ссылки, созданные 20 лет назад, сейчас недоступны — когда речь идёт о вещах, созданных 20 лет назад, возникает хорошо известная проблема «вымирания ссылок». Другая проблема, которая может возникнуть, — многие операторы пейджинга использовали пароль для предотвращения изменения конфигурации пейджера. Возможно, это было сделано из соображений безопасности: после изменения кэп-кода владелец пейджера может читать сообщения, предназначенные для другого клиента. Если конфигурация пейджера защищена паролем, при чтении настроек появится запрос:
![](https://habrastorage.org/getpro/habr/upload_files/caa/5bf/e9d/caa5bfe9d856a14d11f3a3d264abbd1e.png)
Этот пароль можно прочитать из EEPROM пейджера с помощью созданных энтузиастами сторонних инструментов, но для этого потребуются некоторые навыки пайки.
Заключение
Было весело протестировать пейджинг и исследовать, как он работает.
Также интересно отметить, что винтажные устройства интересно тестировать, и они на первый взгляд выглядят дешевле. Но на самом деле это не так. Для разных тестов я купил 3 пейджера по $ 20–30 каждый. Но первый пейджер имел несовместимую частоту, второй был защищён паролем, и я не могу изменить его настройки, и только третий работает. Вместо этих трех б/у пейджеров можно было купить один новый.
Также очевидно, что нет никакой гарантии, когда вы покупаете вещи 20-летней давности — даже если продавец пишет «проверено» в описании, максимум, что он сделал, — это поставил батарею и проверил логотип на экране. Я не ожидаю, что продавцы знают о частотах или кодах доступа. Но в моём случае это было сделано для развлечения и самообразования, так что проблем с этим нет, даже если что-то не работает.
Ещё одна проблема, с которой я столкнулся при тестировании пейджеров, — это «вымирание ссылок». Раньше все думали, что «Google знает всё» и «информация в Интернете бесплатна», но на самом деле это не так. Хранение файлов и размещение сайтов стоят денег, через некоторое время веб-страницы становятся недоступными. Многие старые сообщения на форуме имеют мёртвые ссылки и содержат пустые квадраты вместо изображений. При попытке найти информацию о старых вещах всё это стало очевидным. Мне удалось найти полезное программное обеспечение на некоторых старых и заброшенных веб-страницах, но нет гарантии, что эти ссылки будут живы в течение длительного времени.
Могут быть и юридические причины, например, я не уверен, что Motorola официально разрешила кому-то публиковать программное обеспечение для программирования своих пейджеров, даже если публикация сделана 25 лет назад. Но для сохранения технического наследия может быть важно сохранить такие вещи. Наконец, пейджеры можно протестировать, и это весело.
Для тех, кто хочет провести больше тестов в более крупном масштабе, также можно использовать POCSAG на любительских радиочастотах и присоединиться к сети любительского радио DAPNET (децентрализованная любительская пейджинговая сеть). Для этого потребуется лицензия любительского радио, но для тех, кто интересуется цифровой связью, она может оказаться достойной её получения. Желаю всем читателям удачи и интересных экспериментов!
Несмотря на возраст этого вида связи, пейджерам до сих пор находится применение. Но если для технологии, 20 лет — это уже солидный возраст, то для языков программирования это еще даже не юность. Например С++, созданный Бьёрном Страуструпом аж в 1983 — до сих пор в топе самых популярных языков в мире благодаря своей чистой и красивой логике и гибкости. Если вы хотите разнообразить свой набор скилов этим языком — обратите внимание на наш курс по разработке на С++, ведь этот язык для миллионов программистов был и остаётся не менее важным, чем английский.
![](https://habrastorage.org/getpro/habr/upload_files/738/a05/9b5/738a059b5779310bee5976b66a36b83c.png)
Узнайте, как прокачаться и в других специальностях или освоить их с нуля:
Другие профессии и курсы
ПРОФЕССИИ
КУРСЫ