SensLog is an open sensor data management solution to receive, store, manage, analyse and publish sensor data. SensLog is suitable for web as well as cloud environments. The SensLog is suitable for static in-situ sensors, sensors on mobile carriers and Volunteered geographic information (VGI) gathered by smart devices. SensLog stores data in relational data model and the used RDBMS is PostgreSQL with PostGIS spatial extension. SensLog data model is inspired by the ISO 19156 Observations&Measurements standard, but contains additional extensions mainly for user management and hierarchy of sensor network. SensLog is a modular solution where every module is designed as microservice, thus scalability of the solution is ensured.
SensLog provides REST API with JSON data encoding in proprietary format. Interoperability of the solution is improved by the system of Connectors. Connector is a component that translates REST API from different data publishers to SensLog REST API. SensLog is available under the 3-Clause BSD License. Source codes together with the user manual are available at: https://github.com/mkepka/senslog.
Web application is provided as a WAR file and runs in the Apache Tomcat container. REST API is provided on a given endpoint. SensLog provides REST API interface for the complete data flow receiving - publishing. It uses HTTP protocol and JSON data encoding for most of the services.
- SensLog receiver module - REST API for data receiving, HTTP GET or POST methods, JSON encoding
- SensLog publisher module - REST API for data publishing, HTTP GET method, JSON encoding
- SensLog SOS module - core methods of OGC SOS 1.0.0 specification for data publication, describing sensors, HTTP GET method, XML data encoding
- SensLog VGI module - REST API for receiving and publishing VGI data, HTTP GET or POST methods, mainly JSON data encoding, RDF encoding only for data publication