AirNav RadarBox의 rbfeeder
실행하는 Docker 컨테이너입니다. sdr-enthusiasts/readsb-protobuf와 함께 작동하도록 설계되었습니다. x86_64
, arm64
및 arm32v7
에서 빌드하고 실행됩니다.
rbfeeder
ModeS/BEAST 데이터를 제공하는 호스트나 컨테이너에서 ModeS/BEAST 정보를 가져와 RadarBox로 데이터를 보냅니다.
rbfeeder
무엇인지에 대한 자세한 내용은 공유 데이터를 참조하세요.
latest
( main
브랜치, Dockerfile
)
latest_nohealthcheck
는 위의 latest
버전과 동일합니다. 그러나 이 버전에는 docker healthcheck가 제거되었습니다. 이는 상태 확인을 원하지 않는 상태 확인 수동 비활성화를 지원하지 않는 플랫폼(예: Nomad)을 실행하는 사람들을 위해 수행됩니다.
버전 및 아키텍처별 태그 사용 가능
현재 이 이미지는 다음 아키텍처에서 가져와서 실행되어야 합니다.
amd64
: 리눅스 x86-64
arm32v7
, armv7l
: ARMv7 32비트(Odroid HC1/HC2/XU4, RPi 2B/3B)
arm64
, aarch64
: ARMv8 64비트(RPi 4 64비트 OS)
처음 사용자는 RadarBox 공유 키를 받아야 합니다.
RadarBox 공유 키를 얻기 위해 컨테이너를 처음 실행할 때 rbfeeder
공유 키를 생성하고 이를 컨테이너 로그에 인쇄합니다.
시간 초과 300초 도커 실행 --rm -그것 -e BEASTHOST=YOURBASTHOST -e LAT=귀하의 자세 -e LONG=귀하의 경도 -e ALT=당신의 ALTITUDE ghcr.io/sdr-enthusiasts/docker-radarbox:latest
그러면 컨테이너가 5분 동안 실행되어 공유 키가 생성됩니다.
YOURBEASTHOST
, YOURLATITUDE
, YOURLONGITUDE
및 YOURALTITUDE
적절한 값으로 바꿔야 합니다.
컨테이너가 출시된 직후 다음이 표시됩니다.
[2020-04-02 11:36:31] Empty sharing key. We will try to create a new one for you!
[2020-04-02 11:36:32] Your new key is g45643ab345af3c5d5g923a99ffc0de9. Please save this key for future use. You will have to know this key to link this receiver to your account in RadarBox24.com. This key is also saved in configuration file (/etc/rbfeeder.ini)
컨테이너를 시작할 때 필요하므로 공유 키를 기록해 두세요.
처음 사용자가 아니고 다른 설치에서 마이그레이션하는 경우 다음 방법 중 하나를 사용하여 공유 키를 검색할 수 있습니다.
기존 수신기에 SSH를 연결하고 rbfeeder --showkey --no-start
명령을 실행합니다.
기존 수신기에 SSH를 연결하고 grep key= /etc/rbfeeder.ini
명령을 실행합니다.
docker run
사용한 실행도커 실행 -디 --rm --이름 rbfeeder -e TZ="사용자 시간대" -e BEASTHOST=YOURBASTHOST -e LAT=귀하의 자세 -e LONG=귀하의 경도 -e ALT=당신의 ALTITUDE -e SHARING_KEY=귀하의 공유키 ghcr.io/sdr-enthusiasts/docker-radarbox:latest
YOURBEASTHOST
, YOURLATITUDE
, YOURLONGITUDE
, YOURALTITUDE
및 YOURSHARINGKEY
적절한 값으로 바꿔야 합니다.
예를 들어:
도커 실행 -디 --rm --이름 rbfeeder -e TZ="호주/퍼스" -e BASTHOST=읽기b -e LAT=-33.33333 -e LONG=111.11111 -e ALT=90 -e SHARING_KEY=g45643ab345af3c5d5g923a99ffc0de9 ghcr.io/sdr-enthusiasts/docker-radarbox:latest
고도 수치는 미터 단위로 제공되며 단위를 지정해서는 안 됩니다.
버전: '2.0'서비스: rbfeeder: 이미지: ghcr.io/sdr-enthusiasts/docker-radarbox:latest tty: truecontainer_name: rbfeeder 다시 시작: 항상 환경: - TZ=호주/퍼스 - BASTHOST=읽기b - LAT=-33.33333 - LONG=111.11111 - Alt=90 - SHARING_KEY=g45643ab345af3c5d5g923a99ffc0de9
컨테이너가 실행되면 수신기를 요청해야 합니다.
https://www.radarbox.com/으로 이동하세요.
계정을 만들거나 로그인하세요
https://www.radarbox.com/raspberry-pi/claim을 방문하고 지침에 따라 수신기를 요청하세요.
연결 오류에 대한 문제를 제기하기 전에 적어도 10분 정도 기다려 주십시오. rbfeeder
바이너리는 라운드 로빈 방식으로 서버 모음에 연결을 시도하도록 구성됩니다. 일부 서버에서는 연결을 거부하는 것이 정상적인 것으로 나타나므로 사용 가능한 서버를 찾아 연결하는 데 몇 분 정도 걸릴 수 있습니다. 아래 예시에서는 컨테이너 시작부터 연결 설정까지 약 6분이 걸렸습니다.
이 매개변수를 설정하여 이 문제를 해결할 수 있습니다.
- RB_SERVER=참
이에 따라 작동하는 것으로 알려진 하드코딩된 IP 주소(2023년 11월 22일 기준)를 사용해야 합니다. 동반구(아시아/오세아니아 포함)에 있는 경우 유럽 서버에 연결하고, 아메리카에 있는 경우 미국 기반 서버에 연결합니다.
또한 Error authenticating Sharing-Key: Invalid sharing-key
허위 오류가 나타날 수도 있습니다. 공유 키를 올바르게 입력했다면 몇 분 동안 이를 무시하십시오.
다음은 앞서 언급한 동작을 보여주는 RBFeeder 버전 1.0.10(빌드 20231120150000)의 출력 예입니다.
[2023-11-22 21:59:06.966][rbfeeder] [2023-11-22 21:59:06] Starting RBFeeder Version 1.0.10 (build 20231120150000)
[2023-11-22 21:59:06.966][rbfeeder] [2023-11-22 21:59:06] Using configuration file: /etc/rbfeeder.ini
[2023-11-22 21:59:06.966][rbfeeder] [2023-11-22 21:59:06] Network-mode enabled.
[2023-11-22 21:59:06.966][rbfeeder] [2023-11-22 21:59:06] Remote host to fetch data: 172.20.0.11
[2023-11-22 21:59:06.966][rbfeeder] [2023-11-22 21:59:06] Remote port: 30005
[2023-11-22 21:59:06.966][rbfeeder] [2023-11-22 21:59:06] Remote protocol: BEAST
[2023-11-22 21:59:06.966][rbfeeder] [2023-11-22 21:59:06] Using GNSS (when available)
[2023-11-22 21:59:06.966][rbfeeder] [2023-11-22 21:59:06] Start date/time: 2023-11-22 21:59:06
[2023-11-22 21:59:06.972][rbfeeder] [2023-11-22 21:59:06] Socket for ANRB created. Waiting for connections on port 32088
[2023-11-22 21:59:08.039][rbfeeder] [2023-11-22 21:59:08] Connection established.
[2023-11-22 21:59:18.154][rbfeeder] [2023-11-22 21:59:18] Could not start connection. Timeout.
...
[2023-11-22 22:05:29.223][rbfeeder] [2023-11-22 22:05:29] Connection established.
[2023-11-22 22:05:29.456][rbfeeder] [2023-11-22 22:05:29] Client type: Raspberry Pi
[2023-11-22 22:05:29:29.524][rbfeeder] [2023-11-22 22:05:29] Connection with RadarBox24 server OK! Key accepted by server.
[2023-11-22 22:05:29.524][rbfeeder] [2023-11-22 22:05:29] This is your station serial number: EXTRPIxxxxxx
사용 가능한 일련의 환경 변수가 있습니다.
환경변수 | 목적 | 기본 |
---|---|---|
BEASTHOST | 필수의. Mode-S/BEAST 공급자의 IP/호스트 이름(dump1090/readsb) | readsb |
BEASTPORT | 선택 과목. Mode-S/BEAST 공급자의 TCP 포트 번호(dump1090/readsb) | 30005 |
UAT_RECEIVER_HOST | 선택 과목. 외부 UAT 디코딩 JSON 공급자의 IP/호스트 이름(예: dump978-fa) | |
UAT_RECEIVER_PORT | 선택 과목. 외부 UAT 디코딩 JSON 공급자의 TCP 포트 번호입니다. | 30979 |
SHARING_KEY | 필수의. Radarbox 공유 키 | |
LAT | 필수의. 안테나의 위도 | |
LONG | 필수의. 안테나의 경도 | |
ALT | 필수의. 고도( 미터) | |
TZ | 선택 과목. 현지 시간대 | 그리니치 표준시 |
STATS_INTERVAL_MINUTES | 선택 과목. 통계를 인쇄하는 빈도(분)입니다. | 5 |
VERBOSE_LOGGING | 선택 과목. rbfeeder 로그를 필터링하지 않으려면 true 로 설정합니다. | false |
DEBUG_LEVEL | 선택 과목. rbfeeder 로그의 자세한 내용을 늘리려면 0 에서 8 사이의 숫자로 설정하십시오. | 0 |
ENABLE_MLAT | 옵션. 컨테이너 내부에서 MLAT를 활성화하려면 true 로 설정합니다. 아래 MLAT 참고 사항을 참조하세요. | true |
MLAT_RESULTS_BEASTHOST | MLAT 결과가 전송되어야 하는 호스트 이름 또는 IP. (30105 결과 수신 포트를 비활성화합니다) | |
MLAT_RESULTS_BEASTPORT | 포트 번호를 지정하려면 MLAT 결과를 전송해야 하는 TCP 포트 번호를 지정하세요. | 30104 |
RB_SERVER | 선택 과목. true 로 설정하면 컨테이너는 2023년 11월 22일 현재 작동하는 것으로 알려진 두 개의 Radarbox 서버 중 하나에 연결을 시도합니다. 호스트 이름이나 IP 주소로 명시적으로 설정할 수도 있습니다. 설정하지 않으면 RadarBox의 기본 설정이 사용됩니다. | 설정되지 않음 |
이 컨테이너에서는 다음 TCP 포트를 사용합니다.
32088
- rbfeeder
이 포트를 수신하지만 이 포트의 용도를 찾을 수 없습니다...
30105
- mlat-client
MLAT 결과를 제공하기 위해 이 포트를 수신 대기합니다. ( MLAT_RESULTS_BEASTHOST
rbfeeder 버그를 해결하도록 설정된 경우 mlat 결과 수신 포트가 비활성화됨)
컨테이너의 MLAT는 종종 다음과 같은 오류를 로그에 표시하는 경우가 있습니다.
[rbfeeder] mlat1.rb24.com:40900에서 연결 끊기: 60초 동안 데이터(킵얼라이브도 포함)가 수신되지 않았습니다. [rbfeeder] mlat1.rb24.com:40900에서 다변측정 서버에 연결됨, 핸드쉐이킹
이 문제는 항상 그런 것은 아니지만 사용자가 수행하는 작업으로 인해 발생하는 것이 아니라 Radarbox 서버 자체로 인해 발생하므로 이를 해결하기 위해 수행할 수 있는 작업은 없습니다. Radarbox 통계에는 이 작업을 수행하는 동안 피더에서 MLAT 타겟이 거의 표시되지 않습니다.
피더가 로그를 스팸하는 것을 방지하려면 Radarbox의 환경 구성에서 ENABLE_MLAT=false
설정하면 MLAT 서비스와 로그 메시지가 중지됩니다. 이 작업을 수행하고 MLAT Hub를 사용하는 경우 MLAT Hub
아래의 READSB_NET_CONNECTOR
에서 Radarbox를 제거하세요.
컨테이너는 내부적으로 rbfeeder
라는 바이너리를 사용하여 RadarBox 서비스에 데이터를 보냅니다. 이 바이너리는 AirNav(RadarBox를 운영하는 회사)에서 비공개 소스로 제공되며 4kb 커널 페이지를 사용하는 armhf(32비트) 형식으로만 사용할 수 있습니다. 이는 Raspberry Pi 3B+, 4B 및 4kb 커널 페이지 크기의 32비트 또는 64비트 Debian Linux를 사용하는 기타 ARM 기반 시스템에서 잘 작동합니다. 또한 qemu
ARM 에뮬레이터를 사용하여 바이너리를 실행하는 x86 Linux에서도 잘 작동합니다.
Raspberry Pi 5용 Debian Linux는 기본적으로 페이지 크기가 16kb인 커널을 사용하며 이는 rbfeeder
바이너리와 호환되지 않습니다. 컨테이너 로그에 오류가 표시됩니다.
getconf PAGE_SIZE 명령을 사용하여 커널 페이지 크기를 확인할 수 있습니다. 반환된 값이 4096이면 모든 것이 정상입니다. 다른 경우(예: 16kb 페이지 크기의 경우 16384) 다음 해결 방법을 구현해야 합니다.
페이지 크기가 4kb인 커널을 사용하려면 /boot/firmware/config.txt(Debian 12 Bookworm 이상) 또는 /boot/config.txt(Debian 11 Bullseye 이하)에 다음을 추가합니다. 이렇게 하면 Raspberry Pi 5 전체의 CPU 사용 효율성이 약간 떨어지지만 동일한 문제가 있는 많은 소프트웨어 패키지의 문제는 해결됩니다. 이를 변경한 후 시스템을 재부팅해야 적용됩니다.
kernel=kernel8.img
(이것을 추가하는 일회성 명령은 다음과 같습니다.)
echo "커널=kernel8.img" | sudo tee -a /boot/firmware/config.txt >/dev/null
모든 프로세스는 컨테이너의 stdout에 기록되며 docker logs [-f] container
로 볼 수 있습니다.
프로젝트의 GitHub에 문제를 기록할 수 있습니다.
Discord 채널도 있으니 자유롭게 가입하고 대화하세요.
이 컨테이너 내에서 지속적인 분할 오류가 발생하는 경우 다음을 참조하세요. #16(설명)