Skip to content
A flexible data historian based on InfluxDB, Grafana, MQTT and more. Free, open, simple.
Python CSS C JavaScript HTML PHP Other
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.crossbar
clients Groom documentation Mar 10, 2020
doc Minor documentation update Mar 12, 2020
etc Improve documentation Mar 11, 2020
kotori Refactoring and documentation Mar 12, 2020
packaging Add packaging for Ubuntu 18 Bionic Beaver Mar 4, 2020
test Refactoring and documentation Mar 12, 2020
.bumpversion.cfg Bump version: 0.24.4 → 0.24.5 Mar 3, 2020
.dockerignore Adjust packaging again Mar 3, 2020
.gitignore Adjust packaging Mar 3, 2020
CHANGES.rst
CONTRIBUTORS.rst Improve documentation Mar 11, 2020
LICENSE Improve license file jungle Mar 3, 2019
MANIFEST.in Fix packaging re. missing resources Mar 31, 2017
Makefile Refactoring and documentation Mar 12, 2020
README.rst Improve documentation Mar 11, 2020
THIRD-PARTY-NOTICES.rst Improve license file jungle Mar 3, 2019
Vagrantfile Adjust packaging Mar 3, 2020
agpl-3.0.txt Add license, tune packaging and package publishing, update documentation May 22, 2016
eupl-1.2.txt Add license EUPL 1.2 May 23, 2016
pytest.ini Add test for legacy MQTT topic suffix Mar 11, 2020
requirements-dev.txt Different improvements and fixups Mar 10, 2020
requirements-docs.txt Update documentation, now using "Material for Sphinx" theme Mar 9, 2020
requirements-release.txt Different improvements and fixups Mar 10, 2020
requirements-test.txt Different improvements and fixups Mar 10, 2020
requirements.txt
setup.py Groom documentation Mar 10, 2020

README.rst

Kotori

https://assets.okfn.org/images/ok_buttons/ok_80x15_red_green.png https://assets.okfn.org/images/ok_buttons/oc_80x15_blue.png https://assets.okfn.org/images/ok_buttons/os_80x15_orange_grey.png

Chart recorder

Telemetry data acquisition and sensor networks for humans.


Documentation: https://getkotori.org/

Source Code: https://github.com/daq-tools/kotori/

Status:


At a glance

Kotori is a data historian based on InfluxDB, Grafana, MQTT and more. Free, open, simple.

It is a telemetry data acquisition, time series data processing and graphing toolkit aiming to become a fully integrated data historian. It supports scientific environmental monitoring projects, distributed sensor networks and likewise scenarios.

The best way to find out more about Kotori is by looking at how others use it already. Enjoy reading about some examples where Kotori has been used.

Features

The key features are:

  • Multi-channel and multi-protocol data-acquisition and -storage.
  • Built-in sensor adapters, flexible configuration capabilities, durable database storage and unattended graph visualization out of the box.
  • Based on an infrastructure toolkit assembled from different components suitable for data-acquisition, -storage, -fusion, -graphing and more.
  • The system is used for building flexible telemetry solutions in different scenarios. It has been used to support conceiving data logging systems, test benches, sensor networks for environmental monitoring as well as other data-gathering and -aggregation projects.
  • It integrates well with established hardware-, software- and data acquisition workflows through flexible adapter interfaces.

Technologies

Kotori is based on a number of fine infrastructure components and technologies and supports a number of protocols in one way or another. Standing on the shoulders of giants.

Installation

Kotori can be installed through a Debian package, from the Python Package Index (PyPI) or from the Git repository. Please follow up to the corresponding installation instructions:

https://getkotori.org/docs/setup/

Examples

Data acquisition is easy, both MQTT and HTTP are supported.

First, let's define a data acquisition channel:

CHANNEL=amazonas/ecuador/cuyabeno/1

and some data to submit:

DATA='{"temperature": 42.84, "humidity": 83.1}'

MQTT:

MQTT_BROKER=daq.example.org
echo "$DATA" | mosquitto_pub -h $MQTT_BROKER -t $CHANNEL/data.json -l

HTTP:

HTTP_URI=https://daq.example.org/api/
echo "$DATA" | curl --request POST --header 'Content-Type: application/json' --data @- $HTTP_URI/$CHANNEL/data

Acknowledgements

Thanks to all the contributors who helped to co-create and conceive Kotori in one way or another. You know who you are.

License

This project is licensed under the terms of the AGPL license.

You can’t perform that action at this time.