AROM, webUI
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
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.
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 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ů.