Technologies#

Introduction#

The system 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.

Details#

Infrastructure components#

  • Kotori, a data acquisition, graphing and telemetry toolkit

  • Grafana, a graph and dashboard builder for visualizing time series metrics

  • InfluxDB, a time-series database

  • Mosquitto, an MQTT message broker

  • MongoDB, a document store (optional) ¹²

¹ MongoDB is only required when doing CSV data acquisition, so it is completely
optional for regular operations of Kotori.
² As MongoDB - strictly speaking - stopped being free software recently (2018/2019),
it will probably be phased out gradually and replaced by PostgreSQL.

Supported protocols#

  • MQTT, a lightweight, publish-subscribe, machine to machine network protocol.

  • HTTP, the ubiquitous application layer protocol for distributed, collaborative, hypermedia information systems.

  • WebSocket, a computer communications protocol, providing full-duplex communication channels over a single TCP connection.

  • WAMP, a WebSocket subprotocol offering routed RPC and PubSub.

  • Socket-based TCP, UDP.

Runtime components#

  • Twisted, an event-driven network programming framework

  • Autobahn, open-source implementations of the Web Application Messaging Protocol (WAMP)