Airspy

Учебник RTL-SDR: настройка и использование SpyServer — удалённый потоковый сервер с RTL-SDR

Многие задавали вопрос, как использовать SpyServer SDR# с RTL-SDR. В этом руководстве мы покажем, как настроить SpyServer на Windows и Linux. Мы стараемся минимизировать требования к знаниям, но предполагаем, что у вас есть хороший опыт работы с компьютерами. Также для настройки на Linux/Raspberry Pi нужно предполагать, что у вас есть базовый опыт работы с Linux и настройки Raspberry Pi.

Что такое SpyServer?

SpyServer — бесплатный RTL-SDR совместимый SDR-сервер, который разработан для популярного программного обеспечения SDR#. Он на самом деле предназначен для линейки Airspy, но автор сделал его совместимым и с RTL-SDR-устройстваами. Запуск SpyServer позволяет подключаться к удалённо размещённому RTL-SDR через сетевое соединение (например, локальная сеть/WiFi или Интернет). После подключения использование донгла будет таким же, как если бы донгл был напрямую подключён к ПК пользователя.

An example SpyServer Overview
Пример обзора SpyServer (Можно использовать RTL-SDR вместо Airspy HF+)

Удалённые серверы полезны, так как можно разместить антенну в удалённом месте (например, на крыше или в «шаке») и не тянуть длинный коаксиальный кабель к ПК. Вместо этого можно проложить Ethernet-кабель или обойтись WiFi. Всё, что нужно — это питание для удалённого устройства, например Raspberry Pi 3. Может оказаться полезным, если антенна расположена у друга или на другой собственности, и вы хотите получать к ней доступ удалённо. Или же вы можете использовать радиоприёмник во время путешествий.

SpyServer аналогичен инструменту rtl_tcp, с которым вы, возможно, уже знакомы. Однако SpyServer считается более эффективным в использовании сети. Вместо отправки всех необработанных данных, как делает rtl_tcp, SpyServer отправляет только IQ-данные текущего настроенного сигнала. Данные водопада обрабатываются на сервере и отправляются в сжатом виде. Есть одно отличие: SpyServer требует чуть более мощного оборудования, например Pi 2 или Pi 3, тогда как rtl_tcp может работать на самом простом оборудовании.

Использование сети при потоковой передаче через SpyServer составит примерно 120 KB/с при прослушивании WFM и примерно 38 KB/с при прослушивании узкополосных режимов на одного подключённого клиента. Несколько клиентов могут подключаться к SpyServer и совместно использовать текущую полосу пропускания сигнала.

Сервер: настройка SpyServer на Windows

Настройка SpyServer на Windows предельно проста.

  1. Войдите на Windows‑ПК, который вы хотите сделать удалённым сервером.
     
  2. Перейдите на www.airspy.com/download и скачайте последнюю версию SDR# в виде ZIP‑файла. Распакуйте все файлы в папку на вашем ПК.
     
  3. Запустите файл install-rtlsdr.bat, чтобы загрузить драйверы RTL-SDR.
     
  4. В папке SDR# найдите файл spyserver.config. Щёлкните правой кнопкой мыши по нему и выберите ‘Open With -> Notepad’.
     
  5. Измените строку ‘device_type’, чтобы она выглядела как ‘device_type = RTL-SDR’.
     
     
  6. Сохраните и закройте текстовый файл spyserver.config.
     
  7. Дважды щёлкните по spyserver.exe, чтобы запустить сервер.
     
  8. Откройте меню Пуск и введите ‘cmd’, затем нажмите Enter, чтобы открыть командную строку.
     
  9. В новой командной строке введите ‘ipconfig’. Это покажет список сетевых адаптеров на вашем ПК с их текущими IP‑адресами. Найдите активный (скорее всего Ethernet или Wireless) и запишите IPv4‑адрес. Это будет IP‑адрес вашего серверного ПК.

