Obsah
Příprava stanice bez Jack audiosystému
Předpokládá se počítač s fungujícím operačním systémem Ubuntu 16.04. LTS. Architektura počítače může být jak ARM, tak i Intel. Oba případy jsou identické až na způsob připojení dalšího hardware, jako je například I²C.
$ sudo apt-get install build-essential cmake libusb-dev i2c-tools python-smbus cython libudev-dev python-setuptools python-numpy python-cheetah libboost-all-dev libfftw3-dev libcfitsio-dev libjack-jackd2-dev autossh gpsd-clients buffer pv ntp libvolk1-dev
I2C
$ sudo easy_install hidapi $ cd ~/repos $ git clone https://github.com/MLAB-project/pymlab $ cd pymlab $ sudo python setup.py develop
U Odroidu-U3 je třeba I2C zprovoznit správným zápisem do /etc/modules
, jak je popsáno na MLAB wiki.
station-supervisor
$ cd ~/repos $ git clone https://github.com/MLAB-project/python-mlab-utils.git $ cd python-mlab-utils $ sudo python setup.py install
$ cd ~/repos $ git clone https://github.com/MLAB-project/station-supervisor.git
SDR-Widget
Pro správnou funkci softwaru je potřebné, aby sdr-widget hardware byl nakonfigurovaný podle následujícího screenshotu a VID a PID musí být nastavené na tyto hodnoty fffe:0007
.
$ cd ~/repos $ git clone https://github.com/MLAB-project/signal-piping-tools.git $ cd signal-piping-tools $ make
Nastavení uživatelských práv
Standardní nastavení uživatelských práv neumožňuje přímou komunikaci s USB zařízeními přes libusb. Nastavení přístupových práv lze změnit vytvořením vhodného souboru v /etc/udev/rules.d/ . Ten vytvoříme následovně:
$ sudo su # curl https://raw.githubusercontent.com/borgestrand/sdr-widget/d4cc8700429bc1acef826f46d8e40df04e1f6e1c/etc/sdr-widget.rules > /etc/udev/rules.d/sdr-widget.rules # exit
Nyní je potřeba odpojit a znovu připojit USB zařízení. Pak je možné používat libusb i ze standardního uživatelského účtu.
radio-observer
2015-08-13: Předpokládají se vlastnosti radio-observeru, které ještě nejsou v hlavní větvi zdrojového kódu, a tak je po git clone
třeba spustit git checkout feat/raw
.
$ cd ~/repos $ git clone https://github.com/MLAB-project/radio-observer.git $ cd radio-observer/ $ git submodule init $ git submodule update $ cd cppapp $ make $ cd .. $ make
Nastavení staničního času
Změníme systémové časové pásmo na UT.
sudo dpkg-reconfigure tzdata
Někdy je také potřeba vygenerovat místní nastavení např:
sudo locale-gen cs_CZ.UTF-8
Časová synchronizace NTPd
Pro časovou synchronizaci je potřeba daemonu, který se stará o GPS povolit socket pro NTP.
To se udělá v souboru /etc/ntp.conf
server 127.127.28.0 minpoll 4 prefer fudge 127.127.28.0 time1 0.0 refid GPS
GPSd musí být zároveň nastaven tak, aby dával data i bez připojených klientů. Toho se dosáhne nastavením pří instalaci.
sudo dpkg-reconfigure gpsd Start gpsd automatically on boot? Yes Device the GPS receiver is attached to: /dev/ttyACM0 Should gpsd handle attached USB GPS receivers automatically? Yes Options to gpsd: -b -n
Otestování synchronizace lze provést podle návodu. Obvykle ale stačí spustit ntpstat.
ntpstat unsynchronised polling server every 128 s
Adresáře pro ukládání záznamů a konfigurace stanice
Záznamy a konfigurace stanice se ukládají do ~/bolidozor
.
mkdir -p ~/bolidozor/station/snapshots mkdir -p ~/bolidozor/station/meteors mkdir -p ~/bolidozor/station/data cp ~/repos/radio-observer/Bolidozor.json ~/bolidozor/station/Bolidozor.json
Poslední příkaz nakopíruje výchozí konfiguraci radio-observer
u do ~/bolidozor/station/Bolidozor.json
, kde jí očekává startovací skript. Po nakopírování je třeba na tomto řádku změnit název stanice. (V odkazu je název stanice debug
.)
Na staničním počítači je vhodné zapisovat záznamy na SD kartu, která se připojí přes ~/bolidozor
. V tom případě je třeba obsah připraveného adresáře ~/ionozor
nakopírovat do kořenu SD karty, která se bude používat. Toto řešení je vhodné kvůli tomu, že se tím ušetří zápisy na drahou eMMC kartu ze které staniční počítač bootuje. SDkarta je oproti tomu mnohem levnější a při jejím poškození není omezena základní diagnostika stanice.
Příprava SDkarty
Novou SDkartu naformátujeme na souborový systém F2FS. K tomu potřebujeme systému nainstalovanou podporu souborového systému F2FS. To se zařídí instalací balíku f2fs-tools.
sudo apt install f2fs-tools
Formátování média provedeme některým ze standardních způsobů formátování
Naformátovanou SDkartu pak připojíme do adresáře ~/bolidozor
a nastavíme souborová práva pro přístup i jinými uživateli než root. Což provedeme následujícími příkazy, kde se předpokládá, že naformátovaná SDkarta je zařízení /dev/mmcblk1p1
sudo mount -t f2fs /dev/mmcblk1p1 ~/bolidozor/ sudo chgrp -R odroid bolidozor sudo chown -R odroid bolidozor
Následně při namountované kartě vytvoříme složky pro data.
mkdir -p ~/bolidozor/station/snapshots ~/bolidozor/station/data ~/bolidozor/station/meteors
Pak je potřeba inicializovat konfiguraci stanice. Obvykle je nejsnazší si vypůjčit konfiguraci nějaké nové nebo původní stanice a tu upravit. Například:
cd ~/bolidozor/station/ wget http://space.astro.cz/bolidozor/svakov/SVAKOV-R12/Bolidozor.json wget http://space.astro.cz/bolidozor/svakov/SVAKOV-R12/bus_config.py
Spuštění po startu
Protože se většina stanic instaluje na počítač zvaný Odroid, jehož výchozí uživatel se jmenuje odroid
, předpokládá následující, že se tak jmenuje i uživatel, pod kterým bude běžet staniční software. Dosaďte za odroid
správné jméno, pokud to tak není.
Do /etc/rc.local
je třeba zapsat, co se má spustit po startu. Na všech stanicích by se mělo spustit /home/odroid/repos/station-supervisor/start.sh
, což nastartuje všechen staniční software. Protože má staniční software běžet pod uživatelem odroid
, bude celý příkaz ke zkopírování vypadat takto:
su odroid /home/odroid/repos/station-supervisor/start.sh
Pokud se mají na Odroidu zapisovat záznamy na SD kartu, mělo by se ještě před start.sh
spustit také /home/odroid/repos/station-supervisor/mount-sd-card.sh
, což kartu připojí přes /home/odroid/bolidozor
.
Příkazy by se do rc.local
měly přidat před exit 0
, které tak zůstane na konci. Příklad /etc/rc.local
po úpravě:
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. /home/odroid/repos/station-supervisor/mount-sd-card.sh su odroid /home/odroid/repos/station-supervisor/start.sh & exit 0
Odebrání nepotřebných komponet systému
sudo apt-get remove blueman-applet