Robostats

Robotstats is a platform to gather and display statistics for robots and other connected devices.

Robostats can also be used as a remote control to send signals to connected devices of the same kind, when a device receives this signal it can alter its behaviour and provide feedback.

general

You may see a development preview at dev.robostats.io. Use user@example.com / pass to enter, we didn't have any security precautions, so please don't hack us :-).

The API

api

The Robostats API provides tools for creating categories for your devices (or robot classes). Each class has its own API key, connected devices can use this API key to register themselves (as a robot instance).

A robot instance must create a session before adding events, a session is like a bucket to store actual device logs.

Different devices may produce different events and event values, that's why we use MongoDB as permanent storage, its ability to save schemaless documents can be used to store many different kinds of logs.

Client package

There is also a client package for Robostats that can be used as an example to communicate with the API.

Panel for analytics

frontend

The analytics panel provides an overview of all registered devices, organized by it's class. It allows users to register new device classes and get the generated api key for each class.

web-1

Selecting a device class users can drill down to a specific device, it's session (any period of activity) and finally, to a graph that shows all the events generated from that drone in a particular sesion.

web-2

web-3

Remote control

The remove control as not finished on time, we left it here as a reference for future implementation.

remote-control

The remote control is an application for Robostats that can be used to send signals to connected devices. Robostats only acts as a distribution hub for these commands.

The WIP implementation of the remote controller was an Android app.

android-1

You could use the app to log in into your account.

android-2

Using the remote control, you could choose a device class and send commands to all connected instances. These commands could vary, but we we're playing with a standard game-like pad.

android-3

Internal documentation

If you're interested on hacking the platform, you may want to read these resources:

License

Copyright 2015. The robostats authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Built With

Share this project:
×

Updates