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