
hackystat-sensor-shell
The SensorShell is a "middleware" library that can be used by Java-based Hackystat clients to simplify collection and transmission of sensor data to a Hackystat SensorBase service.
The SensorShell provides the following facilities:
Data transmission. The SensorShell provides an object-oriented interface that makes it easy for Java-based sensors to specify what sensor data should be sent to a SensorBase server. The SensorShell takes care of the details of emitting the HTTP calls.
Data buffering. When a SensorData instance is "added" to a SensorShell, it is not immediately sent to the server. Instead, the instance is added to an internal list, and accumulated SensorData instances are sent in a single HTTP request when the SensorShell receives a "send" command.
Automated sending at user-defined intervals. The SensorShell provides a timer-based subprocess that sends accumulated SensorData at a regular intervals (by default, once per minute). Thus, while buffered transmission is intended to avoid excessive HTTP traffic, automated sending ensures that an excessive amount of data does not accumulate on the client-side.
Interactive shell interface. In addition to a Java API, the SensorShell implements an interactive, string-based command line interface. This enables the SensorShell to be invoked manually, as well as being useful as infrastructure for non-Java-based tools that can communicate with subprocesses.
Offline data storage. If the SensorBase cannot be contacted, the SensorShell can cache data locally until a connection is established at some future point in time.
Primary documentation includes the following:
| sensorshell.properties | Documents how to set up the sensorshell.properties file. | |:---------------------------------------------------|:---------------------------------------------------------| | User Guide | Documents how users can install this system from a distribution. | | Developer Guide | Documents how developers can install and build this system from sources. | | Release Notes | Provides summary of features added in each milestone release. | | SensorShell JavaDoc API Snapshot | Documents the internal design of this SensorShell implementation.|