AROM webUI je grafické rozhraní pro ovládání systémů postavených na ROS a AROM. Program využívá webový framework python-tornado.
Pro komunikaci s ROS nody jsou využity websokety a rosbridge server.
Instalace závislostí:
sudo apt install python-tornado python-psutil python-bson ros-kinetic-rosauth python-twisted
funkční 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 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 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.
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 NGINX serveru je to na portu 80.
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ů.