четверг, 28 мая 2020 г.

Як сколхозити вдома Web SDR приймач.

Ця ідея давно не давала мені спокійно жити, адже сдр приймач в мене є.

На даний час в світі є декілька реалізацій прийому радіосигналів через інтернет. SDRConsole має в собі сервер, з допомогою якого люди, в яких на комп'ютері встановлена SDRConsole можуть через інтернет під'єднатися до віддаленого приймача і слухати його. Подібним шляхом пішли і автори SDRSharp.

Донедавна на моїй площадці працював приймач по цій технології на SDRSharp. Приймачем там був AirspyR2 з Spywerter. Діапазон перекриття прийому радіосигналів був безперервним від 0 до 60 МГц.

Все це добре, але є одне але. Немає кросплатформенності, На кожен комп'ютер потрібно встановлювати відповідні програми. Програми як правило написані для Windows. А що робити як під рукою лише смартфон або комп'ютер на операційній системі відмінній від Windows будь-то Linux  чи MacOsX ?

Тут потрібне універсальне рішення. Скажімо так. Приймач під'єднано до сервера, а клієнт через інтернет браузер під'єднується до сервера і приймає радіосигнал.

Одного дня на очі попався мені KiwiSDR. В той момент я зрозумів що це саме те, що потрібно. Я спробував скористатися безліччю гаджетів для перевірки роботи приймачів. Вони працювали кругом. Це було надзвичайне відчуття. Нарешті я знайшов те, як би мені хотілося реалізувати роботу віддаленого приймача.



Зрозуміло, що я почав збирати кошти на KiwiSDR, але доки назбираєш, вирішив зробити щось подібне на Airspy R2.

Полазивши по інтернету і вивчивши роботу KiwiSDR, розібрався як теоретично це зробити.

Трохи історії та теорії. Робота приймача базується на технології OpenWebRx. Вперше світ про неї почув в листопаді 2014 р. від її автора Andras Retzler, HA7ILM. Він також є засновником сайту sdr.hu.  На даний момент там знаходяться ссилки на 492 приймача. Нижче фото вигляду ссилок на приймачі, розташовані на сайті. Увага ! Щоб зайти на сайт необхідно зареєструватись. Реєстрація можлива лише для радіоаматорів.




Приймачі розташовані по всій планеті, що дає змогу послухати себе та інших на них. Проходить шість років і 29 грудня 2019 р. Andras в своєму блозі пише, що перестає розвивати проект. Але так як це проект з відкритим вихідним кодом, Jakob Ketterl DD5JFK продовжив роботу. Він переписав частину коду, що дозволило використовувати досить велику кількість sdr приймачів на даний час. RTL-SDR, SDRPlay RSP1 RSP2 RSPDuo, Airspy R2 Mini HF+ Discovery, HackRF, Lime SDR, PlutoSDR, FiFiSDR, Perseus, Red Pitaya, USRP - ось список підтримуваних приймачів.
Ця технологія дозволяє передати від приймача до інтернет браузера потік даних, які можна відтворити в ньому з допомогою HTML5. Таким чином, маючи один з вищенаведених приймачів, антену та комп'ютер, можна вдома зробити свій WebSDR OpenWebRx, до якого через інтернет можна під'єднатись з допомогою любого гаджета і через Google Chrome чи Mozilla Firefox слухати ефір.

Сайт Jakobа знаходиться за адресою openwebrx.de. Нижче я відобразив головну сторінку сайту.


На ньому можна ознайомитись з документацією по встановленню та налаштуванню програмної частини.

На даний момент програмне забезпечення працює на Linux дистрибутивах Debian 10, Ubuntu 20.04, Raspbian. Jakob  дуже допоміг всім нам, хто має RaspberryPI. Він спростив процедуру встановлення. Достатньо лише скачати образ, записати його на флешку та відповідно до моделі приймача сконфігурувати файл налаштувань.

Тепер до практики. Вже вам відомо, що в мене є Airspy R2, тому далі все про нього.

Під'єднаємо приймач та введемо команду з допомогою якої визначимо чи програмне забезпечення його побачило.

SoapySDRUtil --probe="driver=airspy"


Якщо щось подібне напише у вас, то bingo! Все чудово. Можна іти далі.

В кого RTL-SDR, Airspy HF+, Sdrplay можуть спати спокійно. Файл вже налаштовано для використання цих приймачів. Для решта моделей потрібно буде його скоригувати.

Я розповім що робив в своєму випадку. По шляху /etc/openwebrx знаходиться файл config_webrx.py  Це він і є.


