Obsah
Měřící systém pro průmyslové snímače
Pro připojení průmyslových měřících snímačů se nejčastěji používají normované analogové signály, nebo proudová smyčka 4-20mA. Výhodou použití proudové smyčky je možnost detekce chybových stavů snímače, jako je zkrat, nebo přerušení vedení.
Moderní zařízení však vyžadují digitalizaci měřených hodnot, proto byla navržena konstrukce ISMS01, která umožňuje převedení analogových signálů na rozhraní I²C, které pak díky knihovně Pymlab a použití moderních jednodeskových počítačů umožňuje připojení do složitých měřících sítí a systémů.
Blokové schéma měřící ústředny ISMS01A je následující.
Vlastnosti
Popis funkce
Na řídícím počítači běží operační systém Linux Ubuntu, společně s utilitou pro zápis dat pracující s knihovnou pymlab. Tím vzniká datový záznam v podobě CSV sobouru. Čas souboru je v Unixtimestamp Formát je následující.
#Time, PH1, Temp1, Conduct1, O2,,,,,,,
Proudová smyčka
Modbus
Modbus rozhraní je v přístroji implementováno pomocí Python knihovny MinimalModbus.
Použité moduly
Instalace software
Instalace předpokládá staniční počítač ODROID-C1 s běžícím systémem Ubuntu 16.04 minimal od Hardkernelu. Musí také v sytému existovat uživatel pod jehož účtem bude celá stanice běžet. Například uživatel „geozor“. Instalační postup je určen pro uživatele, který zná základy používání operačních systémů.
Nejdříve nainstalujeme potřebný software, který je v repozitářích Ubuntu.
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 autossh pv ntp python-paramiko git libpcap-dev
Pak můžeme stáhnout software, který je specifický pro MLAB měřící stanice:
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 geozor
cd ~/repos git clone https://github.com/bolidozor/data-uploader.git git checkout geozor
Dále potřebujeme obslužný program měřícího systému.
svn co svn://svn.mlab.cz/MLAB/Designs/Measuring_instruments/ISMS01A/SW ISMS01A
Příprava SDkarty
Na staničním počítači je dobré zapisovat záznamy na SD kartu, která se připojí do složky ~/geozor
. Toto opatření snižuje počet zápisů na eMMC kartu, ze které stanice bootuje a prodlužuje tak její životnost. Případně poškozenou SDkartu je pak i jednodušší vyměnit dílky nepoškozenému operačnímu systému stanice.
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ů.
Naformátovanou SDkartu pak připojíme do adresáře ~/geozor
a nastavíme souborová práva pro přístup i jinými uživateli než root.
sudo mount -t f2fs /dev/mmcblk1p1 ~/geozor/ sudo chgrp -R geozor geozor sudo chown -R geozor geozor
Následně při namountované kartě vytvoříme složky pro data.
mkdir -p ~/geozor/station/data
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
Vzdálený přístup na stanici
Pro případ, že bude potřeba servisní zásah na stanici, je vhodné aktivovat i reverzní ssh tunel, který může sloužit pro vzdálenou správu stanice.
To lze udělat spuštěním těchto příkazů:
wget http://space.astro.cz/bolidozor/support/scripts/setup_reverse_tunnel.sh chmod +x ./setup_reverse_tunnel.sh sudo ./setup_reverse_tunnel.sh
Skript nakonec vypíše nastavené parametry. Např.
Host radio-test.tunnel Port 4958 HostName space.astro.cz User testak1
Ty je potřeba zkopírovat a odeslat na stejnou adresu, jako v případě registrace stanice.
Použití vzdáleného přístupu
Pro vzdálený přístup je potřeba mít nahraný na serveru space.astro.cz veřejný ssh klíč počítače ze kterého se připojujeme.
Pro přístup k servisnímu rozhraní je třeba mít přístupové údaje na server space.astro.cz. Z něj je pak možné přistupovat ke stanici.
Postup připojení je následující:
ssh uzivatel@space.astro.cz
V případě že autentizace veřejným klíčem proběhne v pořádku, budete připojeni na server space.astro.cz. Na něm si můžete prohlížet svoje staniční data. Případně promazávat nehodnotná data, která byla do datového úložiště omylem zanesena.
K samotné stanici se pak připojíte příkazem
ssh odroid@geozor-vrty.tunnel
Stanice se pak zeptá na uživatelské heslo. Následně máme k dispozici příkazový řádek stanice. Pro základní informace o použití příkazového řádku je možné si pročíst stránku os.
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. pon gprs /home/geozor/repos/station-supervisor/mount-sd-card.sh su odroid /home/geozor/repos/station-supervisor/start.sh & exit 0
Aby fungoval příkaz „pon gprs“ tak je nejdříve potřeba mít správně nastavený GPRS modem.