Всем привет! Я it-шник, и иногда мне бывает скучно, как раз в такие моменты в моей голове рождаются странные pet-проекты.
Intro
Я планирую написать несколько статей, в результате которых мы дома создадим аналог пейджинговой сети, отправим сообщение на свой пейджер и услышим тот самый полифонический сигнал!
Надеюсь, цикл статей отправит вас в те времена, когда единственным мессенджером был домашний проводной телефон и договориться о встрече можно, только если ты дозвонился и застал абонента дома, и не было таких понятий как сотовая связь, онлайн, sms.
![Если вы сможете назвать имена всех устройств на фотографии, скорее всего вам больше тридцати лет. Конечно, определить ноутбук, часы и даже тамагочи не составит труда, но что за черный коробок с дисплеем в центре? Если вы сможете назвать имена всех устройств на фотографии, скорее всего вам больше тридцати лет. Конечно, определить ноутбук, часы и даже тамагочи не составит труда, но что за черный коробок с дисплеем в центре?](https://habrastorage.org/getpro/habr/upload_files/5b9/1c0/dc0/5b91c0dc08e635a10ed9b58f3123430a.jpeg)
Пейджинговые сети в России
Первые носимые устройства, позволяющие получать информацию от других пользователей — пейджеры. Это гаджет эпохи, пик их популярности был недолог. В то время, когда мобильные телефоны были дорогими и не очень распространенными, пейджеры были более доступными и позволяли быстро и надежно связаться с нужным человеком.
Первые пейджеры появились на территории СССР в конце 80-х годов. Они были достаточно дорогими, и их использовали в основном высокопоставленные чиновники и бизнесмены. Однако с развитием технологий и уменьшением стоимости устройств пейджеры стали доступными для более широкой аудитории.
Пейджинговые сети были созданы на базе технологий, разработанных в США и Европе, и использовались для передачи коротких текстовых сообщений. Пейджеры стали незаменимым средством связи для многих сфер деятельности, включая врачей, пожарных, полицейских и других экстренных служб.
В 2000-х годах пейджеры начали уступать место мобильным телефонам, которые стали более доступными и функциональными. В целом, пейджинговая сеть в России была важным этапом в истории связи и коммуникаций.
Покупаем гаджет из прошлого
Сейчас пейджинговая связь не используется и неактуальна для массового потребителя, соответственно, вы не найдете пейджингового оператора и тем более не купите себе новое устройство. К счастью, шанс ещё есть, и не стоит расстраиваться! Нас с вами спасут барахолки и доски объявлений, найти здесь пейджер не составит труда. Цены совершенно разные: кто‑то продает, лишь бы избавиться, как они считают, «от хлама», кто‑то ставит высокую цену и продает как раритет.
![Скрин доски объявлений. Цены вполне адекватны Скрин доски объявлений. Цены вполне адекватны](https://habrastorage.org/getpro/habr/upload_files/6f0/f4b/cc3/6f0f4bcc3e19782e4edd986f79243e71.png)
Конечно, если делать по уму, то сначала нужно изучить все предложения о продаже, понять, какая модель проще программируется, и на какой пейджер в целом есть больше информации в интернете и на профильных ресурсах. В этот раз я избрал другой путь. Исходя из моего опыта, стоит находить баланс между бесконечным этапом подготовки и изучения теории и реальными действиями. Немного пообщавшись с продавцами, выбрал для себя самый близкий по месту продажи и адекватный по цене вариант.
Встречайте! Cruiser-4!
Четырехстрочный дисплей
2 будильника
Возможность установки пароля на чтение сообщений
Записная книжка
Сохранение данных при смене батарейки
Для пейджера это достаточно крутой функционал. Купил я его за 400 рублей в отличном состоянии и комплектации. Пейджер мне отдали в фирменной коробке, с инструкцией, клипсой и цепочкой! На лицевую часть была наклеена заводская пленка.
Диагностика. Подготовка
Начав подробнее изучать только что купленное устройство, я нашел ряд недостатков:
Прижимная часть на клипсе неисправна, сломан пластик, удерживающий пружину
Не работает вибрация
Задачу с ремонтом клипсы я отложил, решил в первую очередь заняться вопросом отсутствующей вибрации. При переходе в режим тестирования (об этом позже) и выборе теста вибро ничего не происходило.
Пришлось разбирать пейджер и с умным видом смотреть на его внутренности. Какое же удовольствие разбирать старые устройства: все интуитивно понятно, на болтах. Никакого клея. Имея руки из плеч (необязательно прямые), и отвертку с набором маленьких бит, я не оставил пейджеру шансов :) После снятия крышки я обнаружил небольшой вибромотор и два контакта, при помощи которых он должен просыпаться и выполнять свою единственную функцию.
Контакт вибромотора с платой выполнен достаточно интересно — на пружинах. В чем смысл такого конструкторского решения, я не знаю, единственное, что пришло на ум — при разборке и разделении двух частей корпуса вы не сможете порвать провода в случае, если бы использовалась пайка. Вооружившись мультиметром, я снова включил на пейджере режим тестирования вибро и проверил, подается ли напряжение на питающие контакты мотора — все хорошо, напряжение есть.
Далее я достал вибромотор из его кроватки и попробовал самостоятельно запустить — попытка была неудачной. После такой простой диагностики решил купить вибромотор и проверить. В ближайшем магазине электротоваров заказал подходящий по размерам и рабочему напряжению вибромотор, установил его на положенное место в корпус и вуаля! Работает! Отлично, можно сказать, это была разминка перед действительно необходимыми работами. Идем дальше.
Для отправки сообщения на пейджер нам необходимо знать два основных параметра (на самом деле их немного больше):
Частота работы пейджера
Capcode пейджера
Частота работы пейджера
Давайте по порядку. Что за частота работы пейджера? Давным-давно, когда игрушки в киндерах еще были интересными, для покупки пейджера вам необходимо было обратиться непосредственно к пейджинговому оператору, который продавал вам заранее запрограммированный и настроенный на этого оператора пейджер. Для лучшего понимания приведу пример: представьте, что телефоны сейчас вы можете купить только у операторов связи и после покупки ваш телефон может работать только с этим оператором.
Так вот, если мы хотим создать свою мини-станцию для отправки сообщений, нам необходимо знать, на какой частоте пейджер ждет от нас сообщений. Как это сделать? Здесь все интересно, можно выделить два основных способа:
прочесть данные из пейджера
послушать, на какой частоте он фонит
Первый вариант подходит, если есть информация непосредственно о том, как прочесть данные с пейджера, как правило, это будет сопровождаться его разборкой, подключением к его микроконтроллеру, запуску специального ПО через эмулятор MS-DOS на своем ПК. Плюс такого варианта в том, что если у вас все получится, вы сможете прочесть всю конфигурацию пейдежера. Минус — реальная частота его работы может «уплыть» и отличаться от той, что указана в настройках. Это и неудивительно за практически 20 лет простоя устройства.
Я поискал информацию о прошивке моего Cruiser-4 и не смог ничего найти, если вы располагаете такими данными, буду рад, если поделитесь.
В итоге, на данном этапе я был немного расстроен, т.к если не выйдет получить рабочую частоту и capcode, придется покупать еще один пейджер.
Второй вариант на мой взгляд, является более точным, как я уже говорил, реальная частота может отличаться от записанной в настройках.
Одна из особенностей пейджера в том, что его принимающая часть немного фонит. Для определения частоты вам необходимо что-то, что позволит просканировать эфир в соответствии с рабочим диапазоном пейджера. Мне повезло, много лет назад мной был приобретен простой sdr-приемник на Али, кстати, попользоваться им мне так и не довелось.
Ну что же, настало его время.
![](https://habrastorage.org/getpro/habr/upload_files/058/a8a/285/058a8a285c7fd9d7408810d095e8eb09.jpg)
Здесь тоже оказалось не все гладко: я не смог найти антенну из комплекта. Потратил несколько дней на поиск в возможных коробках с проводами, в итоге решил заказать антенну из комплекта отдельно. Отдельно таких антенн найти не смог, решил заказать другие, подходящие по рабочему диапазону. Но снова все непросто, антенн с mxc-разъемом не то чтобы мало, их практически нет.
В мою голову на какой-то момент даже закрались мысли заказать новый комплект rtl-sdr, но ждать еще месяц мне совершенно не хотелось. После просмотра полок всех местных интернет-магазинов радиотоваров пришла идея впаять более универсальный разъем и купить подходящую антенну с уже подходящим разъемом.
Купив единственный в своем городе угловой sma‑разъем и антенну в магазине а‑ля «мир раций», я, довольный, поехал домой.
Процесс перепайки разъема достаточно простой, никаких сложноcтей не возникло. Разве что пришлось немного испортить корпус.
Запускаем наш rtl-sdr, настраиваемся на частоту, подносим пейджер вплотную к антенне иииии.... тишина. В эфире нет ничего похожего на сигнал. Проблему я решал два дня, в итоге просто методом перебора, гуляя по паспортному диапазону, я определил частоту работы пейджера. Сигнал хорошо заметен, только если вплотную поднести пейджер к антенне.
![Фон гетеордина пейджера на частоте 135.812МГЦ Фон гетеордина пейджера на частоте 135.812МГЦ](https://habrastorage.org/getpro/habr/upload_files/0e8/0c7/282/0e80c72828ce80d70b1933d7ce7d2b20.png)
Capcode пейджера
Итак, частоту мы знаем, и это половина успеха! Теперь нам необходимо знать номер пейджера, т.к. на одной частоте работают все пейджеры одного оператора, и нам необходимо точно знать номер конечного абонента. Как я писал ранее, для этого чаще всего необходимо подключать пейджер к пк и читать его настройки. Мне такой вариант не подошел, т.к я не нашел никакой информации о том, как это можно сделать.
Штудируя ссылки гугла, и, читая подряд все мануалы по всем пейджерам, я наткнулся на мануал по пейджеру этого же бренда, но другой модели. В этом мануале был указан некий режим тестирования, для входа в который нужно нажать и удерживать в момент включения пейджера две кнопки, которых не было на моей модели устройства. Значения этих кнопок я сопоставил со своей моделью и решил попробовать; каково было мое удивление, когда пейджер вместо привычного меню показал мне новую картинку! УРА! Я смог попасть в режим тестирования. Сам режим предлагает проверить основные функции пейджера: звук, вибро, контрастность дисплея, подсветку — и показывает основные настройки, среди которых несколько capcode. Почему несколько? Пейджинговые операторы еще в те временя поняли, что можно зарабатывать на подписках: погода, анекдоты, новости, курсы валют и.т.д.
Реализовывалось это следующим образом: пейджер может хранить несколько номеров. Как правило, это один уникальный и несколько шаблонных для подписок, которые были зашиты во все пейджеры оператора. Подключив, допустим, «погоду», оператор рассылал на один определенный номер сообщение о погоде, и все пейджеры его получали, т.к данный номер был в них зашит. Кстати, в то время уже появились первые «хакеры», они узнавали, какие номера использует оператор для различных подписок, самостоятельно прошивали свой пейджер, добавляя в него этот номер, и получали таким образом бесплатные подписки!
Отправка сообщения
Номер мы получили, рабочую частоту знаем. Теперь все накопленные знания необходимо воплотить в жизнь! Нам нужно собрать передатчик.
Есть несколько основных вариантов, как отправить сообщения:
HackRF One
Raspberry Pi
Arduino + модули
Первый вариант для меня не подошел, т.к HackRF — устройство достаточно дорогое и является серьезным функциональным инструментом. Было бы нерационально использовать такой девайс исключительно для отправки сообщений на пейджер.
Второй вариант я отсеял практически по тем же причинам. Покупка малинки не входила в бюджет pet-проекта, хоть и цены на них ниже, чем HackRF.
Третий вариант меня устроил больше остальных т.к в сети нашел несколько подобных проектов с использованием arduino, которых у меня завалялось много штук всяких разных. К тому же у меня был опыт работы с ними, хоть и небольшой, но какое-то время сэкономить все равно поможет.
Передающая станция на Arduino
Т.к. небольшая пыльная горка из ардуино у меня была, осталось заказать модуль. Он достаточно быстро нашелся на Али (Беспроводной модуль NewMsg RF7021SE ADF7021), стоимость на момент покупки — 1900 рублей.
Стоит понимать, что модуль не готов работать из коробки на нужных нам частотах, для этого необходимо произвести вмешательства в его плату при помощи паяльника, а именно:
Заменить кварцевый генератор на 12.288Мгц или 14.745Мгц
Рассчитать и установить подходящую для вас индуктивность.
Готовим пациента к операции
Устанавливаем плату модуля в специальный держатель. Элементы на плате имеют типоразмер 0402 и готовы сбежать со своих мест при любом неаккуратном движении, это означает, что крайне желательно, чтобы плата была зафиксирована во время пайки. Кварцевый генератор я решил выпаивать феном.
Чтобы не перегреть остальные элементы платы, защитил их фольгой в несколько слоев, оставив специальное окошко рабочей области.
Немного прогрев феном, необходимо аккуратно пинцетом снять генератор, зачистить обычным паяльником точки контакта на плате и залудить, установить новый генератор и при помощи фена припаять.
Для тех, кто не имеет большого опыта в пайке, прикладываю размер генератора, стоит учесть, что на этой «песчинке» имеется четыре контакта.
Не попала в кадр замена индуктивности. Это удалось сделать без фена, но элемент еще меньше предыдущего.
Индуктивность подбирается согласно даташиту на модуль ADF7021. Частоты на графике необходимо делить на 2. Соответственно, для моей предполагаемой частоты (135.812) необходима катушка ёмкостью ~23 нГн
![](https://habrastorage.org/getpro/habr/upload_files/8a6/d6e/2f8/8a6d6e2f8d5a635f50a074a46037c47b.png)
Сборка прототипа
Сам по себе модуль отправлять ничего не будет, данные в него необходимо передать. Еще один из важных моментов перед работой с модулем — учесть, что он работает на логике 3.3В, а логические выходы ардуино, в свою очередь, на 5В. Это приводит к риску, что мы сожжем наш долгожданный модуль. Не хотелось бы)
Решается это двумя вариантами:
Модернизация Arduino и перевод работы её логики на 3.3В
Использование конвертера логических уровней 3.3В⇔5В
Переделывать Arduino мне не хотелось, и я решил пойти по второму пути, к счастью, преобразователи уровней стоят совсем недорого и есть в магазинах моего города.
На столе Arduino, модуль-передатчик, макетная плата и провода. Это значит, мы готовы собрать паука из проводов!
![](https://habrastorage.org/getpro/habr/upload_files/b94/e18/ea9/b94e18ea9cf980d0c7c944180c93d855.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/4cb/5db/9fa/4cb5db9fa3d62621d83f89fdd44e2c72.jpg)
Конечно, не обошлось без перепутанных пинов и прочих глупых ошибок из-за невнимательности, к счастью, все компоненты остались живы.
Запускаем Arduino IDE, берем проект от SinuXVR , компилируем и отправляем на нашу Arduino.
![](https://habrastorage.org/getpro/habr/upload_files/33e/52b/2fd/33e52b2fdd60782cc55937c18913abf9.png)
Далее открываем COM-порт и вводим команду e 3 f 135812000 c 681572 r 1200 m it's alive! где:
e 3 — вариант кодирования сообщения, чтобы на пейджере отображалась не абракадабра
f 135 812 000 — частота работы пейджера
c 681 572 — адрес пейджера
r 1200 — скорость передачи данных
m it's alive! — текст сообщения.
Смотрим с глазами полными надежды на наш пейджер…ждем…еще ждем…готово!... Можно расстраиваться.
Отладка
Слишком рано сдаваться, ведь еще столько мест, где мы пока не ошиблись!
Теперь мы можем провести некоторые мероприятия для отладки, чтобы попытаться понять, почему наш пейджер молчит. В первую очередь нам необходимо понять, уходит ли наша посылка в эфир. Подключаем к ПК RTL-SDR, запускаем SDR Sharp и настраиваем на частоту нашего передатчика. Нажимаем Play и параллельно отправляем посылку через com-порт в arduino.
Сигнала нет, проверяем корректность подключения в нашем пауке из проводов. Все подключено верно. Пробуем поменять антенны местами, мало ли что… Проверяем, тишина.
Хорошо, пробуем отправить посылку на частоте «из коробки» (433МГц) для модуля RF7021SE. И что мы видим? Посылка есть!
![](https://habrastorage.org/getpro/habr/upload_files/1ce/27f/aed/1ce27faed384010afbf2a56e8e43fa12.png)
Выдвигаем предположение о том, что модернизация модуля для работы в необходимом нам диапазоне частот прошла неудачно. Идем еще раз все перечитывать и перепроверять. Потратив вечер на попытки найти причину, при этом несколько раз перепаяв индуктивность, (почему-то в качестве пайки кварцевого генератора я был уверен) причину установить я не смог.
На следующий день, вновь начав заниматься проектом и штудируя имеющуюся инфу, решил еще раз рассчитать индуктивность….Нашлась ошибка! Оказывается, перепутал величины при покупке, необходимо было покупать индуктивность в нГн, а я оформил заказ МкГн. Это означает, что моя индуктивность в одну тысячу раз меньше необходимой.
Новый онлайн-заказ, новая поездка в магазин. Перепаял индуктивность, пробую еще раз, на этот раз сразу запускаю RTL-SDR.
![](https://habrastorage.org/getpro/habr/upload_files/634/4b3/653/6344b36533b5b63e4ce04c3aacd38e8c.png)
Ура! Заработало! Смотрим на наш пейджер — тишина. Оказывается он выключен, включаем и проверяем. Тишина. Так, это уже не смешно.
Понимаем, что заданная частота немного отличается от фактической, пробуем немного поиграть частотой при передаче в надежде выйти на рабочую с учетом погрешности. Данный эксперимент не дает результатов. Еще несколько дней я потратил на раздумья, единственной мыслью был вариант, что приемник пейджера расстроен, время не щадит никого. Но, понимая, что я совсем не разбираюсь в схемотехнике, сразу отсек вариант разобрать пейджер и попробовать настроить его приемную часть, тем более не имея оборудования, кроме мультиметра.
Что мы знаем на данный момент? Мы что-то шлем в эфир на необходимой нам частоте, и пейджер молчит. Может быть, он молчит, потому что мы отправляем как-то не так? Как это проверить? В сети есть плагин к SDR Sharp по разбору Pocsag протокола. Ставим. Проверяем. Плагин совершенно никак не реагирует на наши посылки. Есть еще один вариант, специальная утилита PDW. Ставим её, настраиваем и запускаем перехват.
![](https://habrastorage.org/getpro/habr/upload_files/e54/081/2b9/e540812b96412ec6a8b3d22b1051a1e1.png)
Здорово! Мы видим адрес пейджера, битрейт и тело самого сообщения. Это означает, что наша посылка корректна и остаются вопросы к принимающей части (пейджеру). Недолго думая, я решил методом перебора попытаться подобрать частоту работы пейджера.
Это несложно, можно написать код брутфорса прямо в Arduino, но мне не хотелось ковырять уже готовый проект. Я решил отправлять команды в ардуину снаружи, то есть с ПК.
Накидал небольшой скрипт на питоне. Логика его работы проста: в цикле перебирая диапазон частот, отправляем сообщение в эфир на номер пейджера. Телом сообщения будет текущая частота.
Код:
import serial
import time
def printer(printing):
log_file = open("log.txt", "a")
log_file.write(str(printing) + '\n')
log_file.close()
return printer
with serial.Serial() as ser:
ser.baudrate = 9600
ser.port = 'COM5'
ser.open()
time.sleep(4)
for i in range(132250000, 149500000, 2500):
printer(i)
print(f'm {i}')
data = f'e 3 f {i} c 681572 r 1200 m {i}'
ser.write(bytes(data, 'UTF-8'))
time.sleep(3)
Запускаем, проверяем, что посылки сыпятся в эфир, и идем заниматься своими делами. Спустя некоторое время я слышу заветный и такой долгожданный звук из прошлого! Сообщение пришло! С улыбкой на лице я беру в руки пейджер и читаю сообщение, да-да, в 2023 читаю только что пришедшее мне на пейджер сообщение. В теле сообщения вижу частоту 132.640; странно, частота сильно отличается от предполагаемой. Ну и ладно, подумал я, какая разница. Главное, что знаю частоту. Останавливаю скрипт, вручную открываю com-порт и отправляю команду на отправку на уже известной мне частоте, иии…ничего.
Дружба с пейджером явно не заладилась, мы не можем найти общий язык. В очередной раз потратив несколько дней на раздумья, я окончательно решил, что мой пейджер сошел с ума и работает по настроению. Честно признаюсь, энтузиазм на этом этапе пропал. Хобби должно приносить удовольствие, а в этом проекте я давно его не получаю. Но оставить дело на середине я не могу, нужно либо сделать все, либо попробовать сделать все. Для небольшой передышки решил написать на несколько ресурсов о своих попытках. Рассчитывал, что отклик коммьюнити даст свежих сил продолжить проект. В целом так и произошло, я получил несколько комментариев, что задача интересная.
Второе дыхание
Сделав небольшую эмоциональную передышку, принялся вновь заниматься проектом. На одном из форумов мне предложили безвозмездно подарить завалявшийся у одного из участников пейджер. Параллельно я заказал еще один с Авито.
Добро пожаловать в семью! Сейчас у меня три устройства:
Cruiser-4
Rider
Bumerang mini
Конечно, я не готовился перед покупкой, заранее не изучал даташиты и как именно программировать данные модели)
Когда все устройства были у меня — вот самое время озадачиться уже классическими вопросами для данного проекта. А какой CapCode? А какая частота?
Узнаем CapCode
Как и предыдущий раз, мне повезло. На оба новых пейджера мне удалось найти инструкцию и мануал по входу в режим диагностики. Подробно рассказывать не буду, все просто. Нажимаем определенные кнопки в определенном порядке и попадаем в специальное меню с сервисной информацией, оттуда выписываем номера.
Определение частоты
Напомню, у нас есть три пейджера. Мы знаем их номера и по одному из них предполагаем, что знаем его частоту, но также предполагаем, что он немного не в себе.
Старый дедовский способ — пройтись по всему частотному диапазону и проверить, на какой частоте «фонит» — не помог.
Сразу переходим к плану Б — метод перебора.
Брутфорс пейджера
В целом, у нас все готово для перебора, есть собранный передатчик, даже написан небольшой скрипт и все это проверено в работе.
Но как мы с вами помним, диапазон частот нашего модуля-передатчика небольшой, это означает, что мы можем проводить эксперимент совсем непродолжительное время, после чего необходимо перепаивать индуктивность, запускать перебор и так сделать много раз.
Нам необходим передатчик с бОльшим рабочим диапазоном. Где взять? Ранее я писал, что есть несколько вариантов передать посылку в эфир, один из вариантов — одноплатный микрокомпьютер Raspberry. Для него есть готовый пакет Rpitx.
Последний раз я видел цены на Raspberry лет 8 назад, когда еще интересовался arduino и прочими одноплатными ПК. Малинка(Raspberry) тогда стоила недорого и была доступна. Идем в магазины и заказываем.
![](https://habrastorage.org/getpro/habr/upload_files/acd/4ea/bb7/acd4eabb79b906b10cc348e39342774d.png)
А нет, кажется, поспешил с покупкой, когда увидел цены. Ничего, идем на Авито и покупаем там. Оказывается в моем городе практически нет предложений, покупать БУ из соседних городов без проверки не хотелось. Связался с несколькими местными продавцами, и на следующий день Малинка была у меня, никогда с ней не сталкивался, а статьи типа «20 полезных проектов для дома на Raspberry» всегда ускоренно пролистывал.
Купив китайский блок питания, подходящий по характеристикам, подключив монитор, клавиатуру и мышь, я запустил свой новый компьютер. Грузилось все ужасно долго и работало медленно. Отмечу, что меня не напугать древним железом и прочим, но в данном случае я все-таки думал, что работать все будет быстрее.
Также заметил, что малинка ругается на блок питания. Еще при попытке подключить её к домашней сети по wifi столкнулся с проблемой инициализации Wifi-модуля, точнее, малинка говорила, что его нет. Видимо, проблема в недостатке питания, нашел, где в городе продается оригинальный блок. Стоимость, на мой взгляд, неадекватная, 1600 рублей за 5в 2.5А с microUSB!
Подключил новый БП, ошибка по питанию пропала, но Wifi так и не поднимается, что для меня было критичным замечанием. Мне очень повезло с продавцом — после созвона и объяснения ситуации договорились, что малинку я ему верну.
После возврата малинки начал смотреть остальные объявления, и меня осенило, что мне продали малинку первой версии, на ней нет wifi)) Я, в свою очередь, думал, что купил Малинку 3.
Считаю это своей ошибкой. Первому продавцу отдельное спасибо, что вошел в положение, ему я оставил положительный отзыв.
Итак, снова пополнение, встречайте, Raspberry 3 b+
Перебор частот при помощи малинки
Как говорил ранее, будем использовать проект rpitx. Ставится он достаточно просто и не требует настроек.
Буквально 5 команд, и наша Малинка готова имитировать портативную пейджинговую станцию:
sudo apt-get update
sudo apt-get install git
git clone https://github.com/F5OEO/rpitx
cd rpitx
./install.sh
Антенной в рамках прототипа выступает обычный провод, подключенный к выходу GPIO 7.
Пишем код
Для перебора я использовал небольшой скрипт на питоне, единственным отличием от предыдущей логики является то, что у нас теперь 3 пейджера, соответственно, нам необходимо для каждой частоты отправить 3 сообщения на три разных номера.
Код:
import os
import time
import array as arr
from datetime import date
numbers = ['681572','635836','2017596']
def printer(printing):
log_file = open("logtest.txt", "a")
log_file.write(time.ctime() + ':' + str(printing) + '\n')
log_file.close()
return printer
for i in range(132000000, 300000000, 2500):
for number in numbers:
command = F'echo -e "{number}:{i}" | sudo ./pocsag -f {i} -r 1200 -b3'
os.system(command)
time.sleep(2)
По предварительным расчетам на перебор всего диапазона понадобится 4.5 дня. Не проблема, отодвигаем Малинку в угол и забываем о ней на несколько дней.
Спустя примерно три дня я решил проверить с RTL‑SDR и PDW, как там дела. Посмотрел в логах малинки, на какой частоте она сейчас отправляет данные, настроил приемник и запустил PDW — данные идут, текст сообщения видно, но — как я сразу не обратил внимания — адрес везде забит нулями. То есть все эти несколько дней я отправлял данные на адрес 000 000. Какая досада!!!
Последний шанс или бросаю все это
Править скрипт и дать себе надежду еще на четыре дня я не хотел, устал от ожидания. Решил попробовать не идти в лоб, а поискать информацию в интернете.
От чего отталкиваться? Каждый пейджер при запуске показывал лого своего пейджингового оператора, ранее я уже пытался найти информацию о частотах, на которых работает тот или иной оператор, но это не увенчалось успехом. Решил попробовать еще раз, но уделить этому больше времени.
Первым был я решил поискать оператора от пейджера Rider, при включении пейджера можно увидеть следующую надпись.
Первым делом я зашел на веб-архив и нашел там снапшот сайта пейджингового провайдера Вессолинк.
Для тех, кто хочет окунуться в прошлое: Сайт
Вот так выглядел сайт в 2003 году.
![](https://habrastorage.org/getpro/habr/upload_files/369/c72/746/369c72746a84d1317204fd560a3e0795.png)
![комментарий на форуме комментарий на форуме](https://habrastorage.org/getpro/habr/upload_files/a68/b59/7da/a68b597da42666335cb9ee194bf907c3.png)
Находим пост от 2007 года, где указано что частота работы Вессолинк — 159.025. Попробовать нам ничего не стоит, в этот раз не нужно ничего перепаивать. Просто говорим малинке, на какой частоте отправить сигнал, пробуем, тишина. Идем искать дальше.
Побродив пару часов по интернету, натыкаюсь на файл с описанием пейджинговых операторов% сайт. Ищу там Вессолинк, нахожу описание частот:
![](https://habrastorage.org/getpro/habr/upload_files/1fb/6df/501/1fb6df501bbf5925600656ab894cfe07.png)
Пробую первую — тишина. Пробую вторую — пейджер начал издавать звуки!! Проверил, там письмо! Я человек опытный, у меня уже такое было, когда мой Cruiser принял шальное письмо и больше не подавал признаков жизни. Пробую еще несколько раз отправить письмо — работает! Урааа!!
Второй пошел
На самом деле после успеха с первым устройством я думал остановиться, т.к очень устал от этих длительных пыток. Одного пейджера достаточно, думал я.
Решил еще немного погуглить. Второй пейджер запускался с надписью «Континенталь». Сразу открыв вкладку с файлом, где были указаны частоты для первого пейджера, поискал информацию о провайдере «Континенталь» — тишина. Действительно слишком просто, чтобы быть правдой.
Продолжая поиски, наткнулся на комментарий:
![](https://habrastorage.org/getpro/habr/upload_files/ca6/796/c9d/ca6796c9db3870a4f840eee89a186bb3.png)
Если есть частота, значит нужно пробовать) Пробуем, и снова успех!!
Второй пейджер готов!
Третий не лишний
Раз такое везение, нужно идти покупать лотерейные билеты или еще лучше — поискать информацию о последнем своем устройстве.
Cruiser на рабочем столе показывает нам надпись EPS. Нахожу информацию, что в городе УФА зарегистрировано ООО с наименованием «ВЕССО‑ЛИНК ЕПС». Что‑то знакомое, вам не кажется?)))
Пробую использовать частоту, как у провайдера Вессо-Линк, и Вуаля! Работает. При этом напомню, на какой частоте этот пейджер первый раз принял шальное сообщение, и на какой частоте он сейчас стабильно готов принимать. 132.640 в первый раз и 157.225 сейчас, что это было такое в первый раз, я не могу объяснить.
ИТОГИ
Думаю, я успел пройти все пять этапов принятия. Тем не менее, многое еще впереди, но самая сложная для меня часть пройдена. На текущий момент все три пейджера стабильно принимают сообщения. Теперь я готов несколько модернизировать свою «пейджинговую станцию» и добавить к ней некоторую автоматизацию.