Project

General

Profile

Statistics
| Branch: | Revision:

gdp-if / README.md @ master

History | View | Annotate | Download (3.32 KB)

1 9859b1dc Eric Allman
<!-- Use "pandoc -sS -o README.html README.md" to process this to HTML -->
2
3
GLOBAL DATAPLANE INTERFACES
4
===========================
5
6
This directory contains source code for various interfaces to the
7
Global Dataplane (GDP).  For these to compile, this directory must
8
be located in the same directory as the GDP code, that is, the
9
directory structure must look as so:
10
11
	src/gdp
12
	src/gdp-if
13
14 dc9bf6aa Nitesh Mor
You should read the GDP README as well as this one. Some of the
15
interfaces below are based on C API, while the others are based 
16
on Python API. It is very likely that individual interfaces require
17
several other dependencies that you would not otherwise need for
18
the core GDP code.
19 9859b1dc Eric Allman
20
Various interfaces defined here include:
21
22 198bf53c Nitesh Mor
## accessors
23
GDP accessors for log creation, append, read and subscribe via a gateway. The
24
gateway is the REST interface for creation, append and read. For subscription,
25
we use websockets.
26
27 9859b1dc Eric Allman
## audio
28 dc9bf6aa Nitesh Mor
This is really a proof-of-concept for *raw* audio storage and playback
29
to a GDP log, using the Python interface. This is rather limited to raw
30
audio because of the simplicity of the format and no additional
31
requirement for a complicated codec.
32 9859b1dc Eric Allman
33
## bokeh-vis
34
This does data visualization based on the Bokeh package.  It is
35
general purpose, but it requires that the URL encode all the details
36
of the visualization.  Hence, without a wrapper, it's not really
37
usable by most users.
38
39 aab7a094 Nitesh Mor
## gstreamer-log-plugin
40
A proof-of-concept plugin for GStreamer. This is primarily to handle
41
streaming multimedia with GDP. Contains a GDP source and sink element.
42
43 9859b1dc Eric Allman
## i3mote
44 dc9bf6aa Nitesh Mor
This is a set of scripts to talk to the TI mote using CoAP. This relies
45
on sample client binary available as part of `libcoap`, which is
46
treated as a black-box, as opposed to *mqtt-gateway* (see below), which
47
links against the mosquitto library and requires one to be aware of
48
how to use the library (as opposed to any arbitrary binary executable).
49 9859b1dc Eric Allman
50
## ifttt
51 dc9bf6aa Nitesh Mor
Some simple hooks to IFTTT Maker channel. It implements a *trigger* and
52
an *action* based on events on a specific GDP log. In IFFTT terminology,
53
trigger is used to send message to other channels/devices using IFTTT;
54
an action is to receive data from other channels/devices.
55 9859b1dc Eric Allman
56
## mqtt-gateway
57
Contains code to read an MQTT broker and write the corresponding data
58
to the GDP.  These are primarily for the U. Michigan BLE-based sensors,
59
although this code should be fairly general purpose.  The installation
60
scripts however will need to be adjusted for another purpose.
61
62
## rest-gateway
63 dc9bf6aa Nitesh Mor
This directory contains the code for starting a web-service that
64
allows you to publish data to a log using a REST interface. Make sure
65
that you understand the security consequences of this, and do not
66
simply assume that you will get all the security guarantees that GDP
67
attempts to achieve.
68 9859b1dc Eric Allman
69
## rest-query
70 dc9bf6aa Nitesh Mor
This directory contains the code for starting a web-service that
71
allows one to query data from a given log using a REST interface.
72 9859b1dc Eric Allman
73 a66fef5e Nitesh Mor
## robotic-arm
74
A quick interface for a robotic arm: an actuator for the GDP.
75
76 9859b1dc Eric Allman
## visualization
77 dc9bf6aa Nitesh Mor
Basic visualization of time series data from a GDP log. This uses
78
Google Charts API as opposed to Bokeh-based visualizer, and is rather
79
limited in features.
80 9859b1dc Eric Allman
81 aab7a094 Nitesh Mor
## websocket-subscriber
82
A websocket based subscription gateway for enabling limited platforms
83
(such as a web-browser) to get subscription data in realtime.
84 9859b1dc Eric Allman
85
<!-- vim: set ai sw=4 sts=4 ts=4 : -->