Remote Browser-based Monitor & Control (RoboScope)

RoboScope
Introduction

RoboScope is a lightweight browser based remote monitor and control application. It provides the following key features:

  • Allows real-time signal monitoring from any OS using common browsers.
  • Provides user adjustable streaming graphics for visual feedback.
  • Stores configuration information via SQL relational database structure.
  • Automatically resizes for various monitors and mobile platforms.
  • Readily applicable to other remote monitoring or data analysis applications.
Real Time Imaging

RoboScope supports real time imaging of concurrent graphs over a browser interface at a variable frame rate using standard web browsers on commodity hardware platforms. The interface provides real time streaming of RF receiver status as complex eye patterns, constellations, power spectral density plots, bar graph plots, frequency, lock status indications, configuration and control for a high performance aeronautical telemetry receiver.

Bargraph Content

In addition to the real time graphics, additional real time graphics are presenting including bargraph information, frequency lock status, and current operating channel frequency.  This information presented in the web user interface is fully customizable and modular. To reduce network loading during the execution of RoboScope, additional metadata is appended or piggy-backed onto the retrieved images files which includes bargraph ranges, current bargraph level, frequency lock status, and current receiver frequency.

Network Summary

RoboScope provides a network summary page displaying real time information for all similar devices found in the network. This page provides summary information for all network accessible devices from a centralized web page, and allows for navigating to the web pages for a selected device.  This allows the operator to view the summary details for all network devices, and then navigate to the web site for any other network accessible device to obtain device details.  The network summary page is presented in HTML table format and provides sortable columns to organize the results.

Mobile Device Support

The RoboScope user interface is based on using the Bootstrap/jQuery web framework, which provides a mobility first implementation that scales from desktops to mobile devices. Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.

User Input Validation

Both client and server side input validation is provided. Server side validation uses the standard Django Bootstrap based user interface alerts.  Client side validation occurs using Javascript warnings and help text for a particular user entry field.

Persistent Storage of User Settings

Loading and saving of user defined preset configurations to the current configuration is supported as well as importing and exporting of configuration to/from external JSON formatted files. This permits storing and using a single device’s configuration as the master, and cloning additional devices from the master configuration to duplicate settings quickly.

REST API

RESTful web services or RESTful APIs are becoming a popular technology as an alternative to SNMP Management. RoboScope provides a custom RESTful API interface to provide real-time status, command and control, which permits integrated systems, automated test equipment and custom UIs to utilize the RoboScope.

Concurrent Editing Solution

Ever encounter a scenario where two web users make configuration changes, and user A overrides user B’s changes? The RoboScope page lock feature secures your configuration changes so that no one can make changes to it or erase your changes. The page lockout scheme ensures the integrity of changes from multiple concurrent web users for writable web pages. The web interface provides a web page for viewing and controlling page locking. This web page provides indication of the lock status for each page, the lock owner by IP address, the duration that the lock was held, and controls for administratively removing page locks. A timeout mechanism is implemented on a page lock such that another user can acquire a page lock which has been left locked for too long.

Architecture

A typical two-tier web enabled product architecture consists of an application tier and the web interface tier sharing a common database. RoboScope implements the web interface tier, providing an embedded web application server with web content.  RoboScope is typically paired on the same physical platform with a back-end application tier responsible for the generation of image content and network messaging. RoboScope communicates with the application tier through a SQLite database and database triggers. The database schema used for the SQLite database is customizable to a customer’s requirements providing system modularity.

Image generation is external to RoboScope enabling this technology to support real time imaging of content other than RF receiver patterns. Since image generation is not contained within RoboScope proper, this technology  can be used and extended for viewing a broad range of real time streaming content. Image generation is in uncompressed bitmap file format.

Customization

RoboScope is implemented based on the popular Django/Python/SQLite based framework and uses HTML5, Ajax PUTS & GETS, CSS, Bootstrap, jQuery, browser local storage, and JavaScript technologies. The Django based web interface uses the Model–view–controller (MVC) software architectural pattern and runs as a FastCGI application to a lighttpd embedded web server. Customizing and extending the functionality of the RoboScope web architecture only requires some knowledge of the Django framework, SQLite, and experience with the Python language.

Benefits

For applications that require real time imaging, status and control, RoboScope provides a rapid entry point for embedded and desktop device manufacturers.

Advantages of “thin” client web based technology relative to “fat” or “thick” client technology includes the following:

  • Operating system independent.
  • No client installation or configuration is required other than a standard web browser.  This reduces the requirements on the client making it possible to use the application across a broader range of hardware and software platforms.
  • Long term stability and reliability. There is less need to keep up with device-specific technologies for the client.
  • Less intensive client side computing is needed, meaning more devices in more markets can run the program more easily.
  • Easier to manage.  As the functionality exists in the device itself, there is no client updates associated with software updates to the product.
  • Easier to track and fix bugs, resulting in cost savings on support for such issues.
  • Lower security risks. With less surface exposition and a more stable and reliable infrastructure, there are fewer scenarios in which security flaws can be exposed.

RoboScope is a cost effective option for manufacturers that are looking to move from external desktop fat client based control and status applications to thin client embedded web based technology. Converting to thin client technology reduces support issues typically associated with installation and support of fat client desktop control and status applications.

Customizing the RoboScope web framework is relatively easy to perform based on the use of the standard open source Django/Python/SQLite web framework underlying this technology.