OpenSensorHub

Introduction

What is it?

OpenSensorHub is a collaborative open source software package for supporting easy deployment and access to sensor, actuators and processes on the web.

It is compliant with OGC® SWE standards but also supports other IoT standards such as MQTT.

It can be used and extended to build smart and scalable sensor networks.

Licensed under Mozilla Public License v2.0.

Objectives

  • Implement the whole SWE vision: Dynamic, Generic
  • Enable Auto-Configuration of SWE service interfaces
  • Hide the complexity and make it easy to build on-top of SWE
  • Make it easy to develop new sensor drivers
  • Allow efficient live data streaming and stream processing
  • Support multiple platforms (especially embedded)
  • Not limited to SWE, Integrate with IoT protocols such as MQTT
  • Does not reinvent GIS tools but rather integrate with them

Main Features

  • Connect ANY sensor/actuator and store/view collected data
  • Deploy standard web services
    • Access archive data and/or live sensor data streams
    • Send commands to sensors and actuators
    • Process live streams or historical data
  • Interconnect OSH instances to form larger networks
    • ​Via classical HTTP services and WebSockets
    • Via IoT protocols (e.g. MQTT)
    • Via P2P overlay networks (roadmap)
  • Integrate with Mapping Servers (e.g. Geoserver)
  • Configure using modern web UI

Supported Platforms

Android
Tablets / Phones

Laptop / Desktop PC

Servers / Cloud

Raspberry Pi

and other Linux Boards

Arduino and other
µC boards
(C++ library)

Supported Web Standards

SensorML

SWE
Common

SOS

SPS

O&M

WebSocket

SSL

HTTP

MQTT

RelaxNG

TCP

UDP

RTSP

RTP

JSON

Connectivity

Security

Supported Authentication Methods

HTTP Basic, HTTP Digest, Client Certificate, OAuth

 

Optional SSL Encryption for HTTP and TCP

 

Fine-Grained Permission Based Access Control

  • Each module can define its own set of permissions
  • Permissions are then assigned to users and roles via pluggable realm implementation
  • Default realm implementation provided in core

 

TODO: Anti-Spoofing and better DoS protections

Reliability

Testing and Code Coverage

As much unit tests as possible

More automated tests of various OSH setups (CI)

 

Robustness to Connectivity Issues

Robustness to network outages

Robustness to device and service disconnections

 

Multi-Threading for Performance and Error Isolation

Each module runs in its own thread

24/7

The Bigger Picture

Field Operator with Tablet or Smart Phone

Mesh Sensor Network

OSH Instances

OSH Processing Capabilities

Data center with extended processing capabilities

Smart Energy

Smart City

Smart Home

Smart Car

CROSS DOMAIN

Local Hub (Gateway)

Existing Sensor Arrays

Local Workstation

UAV with on-board sensors

EO Satellites

Who is Involved?

Initiators of the project

     Mike Botts (Project Management)

      Alex Robin (Chief Architect and Core Developer)

Contributors

Innovative Research

Tony Cook (Sensor Drivers)

Mathieu Dhainaut (Javascript Toolkit)

Richard Becker (Javascript Toolkit, Security)

Radhaji Mani (Javascript Client)

Lee Butler (Sensor Drivers)

Sensiasoft

Sebastian Clarke (Sensor Drivers)

Chris Johnson (Testbeds)

Joshua Wolfe  (Sensor Drivers, JS Clients)

Ian Patterson (Sensor Drivers)

Where to Find Us?

Tutorials and Demo Videos on

Latest news on Twitter

Project Website and Blog

Documentation

Source Code and Releases on GitHub

OpenSensorHub - Intro

By Alex Robin

OpenSensorHub - Intro

Introduction to OpenSensorHub

  • 581