ADS-B+Banana PI=flightradar24

Paruošus darbui Banana PI visai atsitiktinai toptelėjo mintis pasidalinti ADS-b duomenimis su Flightradar24 (www.flightradar24.com).

ADS-b tai atvirai lėktuvų transliuojamos metrikos (aukštis, greitis, koordinatės ir t.t.). Visa tai transliuojama 1090MHz dažniu ir gali būt priimama su vos 10€ kainuojančiu USB TV tiuneriuku. Aš juos turiu kelis, bet šiuo konkrečiu atveju naudojamas šis:

Aliexpress puslapyje į paiešką parašius “ads-b” tikrai rasite ne vieną tokį ar panašų tiuneriuką. Svarbiausia, kad jo mikreschemų rinkinys (chipset) būtų RTL2832U.

Jungiam tiuneriuką prie kompiuterio ir instaliuojam rtl-sdr
Ubuntu:

apt install rtl-sdr

Archlinux:

pacman -Sy rtl-sdr

Nesvarbu kuria OS naudojat (kad ir bet kuria kita linux distribuciją) reikia uždrausti (blacklistinti) dvb_usb_rtl2832u kernel modulį. Pastarasis modulis yra skirtas skaitmeninei TV žiūrėti, jis yra kernelio dalis, todėl užsikraus pirmasis ir “trukdys” mums naudotis tiuneriuku ne pagal jo tiesiogine paskirtį.

Patikrinimui ar viskas gerai veikia, naudojam:

rtl_test -t

Iš puslapio https://www.flightradar24.com/share-your-data kopijuojame pateikta komanda ir leidžiama kaip root. Mano atveju tai buvo:

bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)"

Šis skriptas suinstaliuos fr24feed servisą. Konfiguruojame su:

fr24feed --signup

Aš iš anksto jau buvau užsiregistravęs flightradar24 puslapyje, tad čia panaudojau tuos pačius prisijungimo duomenis.

Maniškė konfigūracija atrodo taip:

root@bpi-iot-ros-ai:~# cat /etc/fr24feed.ini 
receiver="dvbt"
fr24key="***************"
path="/usr/bin/dump1090-mutability"
bs="yes"
raw="yes"
logmode="1"
procargs="--net"
windowmode="0"
logpath="/var/log/fr24feed"
mpx="no"
mlat="no"
mlat-without-gps="no"

Enable’inam servisą:

systemctl enable fr24feed

Startuojame:

systemctl start fr24feed

Jei viskas veikia, adresu http://_jūsų_serverio_IP_adresas:8754 turėtumėt matyti kažką panašus:

O adresu http://_jūsų_serverio_IP_adresas:8080 (vaizdas su nauja antena, aprašymas žemiau)

Norint matyti šį vaizdą konfiguracijos ketvirta ir aštunta eilutės yra privalomos.
Šiam lange rodomi šiuo metu tiuneriuko matomi lėktuvai. Jei per minutę joks signalas negaunamas, lėktuvėlis iš šio žemėlapio yra šalinimas. Taigi, šiuo mementu maniškis banana pi priima signalą iš 11 lėktuvų ir dar du iš kurių pilnai duomenis nepaimami (per toli?).

Ir paskutinis bet svarbus įrenginys visame šitame yra antena.

Pirmas tris savaites tiuneriukas buvo pajungtas prie “bet kokios” (PMR dažniui skaičiuotos Yagi tipo) antenos. PMR dažnis yra 446MHz, lėktuvai transliuoja 1090MHz… tad tai net nėra panašų, bet su tokia komplektacija lėktuvai buvo matomi iki 120km spinduliu.

Kiek pasigoolinus nusprendžiau pasidaryti šiam dažniui skirta anteną “voriuką”. Antena tikrai nedidutė, gero sprindžio dydžio. Antenos “brėžinys” matosi vienoje iš nuotraukų. Visų strypelių ilgis 68mm, kampai 45 laipsnių.


Po antenos pakeitimo, matymo spindulys padidėjo nuo ~120km iki 210km t.y. beveik dvigubai.
Atstumo galima pasiekit ir didesnio, bet antena yra ant vieno aukšto namo, kuris aplinkos atžvilgiu yra šiokioje tokioje dauboje.

Taip pat daugiau kaip šimtu padaugėjo per diena nuskaitomų lėktuvų kiekis:

Už tai, kad teikiu duomenis flightradar24 puslapiui, mano Basic paskyra pavirto į Business, todėl puslapyje galiu prieiti prie visiškai visų duomenų ir be reklamos.

