User Tools

Site Tools

Translations of this page?:

en:image-c2

This is an old revision of the document!


FIXME This page is not fully translated, yet. Please help completing the translation.
(remove this paragraph once the translation is finished)

Preparing a station’s image with ODROID-C2 and SDR-widget

A prerequisite is a computer with a working operating system Ubuntu 16.04.LTS. Computer’s architecture can be either ARM or Intel. Both cases are identical to the way of connecting further hardware such as I²C.

$ sudo apt-get install build-essential cmake libusb-dev 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 git libhidapi-hidraw0 libhidapi-libusb0 libusb-1.0-doc curl python-websocket

I2C

git clone https://github.com/MLAB-project/i2c-tools.git
cd i2c-tools
make EXTRA="py-smbus"
sudo make install
cd py-smbus
sudo python setup.py install
sudo ldconfig
$ mkdir ~/repos 
$ cd ~/repos
$ git clone https://github.com/MLAB-project/pymlab
$ cd pymlab
$ sudo python setup.py develop

In case of Odroid-C2, I²C has to be made work by a correct entry into /etc/modules’’, as described at 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 ===== ==== Loading the firmware ==== To load the firmware, you need an adjusted dfu-programmer, that can be downloaded in a following way: sudo apt-get install autotools-dev automake git clone https://github.com/MLAB-project/dfu-programmer-sdr-widget.git cd dfu-programmer-sdr-widget/ ./bootstrap.sh ./configure make sudo make install Precompiled version of Bolidozor firmware can be downloaded from: wget https://github.com/MLAB-project/sdr-widget/releases/download/bolidozor-v01/widget.elf Before running the recording script, press RESET button on AVR32TQ board and release it again. Next, press BOOT button (unlabelled button, hold it pressed until the next press and release of RESET). In this way, you activate the internal boot loader MCU. Then, the firmware loading can be run by a following command from dfu-programmer-sdr-widget folder. sudo ./program-widget widget.elf ==== Checking the configuration ==== After a correct loading of the firmware, the sdr-widget hardware will become visible on USB and VID and PID will be set to fffe:0007’’. This setting will also be visible when running the configuration tool (it cannot be changed, it is fixed for a specific Bolidozor firmware version).

Konfigurace SDR-widget hardware.

System software

To read data from sdr-widget hardware, use the tools from signal-piping-tools repository.

$ cd ~/repos
$ git clone https://github.com/MLAB-project/signal-piping-tools.git
$ cd signal-piping-tools
$ make

Setting the user rights

The default user rights setting do not enable a direct communication with USB devices via libusb. User rights can be altered by creating a proper file in /etc/udev/rules.d/ , as follows:

$ sudo su
# curl https://raw.githubusercontent.com/borgestrand/sdr-widget/d4cc8700429bc1acef826f46d8e40df04e1f6e1c/etc/sdr-widget.rules > /etc/udev/rules.d/sdr-widget.rules
# exit

Now it is necessary to unplug and plug the USB device again. Then you can use libusb even from a standard user account.

radio-observer

$ 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

data-uploader

A programme providing a sending of recorded data can be installed following a guide at Upload system for measured data from stations.

Setting station’s time

Change the system time zone to UT.

sudo dpkg-reconfigure tzdata

Sometimes it is also necessary to generate a local setting, e.g.:

sudo locale-gen cs_CZ.UTF-8

Time synchronisation NTPd

Time synchronisation requires a daemon that handles the GPS socket for NTP (??který se stará o GPS povolit socket pro NTP).

It can be done in /etc/ntp.conf file

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.

Příprava SDkarty

Novou SDkartu naformátujeme na souborový systém F2FS. K tomu potřebujeme do systému nainstalovat podporu souborového systému F2FS.

sudo apt install f2fs-tools gparted

Pak můžeme programem Gparted naformátovat SDkartu na souborový systém F2FS, který je optimalizovaný pro paměťová media s omezeným počtem zápisů. Lze to ale udělat i přes příkazový řádek následujícím postupem:

sudo mkfs.f2fs /dev/mmcblk1p1

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.

sudo mount -t f2fs /dev/mmcblk1p1 ~/bolidozor/
sudo chgrp -R odroid bolidozor
sudo chown -R odroid bolidozor

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.)

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

Automatické aktualizace

Z bezpečnostních důvodů je vhodné nechat aktivovanou automatickou aktualizaci balíků. Ta je nastavena v souboru /etc/apt/apt.conf.d/10periodic. Do něj stačí zapsat následující konfiguraci:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

Pak ještě aktivujeme nastavení odkomentováním potřebných řádků v souboru /etc/apt/apt.conf.d/50unattended-upgrades

// Automatically upgrade packages from these (origin:archive) pairs
Unattended-Upgrade::Allowed-Origins {
	"${distro_id}:${distro_codename}";
	"${distro_id}:${distro_codename}-security";
	"${distro_id}:${distro_codename}-updates";
//	"${distro_id}:${distro_codename}-proposed";
//	"${distro_id}:${distro_codename}-backports";
};

Podrobný návod na Ubuntu wiki

en/image-c2.1551607299.txt.gz · Last modified: 2019/03/03 10:01 by fluktuacia