
Simulatore di segnale GPS in tempo reale per bladeRF
Implementazione sperimentale molto grezza di gps-sdr-sim per la generazione di segnali in tempo reale. Il codice funziona con bladeRF ed è stato testato su 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
Segui le istruzioni nella pagina wiki di Nuand e costruisci la libreria bladeRF dal sorgente con Visual Studio 2013 Express per Windows Desktop. Supponiamo che tu abbia già scaricato i file pthread e libusb e che tu abbia compilato con successo la libreria bladeRF per il tuo 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 SolutionDopo una compilazione riuscita, puoi trovare l'eseguibile nella cartella Release. Devi mettere le copie delle seguenti DLL nella stessa cartella per eseguire il codice:
Recupera il sorgente di bladeRF in una directory accanto a quella corrente
$ cd ..
$ git clone [email protected]:Nuand/bladeRF.git
Compila la libreria host di bladeRF
$ cd bladeRF/host
$ mkdir build
$ cd build
$ cmake ..
$ make
Compila bladeGPS
$ cd ../../../bladeGPS
$ make
Installa Xcode
Installa Xcode Command Line Tools
$ xcode-select --install
Installa MacPorts
Crea un symlink a port
$ sudo ln -s /opt/local/bin/port /usr/local/bin/port
Installa bladeRF
$ sudo port install bladeRF +tecla
Installa cmake
$ sudo port install cmake
Recupera il sorgente di bladeRF in una directory accanto a quella corrente
$ cd ..
$ git clone [email protected]:Nuand/bladeRF.git
Compila la libreria host di bladeRF
$ cd bladeRF/host
$ mkdir build
$ cd build
$ cmake ..
$ make && sudo make install
Installa libomp e wget
$ sudo port install libomp
$ sudo port install wget
Compila per _MACOSX con il percorso OpenMP e compila bladeGPS
$ cd ../../../bladeGPS
$ make CFLAGS=”-I/opt/local/include/libomp _MACOSX”
Un Dockerfile è stato creato dall'immagine Ubuntu 20.04 che ti permette di avviare
un contenitore docker in pochi secondi.
Costruisci l'immagine docker
$ cd docker
$ docker build -t bladegps .
Esegui il comando bladegps direttamente
$ 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"
Esegui il comando bladegps dalla 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
Un esempio docker-compose.yml viene fornito, se desideri eseguire bladegps come
servizio, che si riavvia quando raggiunge la fine della durata. Modifica il comando e il
nome del dispositivo prima di avviare il servizio usando docker-compose.
Esegui il servizio docker-compose in background
$ cd docker
$ docker-compose up -d
Controlla lo stato del processo docker-compose
$ docker-compose ps
Connettiti al contenitore in esecuzione del servizio, se desiderato
$ docker-compose exec bladegps /bin/bash
Ferma il servizio quando hai finito
$ docker-compose down
Copyright © 2015-2022 Takuji Ebinuma
Distribuito sotto la Licenza MIT.