Напевно, вже немає любителя, який не спробував «на зуб» SDR -пріёмнік на RTL2832. А самі допитливі навіть спробували впровадити цю саморобку в маленькі домашні роутери, але ... майже у всіх нічого не вийшло: майже всім роутера не вистачає продуктивності, хіба-що Raspberry останніх моделей показує якісь результати 🙁 Родзинка криється в тому, що стандартний вихідний код бібліотек rtlsdr з osmocom.org. м'яко кажучи, написаний «лівою ногою» і тому більшу частину часу займається дурницями, замість того, щоб обраховувати дані, що приходять з SDR.
Але це можна виправити, і нижче буде розказано, як зробити приймач з звуковим виходом (!) На RTL2832 з практично будь-якого домашнього WiFi роутера, причому для прикладу було взято найменший і найдешевший TL-WR703N 🙂
Ідея приймача проста, як Яйце Колумба: для того, щоб зловити ефірний сигнал, до роутера треба підключити rtl-девайс ( «свисток»); процесор роутера обробить прийнятий сигнал, а для того, щоб почути результат роботи, до роутера треба приєднати звукову карту, що працює по USB. Все просто. 🙂
Оскільки в роутері TL-WR703N всього один USB-порт, була взята звукова карта з вбудованим USB-хабом: в один з її портів включений «свисток», а інший - вільний. Якщо виводити звуковий сигнал не планується, то «свисток» можна вставити прямо в гніздо роутера. У багатьох домашніх роутерах встановлено 2 гнізда USB: в одне гніздо вставляємо «свисток», в інше - звукову карту, тобто в цьому випадку хаб не потрібен. До речі, в цій поделке чудово працює найдешевша звукова карта 3D SOUND (чіп CM108).
Ось і все, всю електричну частину зробили - з точки зору «проводів», приймач готовий. Тепер треба відкомпілювати прошивку і залити її в роутер.
У викачаному білдруте все налаштовано для компіляції образа під роутер TL-WR703N і встановлені 2 призначених для користувача пакету: rtlsdr і спрощена версія dump1090 (для візуалізації польоту літачків). Якщо захотілося щось поміняти (модель роутера, пакети програм, додати IPv6 і т.п.) - заходимо в конфігуратор командою make menuconfig і міняємо 🙂 Збірку проекту виробляємо командою make. У будь-якому випадку, збірка проекту вимагає наявності деяких спеціальних знань, які користувач САМОСТІЙНО витягує з просторів Інтернету, а не тупотить ногами, волаючи кг / ам 🙂
зміна налаштувань
У роутере встановлені 2 пакети програм: rtl (rtl_fm, rtl_tcp, rtl_adsb) і dump1090. Якщо використовується dump1090. то слід дезактивувати rtl. і навпаки, щоб непотрібний софт не займав RTL2832.
Активація програми проводиться зміною налаштувань у файлі / etc / config / dump1090. За активацію відповідає рядок «option disabled» (для дезактивації слід встановити в 1). Вкрай бажано встановити коефіцієнт корекції кварцового генератора «option ppm«, інші налаштування можна не зраджувати.
Для роботи з софтом з пакета rtl слід дезактивувати автозапуск dump1090 в файлі / etc / config / dump1090 і зупинити dump1090 командою /etc/init.d/dump1090 stop. Тепер, коли інтерфейс RTL2832 вільний, можна викликати будь-яку програму з пакету rtl. rtl_fm. rtl_tcp. rtl-adsb.
Припустимо, нам захотілося подивитися, які ADS-B пакети від літаків є в ефірі. Набираємо в терміналі команду rtl_adsb -V і дивимося, що твориться в ефірі.
Для використання RTL2832 як SDR -пріёмніка, до якого можна підключатися по мережі за допомогою програм SdrSharp або sdr-console. слід набрати команду rtl_tcp.
Роутер прекрасно працює на максимальній частоті семплювання, що видно по скриншоту. Особливо зручно підключатися до такого «свистком» по WiFi. Як це працює і навіщо це треба?
Все дуже просто. Включаємо «свисток» в роутер і виносимо конструкцію на дах: цього пристрою треба тільки подати харчування і дистанційний приймач готовий 🙂 Сидячи вдома, підключаємося до SDR по WiFi, крутимо частоту настройки і слухаємо ефір, хоча до приймача не йде ніяких проводів 🙂 Вобщем, це зручно, дешево і круто 🙂
Якщо є бажання зробити з роутера автономний приймач, то до роутера крім «свистка» необхідно підключити звукову USB-карту. Для того, щоб прийняти трансляцію FM станцію на частоті 91.2МГц, слід набрати команду
Почути викличної канал діапазону 2m можна по команді
Якщо до Рутер замість терміналу під'єднати Arduino з кольоровим тач-дисплеєм і керуючої програмою, то отримаємо гарний і дешевий широкосмуговий приймач з кольоровим сенсорним екранчіком.