Kontainer Docker menjalankan rbfeeder
AirNav RadarBox. Dirancang untuk bekerja bersama-sama dengan penggemar sdr/readsb-protobuf. Dibangun dan dijalankan pada x86_64
, arm64
dan arm32v7
.
rbfeeder
mengambil informasi ModeS/BEAST dari host atau container yang menyediakan data ModeS/BEAST, dan mengirimkan data ke RadarBox.
Untuk informasi lebih lanjut tentang apa itu rbfeeder
, lihat di sini: berbagi data.
latest
(cabang main
, Dockerfile
)
latest_nohealthcheck
sama dengan versi latest
di atas. Namun, versi ini telah menghapus pemeriksaan kesehatan buruh pelabuhan. Hal ini dilakukan untuk orang yang menjalankan platform (seperti Nomad) yang tidak mendukung penonaktifan pemeriksaan kesehatan secara manual, sehingga pemeriksaan kesehatan tidak diperlukan.
Tersedia tag khusus versi dan arsitektur
Saat ini, image ini harus ditarik dan dijalankan pada arsitektur berikut:
amd64
: Linuxx86-64
arm32v7
, armv7l
: ARMv7 32-bit (Odroid HC1/HC2/XU4, RPi 2B/3B)
arm64
, aarch64
: ARMv8 64-bit (RPi 4 OS 64-bit)
Pengguna pertama kali harus mendapatkan kunci berbagi RadarBox.
Untuk mendapatkan kunci berbagi RadarBox, saat container pertama kali dijalankan, rbfeeder
akan membuat kunci berbagi dan mencetaknya ke log container.
batas waktu menjalankan buruh pelabuhan 300an --rm -dia -e BEASTHOST=BEASTHOST ANDA -e LAT= SADAT ANDA -e PANJANG=ONGITUDE ANDA -e ALT=SADAR ANDA ghcr.io/sdr-enthusiasts/docker-radarbox:latest
Ini akan menjalankan container selama lima menit, memungkinkan pembuatan kunci berbagi.
Anda jelas harus mengganti YOURBEASTHOST
, YOURLATITUDE
, YOURLONGITUDE
dan YOURALTITUDE
dengan nilai yang sesuai.
Segera setelah kontainer diluncurkan, Anda akan disajikan dengan:
[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)
Catat kunci berbagi, karena Anda akan membutuhkannya saat meluncurkan container.
Jika Anda bukan pengguna pertama kali dan bermigrasi dari instalasi lain, Anda dapat mengambil kunci berbagi menggunakan salah satu metode berikut:
SSH ke receiver Anda yang ada dan jalankan perintah rbfeeder --showkey --no-start
SSH ke receiver Anda yang ada dan jalankan perintah grep key= /etc/rbfeeder.ini
docker run
menjalankan buruh pelabuhan -D --rm --nama rbfeeder -e TZ="ZONA WAKTU ANDA" -e BEASTHOST=BEASTHOST ANDA -e LAT= SADAT ANDA -e PANJANG=ONGITUDE ANDA -e ALT=SADAR ANDA -e SHARING_KEY=Kunci BERBAGI ANDA ghcr.io/sdr-enthusiasts/docker-radarbox:latest
Anda jelas harus mengganti YOURBEASTHOST
, YOURLATITUDE
, YOURLONGITUDE
, YOURALTITUDE
dan YOURSHARINGKEY
dengan nilai yang sesuai.
Misalnya:
menjalankan buruh pelabuhan -D --rm --nama rbfeeder -e TZ="Australia/Perth" -e BEASTHOST=dibacab -e LAT=-33.33333 -e PANJANG=111.11111 -e ALT=90 -e SHARING_KEY=g45643ab345af3c5d5g923a99ffc0de9 ghcr.io/sdr-enthusiasts/docker-radarbox:latest
Harap dicatat, angka ketinggian diberikan dalam meter dan tidak ada satuan yang harus ditentukan.
versi: '2.0'layanan: pengumpan rb: gambar: ghcr.io/sdr-enthusiasts/docker-radarbox:latest tty: nama_truecontainer: rbfeeder mulai ulang: selalu lingkungan: - TZ=Australia/Perth - BEASTHOST=dibacab - LAT=-33.33333 - PANJANG=111.11111 - ALT=90 - BERBAGI_KEY=g45643ab345af3c5d5g923a99ffc0de9
Setelah penampung Anda aktif dan berjalan, Anda harus mengklaim penerima Anda.
Kunjungi https://www.radarbox.com/
Buat akun atau masuk
Klaim penerima Anda dengan mengunjungi https://www.radarbox.com/raspberry-pi/claim dan ikuti petunjuknya
Sebelum mengangkat masalah mengenai kesalahan koneksi, harap tunggu setidaknya 10 menit. Biner rbfeeder
dikonfigurasi untuk mencoba menyambung ke kumpulan server dalam metode round-robin. Tampaknya normal jika beberapa server menolak sambungan, sehingga mungkin memerlukan waktu beberapa menit untuk menemukan server yang tersedia dan menyambung. Pada contoh di bawah, dibutuhkan waktu sekitar 6 menit dari mulainya kontainer hingga koneksi dibuat.
Anda dapat mencoba menyelesaikannya dengan mengatur parameter ini:
- RB_SERVER=benar
Tindakan ini akan menerapkan penggunaan alamat IP hardcode yang diketahui berfungsi (mulai 22-Nov-2023). Ini akan menghubungkan Anda ke server Eropa jika Anda berada di Belahan Bumi Timur (termasuk Asia/Oseania), atau ke server berbasis di AS jika Anda berada di Amerika.
Anda mungkin juga menerima kesalahan palsu Error authenticating Sharing-Key: Invalid sharing-key
. Asalkan Anda sudah memasukkan kunci berbagi dengan benar, abaikan saja selama beberapa menit.
Berikut adalah beberapa contoh keluaran dengan RBFeeder Versi 1.0.10 (build 20231120150000) yang menunjukkan perilaku yang disebutkan di atas:
[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
Ada serangkaian variabel lingkungan yang tersedia:
Variabel Lingkungan | Tujuan | Bawaan |
---|---|---|
BEASTHOST | Diperlukan. IP/Nama Host penyedia Mode-S/BEAST (dump1090/readsb) | readsb |
BEASTPORT | Opsional. Nomor port TCP penyedia Mode-S/BEAST (dump1090/readsb) | 30005 |
UAT_RECEIVER_HOST | Opsional. IP/Nama Host penyedia JSON yang didekodekan UAT eksternal (misalnya: dump978-fa). | |
UAT_RECEIVER_PORT | Opsional. Nomor port TCP dari penyedia JSON yang didekodekan UAT eksternal. | 30979 |
SHARING_KEY | Diperlukan. Kunci Berbagi Radarbox | |
LAT | Diperlukan. Garis lintang antena | |
LONG | Diperlukan. Bujur antena | |
ALT | Diperlukan. Ketinggian dalam meter | |
TZ | Opsional. Zona waktu lokal Anda | GMT |
STATS_INTERVAL_MINUTES | Opsional. Seberapa sering mencetak statistik, dalam hitungan menit. | 5 |
VERBOSE_LOGGING | Opsional. Setel ke true karena tidak ada pemfilteran log rbfeeder . | false |
DEBUG_LEVEL | Opsional. Setel ke angka antara 0 dan 8 untuk meningkatkan verbositas log rbfeeder . | 0 |
ENABLE_MLAT | Pilihan. Setel ke true untuk mengaktifkan MLAT di dalam penampung. Lihat catatan MLAT di bawah | true |
MLAT_RESULTS_BEASTHOST | nama host atau IP, tempat hasil MLAT harus dikirim. (menonaktifkan port mendengarkan hasil 30105) | |
MLAT_RESULTS_BEASTPORT | nomor port, tentukan nomor port TCP tempat hasil MLAT harus dikirim. | 30104 |
RB_SERVER | Opsional. Jika disetel ke true , kontainer akan mencoba terhubung ke salah satu dari dua Server Radarbox yang diketahui berfungsi mulai 22-Nov-2023. Anda juga dapat mengaturnya secara eksplisit ke nama host atau alamat IP. Jika tidak disetel, pengaturan default RadarBox akan digunakan. | Tidak disetel |
Port TCP berikut digunakan oleh kontainer ini:
32088
- rbfeeder
mendengarkan port ini, namun saya tidak dapat menemukan kegunaan port ini...
30105
- mlat-client
mendengarkan port ini untuk memberikan hasil MLAT. (port mendengarkan hasil mlat dinonaktifkan ketika MLAT_RESULTS_BEASTHOST
diatur untuk mengatasi bug rbfeeder)
Anda mungkin menemukan bahwa MLAT di penampung Anda sering kali memunculkan kesalahan di log Anda, seperti
[rbfeeder] Memutuskan sambungan dari mlat1.rb24.com:40900: Tidak ada data (bahkan keepalives) yang diterima selama 60 detik [rbfeeder] Terhubung ke server multilaterasi di mlat1.rb24.com:40900, jabat tangan
Hal ini mungkin terjadi, namun tidak selalu, bukan disebabkan oleh apa pun yang Anda lakukan, melainkan disebabkan oleh server Radarbox itu sendiri dan oleh karena itu tidak ada yang dapat Anda lakukan untuk memperbaikinya. Anda akan melihat dalam statistik Radarbox Anda sangat sedikit, jika ada, target MLAT dari pengumpan Anda saat ia melakukan hal ini.
Untuk menghentikan pengumpan mengirim spam ke log Anda, Anda dapat menyetel ENABLE_MLAT=false
di konfigurasi lingkungan Anda untuk Radarbox dan ini akan menghentikan layanan MLAT, serta pesan log. Harap dicatat bahwa jika Anda melakukan ini, dan Anda menggunakan MLAT Hub, harap hapus Radarbox dari READSB_NET_CONNECTOR
Anda di bawah MLAT Hub
.
Kontainer secara internal menggunakan biner yang disebut rbfeeder
untuk mengirim data ke layanan RadarBox. Biner ini disediakan sebagai sumber tertutup oleh AirNav (perusahaan yang mengoperasikan RadarBox) dan hanya tersedia dalam format armhf (32-bit) menggunakan halaman kernel 4kb. Ini akan bekerja dengan baik pada Raspberry Pi 3B+, 4B, dan sistem berbasis ARM lainnya yang menggunakan Debian Linux 32-bit atau 64-bit dengan ukuran halaman kernel 4kb. Ini juga berfungsi dengan baik di Linux x86 di mana kami menggunakan emulator qemu
ARM untuk menjalankan biner.
Debian Linux untuk Raspberry Pi 5 secara default menggunakan kernel dengan ukuran halaman 16kb, dan ini tidak kompatibel dengan biner rbfeeder
. Anda akan melihat kegagalan di log kontainer Anda.
Anda dapat memeriksa ukuran halaman kernel Anda dengan perintah ini: getconf PAGE_SIZE . Jika nilai yang dikembalikan adalah 4096, maka semuanya baik-baik saja. Jika berbeda (misalnya 16384 untuk ukuran halaman 16kb), Anda perlu menerapkan solusi berikut:
Tambahkan yang berikut ini ke /boot/firmware/config.txt (Debian 12 Bookworm atau lebih baru) atau /boot/config.txt (Debian 11 Bullseye atau lebih lama) untuk menggunakan kernel dengan ukuran halaman 4kb. Ini akan membuat penggunaan CPU di Raspberry Pi 5 Anda sedikit kurang efisien, tetapi ini akan menyelesaikan masalah untuk banyak paket perangkat lunak yang memiliki masalah yang sama. Setelah mengubahnya, Anda harus me-reboot sistem Anda agar dapat diterapkan:
kernel=kernel8.img
(perintah satu kali untuk menambahkan ini adalah :)
gema "kernel=kernel8.img" | sudo tee -a /boot/firmware/config.txt >/dev/null
Semua proses dicatat ke stdout kontainer, dan dapat dilihat dengan docker logs [-f] container
.
Anda dapat mencatat masalah di GitHub proyek.
Saya juga memiliki saluran Discord, silakan bergabung dan berkomunikasi.
Jika Anda mendapatkan kesalahan segmentasi terus-menerus di dalam wadah ini, lihat: #16 (komentar)