Сервер: настройка SpyServer на Linux

  1. Войдите на Linux‑устройство, которое используется как сервер, и откройте терминал, если нужно.
     
  2. Сначала установите необходимые зависимости, такие как драйверы RTL-SDR и librtlsdr.
    sudo apt install rtl-sdr librtlsdr-dev
  3. Создайте новую папку для SpyServer и перейдите в неё.
    mkdir spyserver cd spyserver
  4. Скачайте последнюю версию SpyServer и распакуйте её, используя приведённые ниже команды. Примечание: необходимо скачать версию, соответствующую вашей платформе (например, 32‑битную или 64‑битную, ARM или x86). Перейдите на airspy.com/download, найдите ссылки на загрузку SpyServer, соответствующие вашей платформе. Замените нижеприведённую ссылку на неё. Ссылка, использованная в этом примере, относится к 32‑битной версии ARM, которой пользуются Raspberry Pi и большинство других одноплатных компьютеров, таких как Odroid и Orange Pi.
  5. wget -O spyserver.tgz http://airspy.com/?ddownload=4247 tar xvzf spyserver.tgz 
  6. Используйте текстовый редактор, например nano, чтобы отредактировать файл spyserver.config. Установите значение “device_type” в “device_type = RTL-SDR” (без кавычек).
     
    Если вы не знакомы с Nano, то заметите, что мышь использовать нельзя. Вам нужно использовать клавиши-стрелки для перемещения курсора. Правка выполняется клавишами backspace/del и обычной клавиатурой. Чтобы сохранить и выйти, нажмите “Ctrl + X”, а затем клавишу “y”.
    nano spyserver.config
  7. Найдите IP‑адрес вашего устройства, используя команду “ifconfig”. Обратите внимание, НЕ используйте “ipconfig” из Windows, обратите внимание на букву ‘f’. Запишите этот IP‑адрес, так как он понадобится для подключения к SpyServer.
     
  8. Теперь можно запустить SpyServer
    ./spyserver

Если вы увидите ошибку ‘./spyserver: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.21′ not found (required by ./spyserver)‘, то потребуется установка более новых версий GCC‑5 или GCC‑6.

Чтобы сделать это, выполните следующие шаги:

  • Введите ‘sudo nano /etc/apt/sources.list’ и замените слово ‘jessie’ на ‘stretch’. Сохраните и закройте файл (Ctrl+X, Y)
  • Введите ‘sudo apt-get update’
  • Введите ‘sudo apt-get install gcc-5’ или, если он не найден, ‘sudo apt-get install gcc-6’

Если после выполнения ‘sudo apt-get update’ возникнет ошибка ‘W: There is no public key available for the following key IDs:
EF0F382A1A7B6500‘ тогда сначала установите ‘debian-keyring’ и ‘debian-archive-keyring’ командой ‘sudo apt-get install debian-keyring debian-archive-keyring’

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

Совет: настройка Raspberry Pi без монитора

Если вы настраиваете Raspberry Pi как сервер, то, скорее всего, подключаться к нему вы будете без монитора. Это называется режимом безголовой конфигурации. Обычно используется WiFi. Этот совет покажет, как включить SSH и ввести параметры WiFi на Raspberry Pi без монитора, клавиатуры и мыши. Если хотите, можно, конечно, первоначально подключить монитор, клавиатуру и мышь и настроить через GUI Raspbian, или подключить сетевой кабель.

После записи образа Raspbian на SD‑карту вставьте её в ПК и откройте раздел загрузки boot в файловом проводнике.

Чтобы включить SSH, просто создайте пустой текстовый файл с именем ‘SSH’ в корне раздела.

Чтобы настроить WiFi соединение создайте текстовый файл под названием ‘wpa_supplicant.conf’ в корне раздела и заполните его следующим текстом. Примечание: убедитесь, что файл не имеет расширения .txt. Вам нужно настроить Windows так, чтобы отображалось полное расширение файла, чтобы можно было изменить его на просто wpa_supplicant.conf. Это настроит WiFi‑соединение при загрузке и автоматически подключит его. (Подходит только для систем WPA2‑защита)

network={ ssid="YOUR SSID" psk="YOUR PASSWORD" key_mgmt=WPA-PSK }

Наконец найдите IP‑адрес Raspberry Pi на странице статуса вашего маршрутизатора. Обычно страница доступа к маршрутизатору доступна по адресу http://192.168.1.1 или 192.168.1.254, но этот адрес зависит от настроек вашего маршрутизатора. Обратитесь к руководству маршрутизатора или к вашему провайдеру за этими деталями, если вы их не знаете.

Клиентский ПК: подключение к SpyServer

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

  1. Войдите на Windows‑ПК, на котором вы хотите просматривать радиоспектр (клиентский ПК). Этот ПК должен быть в той же сети, что и ваш сервер (или смотрите ниже про проброс портов для доступа через интернет).
     
  2. Скачайте и распакуйте последнюю версию SDR# на клиентском ПК.
     
  3. Откройте SDR#.
     
  4. В разделе Source выберите ‘Spy Server’.
     
  5. Введите IP‑адрес сервера в следующем формате: ‘sdr://IP_ADDR:5555’ (без кавычек).
     
     
  6. Нажмите кнопку воспроизведения.

