====== VLF monitorovací stanice ======
Přístroj je určení pro monitorování signálu z VLF vysílačů pro síť [[http://www.ionozor.cz|Ionozor]]. Která je součástí [[cs:designs:dms|distribuovaných měřících systémů]] založených na stavebnici MLAB.
===== Aplikace =====
* [[https://en.wikipedia.org/wiki/Sudden_ionospheric_disturbance|Měření ionosférických poruch]]
* [[cs:lightning|]]
===== Konstrukce =====
Jeho základními konstrukčními částmi jsou analogový front-end, [[cs:sdr-widget|digitalizační jednotka]] a [[cs:odroid-c1|počítač]].
{{:cs:designs:vlfmon:vlfmon_receiver.png?600|}}
Digitalizační jednotka může pracovat buď v režimu standardní zvukovky a nebo v režimu [[https://github.com/alexlee188/ghpsdr3-alex|GHPSDR]] rozhraní. Tyto dvě funkce lze přepnout konfigurací software.
Na stanici je také integrován [[cs:gps|GPS přijímač]], který slouží k automatické lokalizaci stanice, synchronizaci systémového času a časovému značkování měřených dat.
===== Software =====
Detekční stanici by mělo být možné provozovat na několika různých softwarových balících.
* [[http://wiki.base48.cz/SID|SIDc]]
* [[http://gnuradio.org/|GNUradio]]
* [[http://abelian.org/vlfrx-tools/|VLF-Tools]]
* [[http://abelian.org/sid/]]
Zatím se používá program [[cs:radio-observer|radio-observer]], který vznikl v rámci projektu [[http://wiki.bolidozor.cz/|Bolidozor]]. V další etapě vývoje se předpokládá přechod na [[http://gnuradio.org/|GNUradio]].
====== VLFMON01A ======
===== Nastavení SDR-widget =====
{{:cs:designs:rmds:rmds02d_sdr-widget_settings.png?600|}}
===== Instalace =====
sudo apt-get install build-essential cmake libusb-1.0-0-dev i2c-tools python-smbus libusb-1.0 cython python-setuptools python-numpy python-cheetah libboost-all-dev libfftw3-dev libcfitsio-dev libjack-jackd2-dev libvolk1-dev autossh gpsd-clients buffer pv ntp python-paramiko
mkdir repos
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
cd station-supervisor/
git checkout ionozor
cd ~/repos
git clone https://github.com/MLAB-project/signal-piping-tools.git
cd signal-piping-tools
make sdr-widget servestream servecmd x_fir_dec
cd ~/repos
git clone https://github.com/bolidozor/data-uploader.git
Nastavení uživatelských práv k sdr-widget
$ sudo su
# curl https://raw.githubusercontent.com/borgestrand/sdr-widget/d4cc8700429bc1acef826f46d8e40df04e1f6e1c/etc/sdr-widget.rules > /etc/udev/rules.d/sdr-widget.rules
# exit
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
===== Adresáře pro ukládání záznamů a konfigurace stanice =====
Záznamy a konfigurace stanice se ukládají do ''~/ionozor''.
mkdir -p ~/ionozor/station/snapshots
cp ~/repos/radio-observer/Ionozor.json ~/ionozor/station/Ionozor.json
Poslední příkaz nakopíruje výchozí konfiguraci ''radio-observer''u do ''~/ionozor/station/Ionozor.json'', kde jí očekává startovací skript. Po nakopírování je třeba na [[https://github.com/MLAB-project/radio-observer/blob/feat/raw/Bolidozor.json#L36|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 ''~/ionozor''. V tom případě je třeba obsah hotové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 [[https://en.wikipedia.org/wiki/F2FS|F2FS]]. K tomu potřebujeme do systému nainstalovat podporu souborového systému F2FS. To se zajistí instalací balíku //f2fs-tools//.
sudo apt install f2fs-tools
Formátování média provedeme některým ze [[http://wiki.mlab.cz/doku.php?id=cs:sw:os#formatovani_medii|standardních způsobů formátování]]
Naformátovanou SDkartu pak připojíme do adresáře ''~/ionozor'' 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 ~/ionozor/
sudo chgrp -R odroid ionozor
sudo chown -R odroid ionozor
Následně při namountované kartě vytvoříme složky pro data.
mkdir -p ~/ionozor/station/snapshots
====== 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
===== 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
====== Výrobní Checklist ======
* GPS musí vidět družice se SNR alespoň 40 (ověřuje se spuštěním cgps)
* musí jít spustit celý řetězec pro zpracování signálu včetně radio-observeru
* Stanice musí být schopna synchronizovat systémový čas.
* Radio-observer musí ukládat data na SDkartu.
* Ukládané spektrogramy musí obsahovat signály VLF vysílačů.