Skip to content

opensensorhub/osh-core

 
 

Repository files navigation

OpenSensorHub

Build Status GitHub Release OpenSensorHub Discord

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 sensor and actuator 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 standards, 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).

License

OpenSensorHub is licensed under the Mozilla Public License version 2.0.

Using

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.

Building

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

Contributing

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.