В режимі адміністратора відредагуємо цей файл

sudo nano /etc/openwebrx/config_webrx.py


Відкриється файл, що уявляє собою скрипт на пітоні. Зараз я прокоментую що де змінив для того, щоб в мене запрацював мій приймач.

Почнемо з простих речей. Вкажемо максимальну кількість одночасних підключень, кличний приймача, розташування (QTH), висоту над рівнем моря, поштову скриньку адміна, географічні координати (на основі них вираховується QTH локатор).

Далі іде інформаційна частина. Вона лише відображає інформацію на сторінці. Кличний адміна, поштова скринька адміна, який використовується приймач, яка використовується антена і веб сайт аміна (при його наявності).





Далі починається веселуха. Потрібно описати для сервера який приймач буде використовуватися та всі його налаштування. Не лякайтеся, все досить просто. Лише потрібно уважно все заповнити. Я прокоментую все що змінював і що означають параметри.
 


Назва приймача, назва приймача що буде відображатися в інтерфейсі користувача, ім'я драйвера який потрібно використати для керування приймачем, корекція частоти для точного відображення частоти, діапазон що буде прийматися, назва діапазону, центральна частота діапазону, який потрібно встановити рівень підсилення приймача, семплрейт, улюблена частота з якої починаємо слухати діапазон так звана стартова частота, та стартова модуляція.

Для прикладу хтось полюбляє послухати на 40 метровому діапазоні частоту 7175 КГц. На цій частоті використовується LSB модуляція. Встановили собі ці значення і запустивши приймач одразу починаєте її слухати. 

Ліричний відступ. Більшість приймачів може приймати максимальну смугу від 2.4 Мгц до 10 Мгц,( так званий семплрейт) все залежить від моделі приймача. Ці дані вказані в технічних характеристиках. Для прикладу максимальна смуга прийому RTL-SDR складає 2.4 МГц, а його семплрейт відповідно складає 2400000, а в Airspy HF+ максимальна смуга 768 КГц, відповідно семплрейт 768000.



Ну а тепер я розповім як я в себе все налаштував.


Знову ліричний відступ. Існують приймачі, які не приймають сигнали нижче 24 МГц. Як зробити так, щоб можна було все таки слухати частоти нижче ? Для цього використовують конвертери. З допомогою них спектр переноситься  в ділянку, де приймач чудово приймає, і таким чином ми можемо слухати що робиться в ефірі на цих частотах.

Саме такий приймач в мене. Я мусив використати конвертер. Вище на малюнку я показав як це потрібно зробити. Йому потрібно подати живлення. Це робиться з допомогою параметра "bias_tee": True та вказати частоту конвертера. В моєму випадку це 120 МГц. Параметр "lfo_offset": 120000000

Мій приймач може приймати спектр шириною в 10 Мгц та 2.5 Мгц, відповідно семплрейти будуть 10000000 та 2500000. Я вибрав менший, щоб не навантажувати Малину та USB порт. Перевіряємо уважно чи все вірно написали. Зберігаємо та перевантажуємо комп'ютер.

Тепер як користуватися. Якщо ви будете його використовувати лише в своїй домашній мережі, то достатньо з іншого комп'ютера набрати його адресу в Chrome чи Firefox і вже можете слухати.

Покажу на прикладі. Припустимо, що адреса комп'ютера, де встановлено приймач з програмним забезпеченням є 192.168.1.15 Тоді в адресній строці потрібно ввести https://192.168.1.15:8073 і натиснути ввод.

З'явиться щось подібне


Це вже працюе ваш WebSDR. І знову вітаю ! Все вийшло. В правому нижньому боці знаходиться панель керування приймачем. Там можна змінити частоту, вид модуляції, гучність, параметри водоспаду, шумодав, масштаб відображення.







Вверху жовтий гачок нагадує форму фільтра. Керуючи ним, можна мандрувати частотою та змінювати ширину смуги пропускання фільтру.
Жовта вертикальна вісь покаже місцезнаходження несучої частоти.








Тепер наступне. Кількість клієнтів робіть невелику. Я зробив два. Справа в тому, що обидва з них мають рівне право керувати приймачем, але другий слухає ту частоту, яку вибрав перший і навпаки. Як на мене це недолік.

Для того, щоб приймач можна було слухати будь-де поза межами внутрішньої локальної мережі не забудьте прокинути на маршрутизаторі порт 8073, інакше через інтернет до нього неможливо буде підключитись.


73 ! de UT2YR





Комментариев нет:

Отправить комментарий