Skip to main content

Introduction

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 standards from the Sensor Web Enablement (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, SPI,I2C, USB, Ethernet , Wi-Fi, Bluetooth, ZigBee , HTTP , 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 (Connected Systems API, SensorThings API) and web services (Sensor Observation Service or SOS, Sensor Planning Service 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®, Java ME® or Android® while more advanced data processing capabilities are fully multithreaded and can thus benefit from a more powerful hardware platform (e.g. multiprocessor servers or even clusters).

The core of OpenSensorHub is pure Java software, but we have other parts of this software in the family of OSH Connect libraries.

Please report all problems related to OpenSensorHub software including documentation errors via the GitHub Issue Tracker of the corresponding repository.