Web status page
(→Packages needed) |
(→Packages needed) |
||
Line 19: | Line 19: | ||
The web interface depends on a number of packages, as shown in figure 2. | The web interface depends on a number of packages, as shown in figure 2. | ||
− | [[File:block-diagram-web-server.png | 400px | + | [[File:block-diagram-web-server.png | 400px]] |
Figure 2. The client access the service by connecting a browser to the IP of the robot. The web server Nginx directs the connection to a fresh web socket for each client (port 8000, 8001, ..) serviced by the GUnicorn HTTP server. This HTTP server uses Flask as a service to render the web pages and allow a Python script to provide dynamic content. The dynamic content is obtained from ROS communication. | Figure 2. The client access the service by connecting a browser to the IP of the robot. The web server Nginx directs the connection to a fresh web socket for each client (port 8000, 8001, ..) serviced by the GUnicorn HTTP server. This HTTP server uses Flask as a service to render the web pages and allow a Python script to provide dynamic content. The dynamic content is obtained from ROS communication. |
Revision as of 15:12, 2 July 2018
Back to Flexbot main page
Contents |
Introduction
Installation and configuration of web status page.
Installation
Overview
The robot configuration includes a web server that allow "any" browser to connect to the robot and get status and rudimentary control of the robot.
Figure 1. The robot status web page interacting with the robot through a Python to ROS connection. The operator console is then just an ordinary web page (with some dynamic content based on Java script).
Packages needed
The web interface depends on a number of packages, as shown in figure 2.
Figure 2. The client access the service by connecting a browser to the IP of the robot. The web server Nginx directs the connection to a fresh web socket for each client (port 8000, 8001, ..) serviced by the GUnicorn HTTP server. This HTTP server uses Flask as a service to render the web pages and allow a Python script to provide dynamic content. The dynamic content is obtained from ROS communication.
So install:
sudo apt install nginx sudo apt install flask