
bladeRF용 실시간 GPS 신호 시뮬레이터
gps-sdr-sim의 실시간 신호 생성을 위한 매우 조악한 실험적 구현입니다. 이 코드는 bladeRF에서 작동하며 Windows 10 및 Ubuntu 20.04에서 테스트되었습니다.
Usage: bladegps [options]
Options:
-e <gps_nav> GPS 궤도력(ephemeris)을 위한 RINEX 항법 파일 (필수)
-y <yuma_alm> GPS 알마낙(YUMA almanac) 파일
-u <user_motion> 사용자 움직임 파일 (동적 모드)
-g <nmea_gga> NMEA GGA 스트림 (동적 모드)
-l <location> 위도,경도,고도 (정적 모드) 예: 35.274,137.014,100
-t <date,time> 시나리오 시작 시간 YYYY/MM/DD,hh:mm:ss
-T <date,time> TOC와 TOE를 시나리오 시작 시간으로 덮어쓰기
-d <duration> 지속 시간 [초] (최대: 86400)
-x <XB_number> XB 보드 활성화, 예: '-x 200' (XB200)
-i 대화형 모드: 북쪽='w', 남쪽='s', 동쪽='d', 서쪽='a'
-I 우주선 시나리오를 위한 전리층 지연 비활성화
-p 경로 손실 비활성화 및 전력 레벨 일정 유지
Nuand wiki 페이지의 지침을 따라 Visual Studio 2013 Express for Windows Desktop으로 bladeRF 라이브러리를 소스에서 빌드하세요. 이미 pthread와 libusb 파일을 다운로드하고 Windows 환경에 맞게 bladeRF 라이브러리를 성공적으로 빌드했다고 가정합니다.
구성 속성 -> C/C++ -> 일반 -> 추가 포함 디렉터리에 다음 폴더의 경로 추가:
구성 속성 -> 링커 -> 일반 -> 추가 라이브러리 디렉터리에 다음 폴더의 경로 추가:
구성 속성 -> 링커 -> 입력 -> 추가 종속성에 추가 라이브러리 이름 지정:
빌드 -> 솔루션 빌드 실행빌드가 성공하면 Release 폴더에서 실행 파일을 찾을 수 있습니다. 코드를 실행하려면 다음 DLL의 복사본을 같은 폴더에 넣어야 합니다:
현재 디렉토리 옆에 있는 디렉토리에 bladeRF 소스 받기
$ cd ..
$ git clone [email protected]:Nuand/bladeRF.git
bladeRF 호스트 라이브러리 빌드
$ cd bladeRF/host
$ mkdir build
$ cd build
$ cmake ..
$ make
bladeGPS 빌드
$ cd ../../../bladeGPS
$ make
Xcode 설치
Xcode 명령줄 도구 설치
$ xcode-select --install
MacPorts 설치
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
bladeRF 호스트 라이브러리 빌드
$ cd bladeRF/host
$ mkdir build
$ cd build
$ cmake ..
$ make && sudo make install
libomp 및 wget 설치
$ sudo port install libomp
$ sudo port install wget
OpenMP 경로로 _MACOSX를 위해 컴파일하고 bladeGPS 빌드
$ cd ../../../bladeGPS
$ make CFLAGS=”-I/opt/local/include/libomp _MACOSX”
Ubuntu 20.04 이미지를 기반으로 한 Dockerfile이 제공되어 몇 초 안에 도커 컨테이너를 실행할 수 있습니다.
도커 이미지 빌드
$ 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"
도커 CLI에서 bladegps 명령 실행
$ 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
bladegps를 서비스로 실행하고 지속 시간이 끝나면 다시 시작하려는 경우를 위해 docker-compose.yml 예제가 제공됩니다. docker-compose를 사용하여 서비스를 시작하기 전에 명령과 장치 이름을 편집하세요.
docker-compose 서비스를 백그라운드에서 실행
$ cd docker
$ docker-compose up -d
docker-compose 프로세스 상태 확인
$ docker-compose ps
원하는 경우 서비스가 실행 중인 컨테이너에 연결
$ docker-compose exec bladegps /bin/bash
완료되면 서비스 종료
$ docker-compose down
Copyright © 2015-2022 Takuji Ebinuma
MIT 라이선스에 따라 배포됩니다.