Docker Build for Gnuradio com plugins externos
O Docker deve::
- Para permitir um ambiente estável para o tempo de execução de Gnuradio.
- Para permitir aos usuários uma maneira fácil de criar módulos Gnuradio OTT sem mexer com seu sistema diário.
- Para permitir que os desenvolvedores de módulos OTT seja um ambiente simples ao portar da versão anterior do Gnuradio.
Usos
- Usa o Ubuntu 24.04 como base.
- Gnuradio 3.10 (do Ubuntu Repo)
SDR testado HW
- Hackrf um.
Ainda deve funcionar para todos os drivers habilitados para osmocom no pacote Ubuntu 24.04.
Módulos Gnuradio atualmente compilados
- Gr-lora_sdr (https://github.com/tapparelj/gr-lora_sdr)
- GR-Satellites (https://github.com/daniestevez/gr-satellites)
- GR-Adapt (https://github.com/karel/gr-adapt)
- GR-Inspetor (https://github.com/radioconda/Gr-inspect)
- GR-DIFI (https://github.com/difi-consortium/gr-difi.git)
- GR-SatNogs (https://gitlab.com/libripacefoundation/satnogs/gr-satnogs/-/tree/gnuradio-3.10?ref_type=heads)
- GR-IEEE802-15-4 (https://github.com/bastibl/gr-ieee802-15-4.git)
- gr-iridium (https://github.com/muccc/gr-iridium.git)
(Sinta -se à vontade para enviar um PR para quaisquer adições)
Módulos OTT incluídos no Ubuntu Repo
- GR-Air-Modes
- GR-fósforo
- GR-FUNCUBE
- GR-GSM
- GR-HPSDR
- gr-iqbal
- Gr-Limesdr
- gr-osmosdr
- Gr-Radar
- GR-RDS
Dockerfiles
- Dockerfile-Ubuntu-Base-Base e requisitos do Ubuntu
- Dockerfile-SDR-APPS-Pacotes relacionados a SDR do Ubuntu-Repo.
- Dockerfile-Custom-Builds-Construções de código de origem dos componentes de Gnuradio.
Para construir o Docker-Image
$ ./docker_build.sh
Para executar a imagem
$ ./docker_run.sh
Definir caminho do módulo
Antes de iniciar Gnuradio-Companion, o caminho do módulo deve ser definido manualmente no momento.
$ export pythonpath =/usr/lib/python3.12/dist-packages: /usr/lib/python3.12/site-packages: $ pythonpath
Pasta compartilhada.
- Criar /Home /Gnuradio em seu host e tenha isso como armazenamento compartilhado entre contêiner e host. Permite que as configurações de Gnuradio etc sejam salvas entre construções/sessões.
- AS /Home /Gnuradio é configurado para ser compartilhado, ele facilitará a vida se você atualizar "Dockerfile-Custom-Builds" e definir o UID para o mesmo UID que o seu usuário normal.
TODO
- Ações do GitHub para criar imagens do Docker.
- Exemplos de Gnuradio
- Algum tipo de configuração para poder executar coisas acessíveis à rede, como https://github.com/gnuradio/gr-bokehgui
- Divida o que ser incluído na imagem do Docker e faça com que cada módulo de código de origem instale suas próprias dependências.