Skip to content
Daniel Walnut edited this page Jul 28, 2018 · 2 revisions

HTTP and WebSocket Server

Node.js to Web interface

As mentioned before, the Node.js Application acts as a middle-man between the Robot and the Web Interface. In the previous section, its functionality as a TCP client was covered.

In order for this to be a true middle-man between the two, it needs to:

  • Host the web interface, so that it is accessible from a web browser
  • Be able to stream the measurements data with a high speed connection to enable real-time streaming.

Therefore, the Node.js Application will also act as a:

  • HTTP Server, to host the web interface
  • WebSocket Server, to perform real-time streaming. WebSockets was used because it is the fastest network communication API available for a Web Browser.

Web HMI — Web Human Machine Interface

Web Interface Diagram

The Web Interface is a Human Machine Interface between the Robot and the user.

Features include:

  • Remote Start Stop Button
  • Stations addressing through an intuitive drag-and-drop map
  • Robot tuning through many sliders in a settings panel
  • Choice of destination
  • Real-time graphical measurements display, for maximum intuitiveness
  • Exporting of Robot data to a CSV spreadsheet.

In order to keep the development of the interface organized, an MVC model (Model-View-Controller) was used as a basic software structure.

The interface is shown below:

Web Interface Demo Web Interface Demo

Clone this wiki locally