OpenSensorHub Core Modules
Branch: master
Clone or download
Pull request Compare This branch is 497 commits ahead, 3 commits behind sensiasoft:master.
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib-ows @ 0a2787b Fixed for sending binary SWE data within XML InsertResult request Feb 11, 2019
lib-sensorml @ d4afa27
lib-swe-common @ c23fb1d
sensorhub-tools Prevent resource leaks + other small fixes (sonarqube) Apr 20, 2017
sensorhub-webui-core Avoid crashing when IModuleProvider class is invalid in service config Jan 17, 2019
.gitignore Updated Gradle version and .gitignore for IJ Sep 15, 2017
.gitmodules Added submodule to connect to OGC libraries Oct 29, 2014
LICENSE Initial commit Oct 29, 2014 Update Apr 10, 2017
build.gradle Fixed aggregate javadoc build Oct 9, 2017
release.gradle Disable SonarQube processing Oct 11, 2018


Build Status GitHub Release

OpenSensorHub (OSH) software allows one to easily build interoperable and evolutive sensor networks with advanced processing capabilities and based on open-standards for all data exchanges. These open-standards 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 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, Wifi, 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.

OSH embeds the full power of OGC web services (Sensor Observation Service or SOS, Sensor Planning Service or SPS) to communicate with all connected sensors in the network as well as to provide robust metadata (owner, location and orientation, calibration, etc.) about them. Through these standard, several SensorHub 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 multi-threaded and can thus benefit from a more powerful hardware platform (e.g. multi-processor servers or even clusters).


OpenSensorHub is licensed under the Mozilla Public License version 2.0.


Refer to the Documentation Site for instructions on how to install and use OSH, as well as get the latest news.

You can also go to this Demo Page to see OSH in action with a few example sensor streams (Video, GPS, orientation, weather, etc.) visualized within simple javascript clients.

This other Technical Page contains example SWE service calls for you to see the standard compliant XML and data that OSH generates.


OpenSensorHub can be built using Gradle either from the command line or within Eclipse. Please see the Developer's Guide for detailed instructions.


Refer to the Developer's Guide for instructions on how to setup your development environment in Eclipse.

You can also find useful information in the Javadocs and Design Documentation on the Wiki.

Several sensor driver examples are also available in the source code to help you get started.