Uživatelské nástroje

Nástroje pro tento web


cs:robozor:arom_webui

Rozdíly

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


Předchozí verze
Poslední revize
cs:robozor:arom_webui [2018/04/21 09:52] – [Instalace] roman
Řádek 1: Řádek 1:
 +====== AROM, webUI ======
 +
 +AROM webUI je grafické rozhraní pro ovládání systémů postavených na ROS a [[cs:robozor:arom|AROM]]. Program využívá webový framework python-tornado.
 +
 +
 +{{youtube>ETYMBkyXK5w?medium}}
 +
 +Pro komunikaci s ROS nody jsou využity websokety a rosbridge server.
 +
 +=====Instalace=====
 +Instalace závislostí:
 +  sudo apt install python-tornado python-psutil python-bson ros-kinetic-rosauth python-twisted
 +funkční [[cs:ros|ROS]]
 +
 +
 +Stažení AROM_webUI z GitHub repozitáře:
 +  mkdir ~/repos
 +  cd repos
 +  git clone git@github.com:Robozor-network/arom-web_ui.git
 +
 +Protože webové rozhraní obsahuje různé knihovny třetích stran, získáte je stažením git submodulů
 +  cd ~/repos/arom-web_ui
 +  git submodule init
 +  git submodule update
 +  
 +
 +<WRAP center round important 85%>
 +Rosbridge z oficiálního repozitáře obsahuje chybu, která se projevuje výrazným zpomalením přenosu zpráv. Tato chyba je opravena v jeho [[https://github.com/roman-dvorak/rosbridge_suite.git|forku]].
 +</WRAP>
 +
 +Instalace RosBRIDGE s opravenou chybou:
 +  cd ~/arom_ws/src
 +  git clone git@github.com:roman-dvorak/rosbridge_suite.git
 +  cd ~/arom_ws
 +  catkin_make
 +
 +Webové rozhraní umožňuje zapínat a ukončovat nody. Pro správné fungování je potřeba nastavit globální zavádění cest projektu do terminálu
 +
 +Na konec souboru ''/etc/bash.bashrc'' a ''~/.bashrc'' je potřeba přidat a zrestartovat terminál (spustit nový)
 +
 +  . /home/odroid/arom_ws/devel/setup.sh
 +
 +
 +Pro plné fungování celého rozhraní na jednom portu (80) je vhodné rozfungovat a nakonfigurovat [[cs:robozor:nginx|NGINX]] reverzní proxy server.
 +
 +Dále je potřeba mít připravený soubor ''~/robozor/users.json'', ve kterém jsou uloženy uživatelské účty. Pro začátek vytvořte soubor s následujícím obsahem
 +
 +  {
 + "guest":{
 + "login": "guest",
 + "name": "Guest",
 + "pass": "084e0343a0486ff05530df6c705c8bb4",
 + "level": 0
 + },
 + "admin":{
 + "login": "admin",
 + "name": "Admin Admin",
 + "pass": "21232f297a57a5a743894a0e4a801fc3",
 + "level": 10
 + }
 +  }
 +
 +Heslo je s výchozím nastavení zahashováno pomocí MD5.
 +===== Spuštění =====
 +Webový server se spustí skriptiem ''web.py'', který je umístěn v ''~/repos/arom-web_ui/src/aromweb''. Výchozí port je 8888 a je ho možné upravit při spouštění parametrem ''-p=8888''. Před spuštěním samotného webového serveru je vhodné mít spuštěný ''roscore'' a rosbridge z upraveného repozitáře 
 +
 +V jednom terminálu spusťte:
 +  roslaunch rosbridge_server rosbridge_websocket.launch
 +
 +a v dalším:
 +  cd ~/repos/arom-web_ui/src/aromweb
 +  python web.py
 +
 +Nyní by na portu 8888 mělo být vidět webové rozhraní AROMu. V případě rozfungovaného [[cs:robozor:nginx|NGINX]] serveru je to na portu 80.
 +
 +
 +===== Webové rozhraní pro nod =====
 +
 +Každý nod si může do "rosparam" zaregistrovat svou "feature", což je webový widget. Těchto widgetů může mít jeden nod více a je jsou na nodu nezávislé. Proto je možné jeden widget použít pro více různých nodů.
  
cs/robozor/arom_webui.txt · Poslední úprava: 2018/04/21 09:52 (upraveno mimo DokuWiki)