From cdc76df16f97580b8cdcfab819b41c32eea6bb9d Mon Sep 17 00:00:00 2001 From: Jan-Piet Mens Date: Tue, 15 Sep 2015 09:36:41 +0200 Subject: [PATCH] add diagram --- README.md | 2 ++ assets/ot-recorder.png | Bin 0 -> 34944 bytes 2 files changed, 2 insertions(+) create mode 100644 assets/ot-recorder.png diff --git a/README.md b/README.md index 44ddd82..f2be734 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ The _OwnTracks Recorder_ is a lightweight program for storing and accessing location data published via MQTT by the [OwnTracks](http://owntracks.org) apps. It is a compiled program which is easily installed and operated even on low-end hardware, and it doesn't require external an external database. It is also suited for you to record and store the data you publish via our [Hosted mode](http://owntracks.org/booklet/features/hosted/). +![Architecture of the Recorder](assets/ot-recorder.png) + There are two main components: the _recorder_ obtains, stores, and serves data, and the _ocat_ command-line utility reads stored data in a variety of formats. ## `recorder` diff --git a/assets/ot-recorder.png b/assets/ot-recorder.png new file mode 100644 index 0000000000000000000000000000000000000000..04c3151b90036a64dc454ec12fe44568433fb29d GIT binary patch literal 34944 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

^rZV6qT;Lg(Hc6?L3#GVWzkzt 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 gwub4mS|INAEycmGM)78&qol`;+0M;i56#xJL literal 0 HcmV?d00001