OpenSensorHub (OSH) allows one to easily build interoperable and evolutive sensor networks, based on open-standards for all data exchanges, and providing advanced processing capabilities. The open-standards used are mostly OGC (opens new window) standards from the Sensor Web Enablement (opens new window) (SWE) initiative and are key to design sensor networks that can largely evolve with time (addition of new types of sensors, reconfigurations, etc.).
The Java framework allows one to connect any kind of sensors and actuators to a common bus via a simple yet generic driver API. Sensors can be connected through any available hardware interface such as RS232/422 (opens new window), SPI (opens new window), I2C (opens new window), USB (opens new window), Ethernet (opens new window), Wifi (opens new window), Bluetooth (opens new window), ZigBee (opens new window), HTTP (opens new window), etc... Once drivers are available for a specific sensor, it is automatically connected to the bus and it is then trivial to send commands and read data from it. An intuitive user interface allows the user to configure the network to suit its needs and more advanced processing capabilities are available via a plugin system.
OpenSensorHub embeds the full power of OGC web APIs (Sensor Web API, SensorThings API (opens new window)) and web services (Sensor Observation Service (opens new window) or SOS, Sensor Planning Service (opens new window) or SPS) to communicate with all connected sensors in the network and provide robust metadata (owner, location and orientation, calibration, etc.). Through these standards, several OpenSensorHub instances can also communicate with each other to form larger networks.
Low level functions of SensorHub (send commands and read data from sensor) are coded efficiently and can be used on embedded hardware running Java SE® (opens new window), Java ME® (opens new window) or Android® (opens new window) while more advanced data processing capabilities are fully multi-threaded and can thus benefit from a more powerful hardware platform (e.g. multi-processor servers or even clusters).
SensorHub is pure java software but we have plans to release parts of this software in other languages (Arduino, C++) to be used on low power micro-controllers (note that some more powerful ARM micro-controllers can also run the Java version directly using Java ME® (opens new window)).
Please report all problems related to OpenSensorHub software including documentation errors via the GitHub Issue Tracker (opens new window) of the corresponding repository.