Теперь вы должны быть подключены к удалённому SpyServer и спектр должен быть активным.

В окне Source вы увидите дополнительные параметры. Помимо стандартных настроек усиления и пропускной способности, есть выпадающее меню формата IQ и флажок ‘использовать полный IQ’.

Использовать полный IQ — это по сути переводит SpyServer обратно в rtl_tcp, отправляя все IQ‑данные по сети. Учтите, что сначала нужно нажать кнопку стоп, иначе эта опция будет недоступна.

IQ Format — включает/выключает сжатие IQ. В большинстве случаев для RTL-SDR следует использовать PCM 8bit, чтобы минимизировать сетевые данные. Если возникают проблемы, можно попробовать другие параметры.

Ограничение 8‑битного режима состоит в том, что вы можете потерять динамический диапазон, но для большинства сигналов (и у RTL-SDR, который всё равно 8‑битный) это будет нормально. SDRs более высокого класса, как HF+, могут в некоторых случаях выиграть от 16‑битных или более высоких режимов.

SpyServer Options
Опции SpyServer

Настройка SpyServer

Если у вас возникают проблемы с производительностью на медленном оборудовании или сетях, например с заиканием звука, вы можете снизить частоту кадров. Это можно сделать в текстовом файле spyserver.config, изменив переменную ‘fft_fps’. По умолчанию она равна 15; попробуйте меньшие значения для повышения производительности. Более низкая частота кадров приводит к более пикселизированному водопаду в SDR#.

Также можно поэкспериментировать с увеличением переменных ‘buffer_size_ms’ и ‘buffer_count’, если вы испытываете рывки, особенно через интернет.

После редактирования файла перезапустите сервер.

Использование SpyServer с ап-конвертером

Это просто, но вам нужно знать смещение вашего ап‑конвертера. Например, ап-конвертер ham-it-up имеет смещение 125 МГц (-125 000 000 Гц), а ап-конвертер SpyVerter имеет смещение 120 МГц (-120 000 000 Гц). Если у вас другой ап-конвертер и вы не уверены в смещении, проконсультируйтесь с производителем или в документации.

Чтобы задать смещение в SpyServer, отредактируйте файл spyserver.config текстовым редактором. Раскомментируйте переменную ‘converter_offset’, удалив символ ‘#’ рядом с ней (не удаляйте ‘#’ в двух строках выше). Затем задайте смещение, которое будет использоваться вашим ап-конвертером, после знака равенства.

Setting 'converter_offset' to -120,000,000 for a SpyVerter Upconverter.
Установка ‘converter_offset’ в -120,000,000 для ап‑конвертера SpyVerter. Убедитесь, что вы раскомментировали её, удалив ‘#’ рядом с ней.

Автоматический запуск SpyServer при загрузке (Raspberry Pi)

Вы можете захотеть настроить автоматический старт сервера при загрузке. Делается это просто с помощью crontab.

  1. Откройте crontab с помощью nano
    crontab -e 
  2. Добавьте следующую строку внизу.
    @reboot /home/pi/spyserver/spyserver /home/pi/spyserver/spyserver.config
  3. Нажмите Ctrl + X и затем ‘y’ для сохранения и выхода.
SpyServer Crontab - Start on boot
SpyServer Crontab – запуск при загрузке

Проброс портов

Если вы хотите подключаться к SpyServer через интернет, возможно, потребуется настроить проброс портов на вашем маршрутизаторе. Нужно указать маршрутизатору на какой IP‑адрес или MAC‑адрес перенаправлять данные, приходящие на порт 5555 — это порт SpyServer по умолчанию. Данные должны перенаправляться на IP‑адрес или MAC‑адрес устройства, на котором запущен SpyServer. Вероятно, вам также нужно установить статический IP для устройства с SpyServer в настройках маршрутизатора.

Проброс портов выходит за рамки данного руководства, так как процедура различна для каждого маршрутизатора. Гайды по большинству маршрутизаторов можно найти на portforward.com.

Вы можете узнать ваш публичный IP, зайдя на whatismyip.com на ПК в вашей сети, или выполнив ‘curl ifconfig.me’ в Linux‑терминале.

Публичные SpyServer‑серверы

Если вы хотите попробовать несколько общедоступных удалённых SpyServer через Интернет, перейдите на airspy.com/spy-servers. Мы заметили, что потоковая передача через интернет, даже на большие расстояния, обычно идёт гладко и без проблем.


Источник:

Подбираете SDR под задачу?

Опишите, что и где хотите принимать, — подскажем подходящие модели и где их купить.

Похожие материалы

Весь блог