
Simulador de sinal GPS em tempo real para bladeRF
Implementação experimental muito rudimentar do gps-sdr-sim para geração de sinais em tempo real. O código funciona com bladeRF e foi testado no Windows 10 e Ubuntu 20.04.
Usage: bladegps [options]
Options:
-e <gps_nav> RINEX navigation file for GPS ephemerides (required)
-y <yuma_alm> YUMA almanac file for GPS almanacs
-u <user_motion> User motion file (dynamic mode)
-g <nmea_gga> NMEA GGA stream (dynamic mode)
-l <location> Lat,Lon,Hgt (static mode) e.g. 35.274,137.014,100
-t <date,time> Scenario start time YYYY/MM/DD,hh:mm:ss
-T <date,time> Overwrite TOC and TOE to scenario start time
-d <duration> Duration [sec] (max: 86400)
-x <XB_number> Enable XB board, e.g. '-x 200' for XB200
-i Interactive mode: North='w', South='s', East='d', West='a'
-I Disable ionospheric delay for spacecraft scenario
-p Disable path loss and hold power level constant
Siga as instruções na página da wiki do Nuand e compile a biblioteca bladeRF a partir do código fonte com o Visual Studio 2013 Express para Windows Desktop. Suponha que você já baixou os arquivos pthread e libusb e compilou com sucesso a biblioteca bladeRF para o seu ambiente Windows.
Configuration Properties -> C/C++ -> General -> Additional Include Directories:
Configuration Properties -> Linker -> General -> Additional Library Directories:
Configuration Properties -> Linker -> Input -> Additional Dependencies:
Build -> Build SolutionApós uma compilação bem-sucedida, você pode encontrar o executável na pasta Release. Você deve colocar as cópias das seguintes DLLs na mesma pasta para executar o código:
Obtenha o código fonte do bladeRF em um diretório próximo ao diretório atual
$ cd ..
$ git clone [email protected]:Nuand/bladeRF.git
Compile a biblioteca host do bladeRF
$ cd bladeRF/host
$ mkdir build
$ cd build
$ cmake ..
$ make
Compile o bladeGPS
$ cd ../../../bladeGPS
$ make
Instale o Xcode
Instale as Ferramentas de Linha de Comando do Xcode
$ xcode-select --install
Instale o MacPorts
Crie um link simbólico para o port
$ sudo ln -s /opt/local/bin/port /usr/local/bin/port
Instale o bladeRF
$ sudo port install bladeRF +tecla
Instale o cmake
$ sudo port install cmake
Obtenha o código fonte do bladeRF em um diretório próximo ao diretório atual
$ cd ..
$ git clone [email protected]:Nuand/bladeRF.git
Compile a biblioteca host do bladeRF
$ cd bladeRF/host
$ mkdir build
$ cd build
$ cmake ..
$ make && sudo make install
Instale libomp e wget
$ sudo port install libomp
$ sudo port install wget
Compile para _MACOSX com o caminho OpenMP e construa o bladeGPS
$ cd ../../../bladeGPS
$ make CFLAGS=”-I/opt/local/include/libomp _MACOSX”
Um Dockerfile foi criado a partir da imagem Ubuntu 20.04 que permite criar
um container docker em segundos.
Construa a imagem docker
$ cd docker
$ docker build -t bladegps .
Execute o comando bladegps diretamente
$ docker run -it --rm --privileged --device /dev/ttyUSB0 bladegps \
/bin/bash -c "bladegps -e /opt/bladeGPS/brdc3300.18n -l 35.274,137.014,100 -d 86400"
Execute o comando bladegps a partir do cli docker
$ docker run -it --rm --privileged --device /dev/ttyUSB0 bladegps /bin/bash
bladegps@cb744220dea3:~$ bladegps -e /opt/bladeGPS/brdc3300.18n -l 35.274,137.014,100 -d 86400
Um exemplo de docker-compose.yml é fornecido, caso queira executar o bladegps como um
serviço, reiniciando quando atingir o fim da duração. Edite o comando e o nome do dispositivo
antes de iniciar o serviço usando docker-compose.
Execute o serviço docker-compose em segundo plano
$ cd docker
$ docker-compose up -d
Verifique o status do processo docker-compose
$ docker-compose ps
Conecte-se ao container que está executando o serviço, se desejado
$ docker-compose exec bladegps /bin/bash
Encerre o serviço quando terminar
$ docker-compose down
Copyright © 2015-2022 Takuji Ebinuma
Distribuído sob a Licença MIT.