
محاكي إشارات GPS في الوقت الحقيقي لـ bladeRF
تطبيق تجريبي بدائي جدًا لـ gps-sdr-sim لتوليد الإشارات في الوقت الفعلي. يعمل الكود مع bladeRF وتم اختباره على Windows 10 و 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
اتبع التعليمات في صفحة Nuand wiki وقم ببناء مكتبة bladeRF من المصدر باستخدام Visual Studio 2013 Express for Windows Desktop. افترض أنك قمت بالفعل بتنزيل ملفات pthread و libusb وقمت ببناء مكتبة bladeRF بنجاح لبيئة Windows الخاصة بك.
Configuration Properties -> C/C++ -> General -> Additional Include Directories:
Configuration Properties -> Linker -> General -> Additional Library Directories:
Configuration Properties -> Linker -> Input -> Additional Dependencies:
Build -> Build Solutionبعد بناء ناجح، يمكنك العثور على الملف القابل للتنفيذ في مجلد Release. يجب وضع نسخ من ملفات DLL التالية في نفس المجلد لتشغيل الكود:
قم بتحميل مصدر bladeRF في مجلد بجانب المجلد الحالي
$ cd ..
$ git clone [email protected]:Nuand/bladeRF.git
قم ببناء مكتبة host الخاصة بـ bladeRF
$ cd bladeRF/host
$ mkdir build
$ cd build
$ cmake ..
$ make
قم ببناء bladeGPS
$ cd ../../../bladeGPS
$ make
قم بتثبيت Xcode
قم بتثبيت أدوات سطر الأوامر الخاصة بـ Xcode
$ xcode-select --install
قم بتثبيت MacPorts
أنشئ رابطًا رمزيًا (symlink) إلى port
$ sudo ln -s /opt/local/bin/port /usr/local/bin/port
قم بتثبيت bladeRF
$ sudo port install bladeRF +tecla
قم بتثبيت cmake
$ sudo port install cmake
قم بتحميل مصدر bladeRF في مجلد بجانب المجلد الحالي
$ cd ..
$ git clone [email protected]:Nuand/bladeRF.git
قم ببناء مكتبة host الخاصة بـ bladeRF
$ cd bladeRF/host
$ mkdir build
$ cd build
$ cmake ..
$ make && sudo make install
قم بتثبيت libomp و wget
$ sudo port install libomp
$ sudo port install wget
قم بترجمة من أجل _MACOSX مع مسار OpenMP وبناء bladeGPS
$ cd ../../../bladeGPS
$ make CFLAGS=”-I/opt/local/include/libomp _MACOSX”
تم إنشاء Dockerfile من صورة Ubuntu 20.04 يسمح لك بتشغيل
حاوية docker في ثوانٍ.
قم ببناء صورة docker
$ cd docker
$ docker build -t bladegps .
قم بتشغيل أمر 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"
قم بتشغيل أمر bladegps من خلال واجهة سطر أوامر 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
يتم توفير مثال على docker-compose.yml، إذا كنت ترغب في تشغيل bladegps كخدمة،
تعيد التشغيل عند الوصول إلى نهاية المدة. قم بتعديل الأمر واسم الجهاز قبل بدء الخدمة باستخدام docker-compose.
قم بتشغيل خدمة docker-compose في الخلفية
$ cd docker
$ docker-compose up -d
تحقق من حالة عملية docker-compose
$ docker-compose ps
اتصل بالحاوية التي تعمل عليها الخدمة، إذا رغبت
$ docker-compose exec bladegps /bin/bash
أوقف الخدمة عند الانتهاء
$ docker-compose down
حقوق النشر © 2015-2022 Takuji Ebinuma
موزع تحت رخصة MIT.