PS: Su šiuo tiuneriu galima nuveikti ir dar daugiau smagių dalykų, gal kada aprašysiu.
PSS: Nuotraukoje aukštoji yra CB antena, gal kada ir apie tai parašysiu.

Banna PI OS instaliavimas

Šis kompiuteriukas man į rankas pateko jau senokai. Palyginus su pirma aviete jis turi spartesni procesorių, daugiau RAM atminties ir gigabitinį LAN (tikroji išmatuota sparta 396 Mbits/sec) ir esminis skirtumas, turi SATA jungį.

Tada buvo suinstaliuotas Archlinux (internete rastas disko atvaizdas), bet pastebėjau, kad po sistemos atnaujinimo jis tiesiog nesikraudavo. Į pacman.conf įdėjau, kad ignoruotu kernelio ir systemd paketus. Kažkuriam laikui padėjo, bet po eilinio update ir nesikrovimo kompiuteriukas buvo užmirštas gan ilgam.

Po ilgo laiko vėl googlinant ir ieškant Archlinux’o atvaizdo teko nusivilti, kažko naujo nėra. Kompiuteriukas jau paseno ir nelabai kas jam atnaujina tuos atvaizdus. Pirminis bandymas buvo vadovaujantis https://wiki.archlinux.org/index.php/Banana_Pi pasigaminti atvaizdą pačiam. Bet po keturių (o gal ir daugiau) nesėkmių nuleidau rankas. Sistema nesikrovė.

Tada užkliuvo (http://wiki.banana-pi.org/Banana_Pi_BPI-M1#Ubuntu_Server), kad yra Ubuntu 16.04. Pagalvojau, kad man to pakaks. Siunčiu atvaizdą, rašau į kortelę. Kraunasi. Valio.

O dabar smagiausia dalis. Kaip priversti užmountinti root particiją iš disko prijungto per SATA jungti. Ir ko aš nebandžiau, SD kortelėje redaguoti armbianEnv.txt, fstab, boot.src ir dar bala žino kas. O jis nieko, užsispyręs, mountina antra SD kortelės particiją kaip root nors tu ką.

Ir vis dėlto atsakimą radau. Kaip dariau aš:
Antra SD kortelės particiją (root) nusikopijavau į SATA 2.5″ diską (mano atveju tai senasis mano SSD diskas OCZ AGILITY3).
Po kopijavimo SATA diske, paredaguojam /etc/fstab

/dev/sda1  /               ext4   defaults,noatime  0       1

Prijungiam SATA diską. Įjungiam kompiuteriuką. Prisimountinam pirmą SD kortelės particiją:

mount /dev/mmcblk0p1 /mnt

Redaguojam failą:

vim /mnt/bananapi/bpi-m1/linux/boot.cmd

Ir svarbiausias momentas:

mkimage -C none -A arm -T script -d /mnt/bananapi/bpi-m1/linux/boot.cmd /mnt/bananapi/bpi-m1/linux/boot.scr

Štai jau sistema kraunasi iš SD kortelės ir root particiją naudoja iš disko prijungto per SATA jungtį. Viskas labai puikui, BET pas mane SD kortelė 16GB iš kūrių 8GB užima boot particija ir senoji root. Boot particija tik 256MB. Nesinori dėl tiek naudoti tokios didelės kortelės, tuo labiau, kad ant stalo guli sena 2GB kortelė.

Vėl prasidėjo smagioji užsiėmimo dalis. Kaip iš atvaizdo kuriam yra trys (!) particijos, palikti tik dvi ir jas suklonuoti į SD kortelę. Klonuoti po vieną particija man nepavyko. Pirmoji atvaizdo particija lyg ir tuščia (jos dydis 105MB) bet be jos sistema nesikrauna, panašu, kad ji kažkam naudojama.

Vėl gelbėja google. https://softwarebakery.com/shrinking-images-on-linux. Panaudoju paskutinį aprašyta būdą:

truncate --size=$[(729087+1)*512] 2018-07-26-ubuntu-16.04-server-preview-bpi-m1-m1p-r1-sd-emmc.img

Rezultate gaunu 356MB disko atvaizdą, kuris puikiai klonuojasi į 2GB (mažesnės jau neturiu) kortelę.
Po klonavimo reikėjo persikopijuoti aukščiau generuota bananapi/bpi-m1/linux katalogą, nes šiuo atvėju aš redagavau originalų iš interneto atsiųsta atvaizdą kuris vėl mountino root iš SD antros particijos.

Dabar jau viskas veikia kaip ir turi veikti. Boot particija SD kortelėje, visas root SSD diske.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close