Представлен открытый проект GNU Radio World в браузере для исследования экосистемы SDR без необходимости установки ПО
Представлен открытый проект под названием GNU Radio World (проект на GitHub, сообщество GNU Radio). Решение работает в браузере как учебная среда для исследования экосистемы SDR (Software Defined Radio/Программно‑определяемая радиосистема) без необходимости установки специального ПО.Основные возможности проекта:поддержка популярных внешних модулей (OOT)множество примеров схем обработки (flowgraphs) — смотрите их на сайте gnuradioworld.com/examples; каждую схему можно запустить прямо в браузере;примеры IQ‑записей сигналов для тестирования.
Поддержка RTL‑SDR, PlutoSDR, HackRF;загрузка модулей WebAssembly и IQ‑записей по требованию для сокращения времени ожидания;использование файлов схем.grc, идентичных тем, что применяются в нативной версии;возможность делиться созданными схемами просто через URL;возможность отправки собственных примеров схем и записей;замена элементов QT GUI на веб‑интерфейс с динамическим расположением окон и использованием миниатюры в реальном времени на канвасе (live miniature in the canvas);поддержка встроенных блоков на Python с использованием Pyodide;возможность встраивания схем и графического интерфейса в другие веб‑страницы (пример PySDR).Ограничения решения:в настоящее время в браузере отсутствует среда выполнения Python; для блоков, написанных исключительно на Python, и иерархических блоков (hier blocks) требуется реализация на C++, а Pyodide используется только для встроенных блоков Python (Embedded Python Blocks), которые пока не поддерживают обработку сообщений или потоковые теги;выражения параметров поддерживают лишь подмножество языка Python (арифметические операции, списки, функции math/numpy и стандартные инструменты проектирования фильтров firdes), но не произвольный код на Python.
habr.com