Uživatelské nástroje

Nástroje pro tento web


cs:isms

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.


Předchozí verze
cs:isms [Unknown date] (aktuální) – upraveno mimo DokuWiki (Unknown date) 127.0.0.1
Řádek 1: Řádek 1:
 +====== 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í [[cs:i2c|I²C]], které pak díky knihovně [[cs:pymlab|Pymlab]] a použití moderních [[cs:arm|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í.
 +
 +{{ :cs:designs:measuring:industrial_sensors_measurement_system.png?600 | Průmyslový měřící systém využívající jednodeskové počítače a sběrnici I2C. }}
 +
 +===== Vlastnosti =====
 +
 +  * Připojení průmyslových čidel s rozhraním proudová smyčka 4-20mA, nopěťový výstup 0-10V, [[https://cs.wikipedia.org/wiki/Modbus|Modbus]]
 +  * Ethernet rozhraní, volitelně jiné připojení, například [[cs:gsm|GSM]]
 +  * Možnost připojení do Internetu a odesílání dat na server.
 +
 +
 +===== 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 [[cs:pymlab|pymlab]]. Tím vzniká datový záznam v podobě CSV sobouru. Čas souboru je v [[https://en.wikipedia.org/wiki/Unix_time|Unixtimestamp]] Formát je následující.
 +
 +  #Time, PH1, Temp1, Conduct1, O2,,,,,,,
 +
 +==== Proudová smyčka ====
 +
 +Proudovou smyčku zařízení čte modulem [[cs:vcai2c|]], který má softwarový ovladač v knihovně [[cs:pymlab|]].
 +
 +==== Modbus ====
 +
 +[[https://cs.wikipedia.org/wiki/Modbus|Modbus rozhraní]] je v přístroji implementováno pomocí Python knihovny [[http://minimalmodbus.readthedocs.io/en/master/index.html|MinimalModbus]].
 +
 +
 +===== Použité moduly =====
 +
 +  * [[cs:inputuni|]]
 +  * [[cs:upconv|]]
 +  * [[cs:vcai2c|]]
 +  * [[cs:i2cdiff|]]
 +  * [[cs:i2chub|]]
 +  * [[cs:unipower|]]
 +  * [[cs:batpower|]]
 +  * [[cs:supercap|]]
 +  * [[cs:odroid-c1|]]
 +  * [[cs:gsm|]]
 +
 +====== Instalace software ======
 +
 +Instalace předpokládá staniční počítač [[cs:odroid-c1|ODROID-C1]] s běžícím systémem Ubuntu 16.04 minimal [[http://odroid.in/ubuntu_16.04lts/|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á [[cs:sw:os|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 [[https://en.wikipedia.org/wiki/F2FS|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ě [[cs:registration|registrace stanice]]. 
 +
 +
 +==== Použití vzdáleného přístupu ====
 +
 +<WRAP center round info 60%>
 +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.
 +</WRAP>
 +
 +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 [[cs:sw:os|]].
 +
 +
 +
 +
 +
 +===== Spuštění po startu =====
 +
 +<WRAP info>
 +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í.
 +</WRAP>
 +
 +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ý [[cs:gsm|GPRS modem]].
  
cs/isms.txt · Poslední úprava: 2017/10/30 12:46 (upraveno mimo DokuWiki)