====== 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 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]]. 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ů.