-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathtether.yml
More file actions
96 lines (86 loc) · 2.73 KB
/
tether.yml
File metadata and controls
96 lines (86 loc) · 2.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
asyncapi: "2.4.0"
info:
title: Tether
version: "2.0.0"
description: |
A system for connecting stuff easily.
Note that as per AsyncAPI specification, `pub` means endpoints to you can publish *to*, and `sub` means endpoints you can receive *from*. In other words:
- Output Plugs === "subscribe"
- Input Plugs === "publish"
servers:
$ref: "#/components/servers"
defaultContentType: application/msgpack
channels:
"{agentType}/{agentIdOrGroup}/{plugName}":
description: A generic "plug" topic
parameters:
$ref: "#/components/parameters"
subscribe:
summary: Get some data
publish:
summary: Send some data
components:
servers:
test:
url: tether-io.dev
protocol: mqtt
description: Tether Test RabbitMQ Broker
variables:
username:
default: tether
port:
enum:
- "1883"
- "15675"
default: "1883"
basePath:
default: /ws
description: This path is needed for websocket connections only
local:
url: localhost
protocol: mqtt
description: Your local RabbitMQ or NanoMQ Broker
variables:
username:
default: tether
port:
enum:
- "1883"
- "15675"
default: "1883"
basePath:
default: /ws
description: This path is needed for websocket connections only
parameters:
agentType:
description: A name, typically in camelCase, to identify the "class" of the Agent, ie. common behaviour and plugs (input and output) are expected of every instance of this Agent.
schema:
type: string
agentIdOrGroup:
description: A unique ID for the Agent, or a label for a custom Grouping of Agents
schema:
type: string
plugName:
description: A short name, typically in camelCase, describing the input or output "plug", which is a short way of describing the type of data expected to be sent or received via this topic.
schema:
type: string
schemas:
trackedPoints2d:
description: A tracked "point" (could be a touch point, human being, object, etc.) with 2D coordinates, usually normalised in the range [0,1].
type: array
items:
type: object
required:
- id
- x
- y
properties:
id:
type: number
description: Index number of tracked point. In the case of "raw" tracked points from the Lidar Consolidator, these are not guaranteed to be consistent between frames, but for tether-smooth-tracking, they should be.
x:
type: number
y:
type: number
size:
type: number