
Simulateur de signaux GPS en temps réel pour bladeRF
Implémentation expérimentale très rudimentaire de gps-sdr-sim pour la génération de signaux en temps réel. Le code fonctionne avec bladeRF et a été testé sur Windows 10 et 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
Suivez les instructions sur la page wiki de Nuand et compilez la bibliothèque bladeRF à partir des sources avec Visual Studio 2013 Express pour Windows Desktop. Supposons que vous ayez déjà téléchargé les fichiers pthread et libusb et que vous ayez compilé avec succès la bibliothèque bladeRF pour votre environnement Windows.
Configuration Properties -> C/C++ -> General -> Additional Include Directories :
Configuration Properties -> Linker -> General -> Additional Library Directories :
Configuration Properties -> Linker -> Input -> Additional Dependencies :
Build -> Build SolutionAprès une compilation réussie, vous trouverez l'exécutable dans le dossier Release. Vous devez placer les copies des DLL suivantes dans le même dossier pour exécuter le code :
Récupérez les sources de bladeRF dans un répertoire adjacent au répertoire actuel
$ cd ..
$ git clone [email protected]:Nuand/bladeRF.git
Compilez la bibliothèque hôte bladeRF
$ cd bladeRF/host
$ mkdir build
$ cd build
$ cmake ..
$ make
Compilez bladeGPS
$ cd ../../../bladeGPS
$ make
Installez Xcode
Installez les outils en ligne de commande Xcode
$ xcode-select --install
Installez MacPorts
Créez un lien symbolique vers port
$ sudo ln -s /opt/local/bin/port /usr/local/bin/port
Installez bladeRF
$ sudo port install bladeRF +tecla
Installez cmake
$ sudo port install cmake
Récupérez les sources de bladeRF dans un répertoire adjacent au répertoire actuel
$ cd ..
$ git clone [email protected]:Nuand/bladeRF.git
Compilez la bibliothèque hôte bladeRF
$ cd bladeRF/host
$ mkdir build
$ cd build
$ cmake ..
$ make && sudo make install
Installez libomp et wget
$ sudo port install libomp
$ sudo port install wget
Compilez pour _MACOSX avec le chemin OpenMP et construisez bladeGPS
$ cd ../../../bladeGPS
$ make CFLAGS=”-I/opt/local/include/libomp _MACOSX”
Un Dockerfile a été créé à partir de l'image Ubuntu 20.04 qui vous permet de lancer
un conteneur docker en quelques secondes.
Construisez l'image docker
$ cd docker
$ docker build -t bladegps .
Exécutez directement la commande bladegps
$ 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"
Exécutez la commande bladegps depuis le 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 exemple de docker-compose.yml est fourni, si vous souhaitez exécuter bladegps en tant que
service, en redémarrant lorsqu'il atteint la fin de la durée. Modifiez la commande et le nom du
périphérique avant de démarrer le service avec docker-compose.
Exécutez le service docker-compose en arrière-plan
$ cd docker
$ docker-compose up -d
Vérifiez l'état du processus docker-compose
$ docker-compose ps
Connectez-vous au conteneur exécutant le service, si souhaité
$ docker-compose exec bladegps /bin/bash
Arrêtez le service une fois terminé
$ docker-compose down
Copyright © 2015-2022 Takuji Ebinuma
Distribué sous la Licence MIT.