Table of Contents

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.

Konfigurace SDR-widget hardware.

$ 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-observeru 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