Skip to content

Commit ac367c4

Browse files
committed
Update MQTT API descriptions
1 parent 79fdb78 commit ac367c4

File tree

9 files changed

+65
-155
lines changed

9 files changed

+65
-155
lines changed

docs/.vuepress/components/MqttTable.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
</template>
44

55
<script>
6-
import PacketsTable from "@shared/vue/components/rtls/PacketsTable";
6+
import PacketsTable from "@shared-front/vue/components/rtls/PacketsTable";
77
88
export default {
99
components: {

docs/.vuepress/config.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,8 @@ module.exports = {
182182
plugins: plugins,
183183
resolve: {
184184
alias: {
185-
"@shared": path.join(__dirname, "../../../backends/portal_backend/shared"),
185+
"@shared": path.join(__dirname, "../../../backend/shared"),
186+
"@shared-front": path.join(__dirname, "../../../frontends/shared-frontend"),
186187
}
187188
},
188189
module: {
@@ -397,7 +398,7 @@ function getFAQSidebar() {
397398

398399
function getAPISidebar() {
399400
return [{
400-
title: "Engine interface",
401+
title: "Live data interfaces",
401402
collapsable: false,
402403
children: [
403404
["/api/api_engine_local_mqtt", "Local MQTT JSON data"],
@@ -417,7 +418,7 @@ function getAPISidebar() {
417418
// },
418419
// {
419420
{
420-
title: "Device interface",
421+
title: "Device interfaces",
421422
collapsable: false,
422423
children: [
423424
["/api/api_console", "Console (CLI)"],

docs/api/README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,22 @@ There are different ways to integrate with the RTLOC system, depending on your n
66

77

88
## Real-time device data
9-
The position and sensor data for each device can be accessed in real-time in a few ways:
9+
The position and sensor data for each device can be accessed in real-time in the following ways:
1010

11-
* We provide direct **positioning and sensor data** in two formats: binary and JSON
12-
- **[`Binary format`](/api/api_application.html)** - Allows for fast and very compact transmission over TCP/UDP.
13-
- **[`JSON format`](/api/api_web.html)** - Receive data in JSON over direct websocket or through an MQTT broker (TCP or websocket).
11+
* **[`Local JSON over MQTT`](/api/api_engine_local_mqtt.html)**:
12+
- Easy to understand, easy to integrate JSON format
13+
- Pub/sub per topic type because of MQTT
14+
- Most-complete API with zone information, events
15+
- Access data over websocket from a browser (MQTT over websocket) or over TCP (MQTT over TCP) in a script or program
1416

15-
* This (binary or JSON) data can be accessed over TCP/UDP, websockets, or MQTT
16-
- [`Direct TCP/UDP/WS(S)`](/api/api_conns.html)
17-
- **[`MQTT`](/api/api_conns.html)** (over TCP or websocket)
17+
* **[`Cloud JSON over MQTT`](/api/api_engine_cloud_mqtt.html)**: Use your own broker to receive the above data
1818

19-
> MQTT can be connected to over TCP or (secure) websocket
19+
* **[`Binary over TCP`](/api/api_engine_local_bin.html)**:
20+
- Compact format, requiring some more decoding effort
21+
- Includes raw data direct from the engine, no zone/event/race data
2022

2123
## Meta data
2224

23-
* Access **meta information** about your projects, users and more (information in database) through our [`REST API`](/api/api_rest.html)
24-
2525
* **Single device** (tag / anchor) information can be read through the CLI or via Bluetooth (BLE).
2626
- [`BLE API`](/api/api_ble.html) - Make a wireless connection with one of the tags with our BLE interface.
2727
- [`Device CLI`](/api/api_console.html) - Access the RTLS hardware (anchors and tags) via one of the [interfaces](/embedded/#interfaces).

docs/api/api_ble.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,4 @@ It allows for:
88
* ...and more
99

1010
Download the specification [here](http://callitrix.com/assets/docs/files/api_ble.pdf) or see below. Service ID: *680c21d9-c946-4c1f-9c11-baa1c21329e7*.
11-
![API_overview](./img/api_ble.png)
12-
13-
(detailed overview coming soon)
11+
![API_overview](./img/api_ble.png)

docs/api/api_cloud.md

Lines changed: 0 additions & 75 deletions
This file was deleted.

docs/api/api_engine_cloud_mqtt.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Local live data
1+
# Cloud live (MQTT JSON) data [Alpha]
22

33
Real-time data (position data, tag/anchor statuses, sensor data, etc.) can be received over MQTT (Message Queuing Telemetry Transport, pub/sub), either direct over TCP or over Websocket.
44

@@ -16,12 +16,12 @@ Each message has the following base format:
1616

1717
``` JSON
1818
{
19-
"time": "", // Current time
19+
"time": "", // Time: GPS time of anchor if available, otherwise PC time
2020
"meta": { // Meta information
2121
"data_source": "live",
2222
...
2323
},
24-
"value": { // Actual data
24+
"value": { // Value: message data
2525
...
2626
}
2727
}
@@ -41,7 +41,6 @@ Example *tag-data* message:
4141
"data_source":"replay-cx"
4242
},
4343
"value": {
44-
{
4544
"frame": 658885,
4645
"tags": {
4746
"2012": {

docs/api/api_engine_local_mqtt.md

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
1-
# Local live data
1+
# Local live (MQTT JSON) data
22

33
Real-time data (position data, tag/anchor statuses, sensor data, etc.) can be received over MQTT (Message Queuing Telemetry Transport, pub/sub), either direct over TCP or over Websocket.
44

55
## 1. Connection protocol
66

7-
You can receive data in a pub/sub fashion, through an Mosquitto (MQTT) broker.
8-
You can use our MQTT broker (some limitations may apply) or set up your own.
7+
You can receive data using an Mosquitto (MQTT) **client** which connects to our local broker. This can be over websocket in a browser or over TCP from a backend program or script.
98

109
Make sure your RTLS setup is publishing MQTT data to the broker.
1110
Use the following configuration for your MQTT client(s):
1211

1312
* Host: *localhost (same PC) or PC's IP address*
14-
* Port: 1883 (TCP), 8083 (WS)
13+
* Port: 1883 (TCP), 8083 (Websocket)
1514
* Username:
1615
* Password:
1716

@@ -20,17 +19,15 @@ The MQTT topic and data format per type of message is outlined in the [JSON form
2019
### MQTT clients
2120

2221
Clients can connect to the MQTT broker over TCP/TLS or a secure Websocket (WSS).
23-
Example client libraries:
22+
Some example client libraries:
2423

25-
* Javascript (browser): [MQTT.js](https://www.npmjs.com/package/mqtt) (Recommended for web applications), [Eclipse Paho](https://www.eclipse.org/paho/clients/js/), ...
24+
* Javascript (browser): [MQTT.js](https://www.npmjs.com/package/mqtt) (Recommended for web applications, websocket), [Eclipse Paho](https://www.eclipse.org/paho/clients/js/), ...
2625

2726
* Python: [Paho MQTT](https://pypi.org/project/paho-mqtt/), ...
2827

2928
* C#: [MQTTnet](https://github.com/chkr1011/MQTTnet), Eclipse Paho, ...
3029

31-
* ...
32-
33-
### Code examples
30+
### Code example
3431
The following example uses the [MQTT.js](https://www.npmjs.com/package/mqtt) client library to connect to our MQTT broker. It uses a demo account and displays demo data (replayed RTLS data continuously fed into our broker).
3532

3633
``` js
@@ -63,17 +60,19 @@ client.on('message', function (topic, message) {
6360
})
6461
```
6562

63+
> For websocket, use *ws://localhost:8883* instead (change protocol and port)
64+
6665
## 2. Data Format
6766
Each message has the following base format:
6867

6968
``` JSON
7069
{
71-
"time": "", // Current time
70+
"time": "", // Time: Based on GPS time of anchor if available, otherwise PC time
7271
"meta": { // Meta information
7372
"data_source": "live",
7473
...
7574
},
76-
"value": { // Actual data
75+
"value": { // Value: message data
7776
...
7877
}
7978
}
@@ -93,7 +92,6 @@ Example *tag-data* message:
9392
"data_source":"replay-cx"
9493
},
9594
"value": {
96-
{
9795
"frame": 658885,
9896
"tags": {
9997
"2012": {

docs/api/api_firmware.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
# Firmware API
1+
# Firmware Library
2+
3+
Working with a firmware library allows you to bring your own functionality to the (tag) device while interfacing with our powerful UWB capabilities.
4+
5+
Here's an overview of (some of the) functions available in the library.
26

37
## General
48
### `set subversion`

docs/reference/terminology.md

Lines changed: 31 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,43 @@
11
# Terminology
22

3-
## General
4-
`RTLS` - Real-time location system.
3+
## RTLOC App
4+
- `Client` - A company or organization owning a license.
55

6-
`Positioning` - Calculate the positions of (moving) tags.
6+
- `Project` - A project is a physical setup. It is associated with one purchased license, one engine, one floorplan (and other configurations). A client can have multiple RTLS projects. These are different setups at different locations that can run simultaneously.
77

8-
## RTLOC terminology
9-
`Client` - A company or organization owning a license.
10-
11-
`Project` - A client can have multiple RTLS projects. These are different setups at different locations that can run simultaneously.
12-
13-
## Technology
14-
Some more information on the different technologies we harness. Click here for a full comparison.
15-
16-
`UWB` - Ultra-wide band. A wireless technology that uses a wide spectrum of frequency bands to transmit large amounts of data over a short distance with very low power. All nodes are equipped with UWB. It is used for ranging and communication purposes.
17-
18-
`RFID` - Radio-frequency identification.
19-
20-
`BT` - Bluetooth.
21-
22-
`BLE` - Bluetooth Low Energy. All tags are by default equipped with a BLE chip for short range communication.
23-
24-
`ENET` - Ethernet. All anchors and listeners are by default equipped with ethernet.
25-
26-
`Lora` - Long Range digital wireless data communication technology.
8+
- `Desktop License` - License needed to run RTLS functionality on-premise (local / desktop)
279

2810
## RTLS System
29-
`Node` - One of the elements of the RTLS system. Could be an anchor, tag or listener.
30-
31-
`Anchor` - A reference node in the RTLS. Comparable with the satellites for GPS.
11+
- `RTLS` - Real-time location system.
3212

33-
`Tag` - A node that is tracked.
13+
- `Node` - One of the elements of the RTLS system. Could be an anchor, tag or listener.
3414

35-
`Listener` - A node that only listens to data in the air and forwards that data to a PC.
15+
- `Anchor` - A reference node in the RTLS. Comparable with the satellites for GPS.
3616

37-
`Autopositioning` - Calculation / estimation of the positions of the anchors by the system, as opposed to manually submitting accurate coordinates. This will provide less accurate position data than submitting accurate coordinates.
17+
- `Tag` - A node that is tracked.
3818

39-
`Backhaul` - Way of transporting data within the system. Can be wired of wireless.
19+
- `Listener` - A node that only listens to data in the air and forwards that data to a PC.
4020

41-
`Engine` / `cxRTLS` - Powerful RTLS engine & UWB debugging app
21+
- `Autopositioning` - Calculation / estimation of the positions of the anchors by the system, as opposed to manually submitting accurate coordinates. This will provide less accurate position data than submitting accurate coordinates.
4222

43-
`Engine` / `cxEngine` - Algorithm implementation, calculates positions from distances
23+
- `Backhaul` - Way of transporting data within the system. Can be wired of wireless.
4424

45-
`Viewer` / `cxViewer` - (3D) Position viewer
25+
- `Engine` / `cxRTLS` - Powerful RTLS engine & UWB debugging app
4626

47-
`API` - Application Protocol Interface. Chout out [our RTLS API](/positioning/apis_overview.html).
27+
- `Engine` / `cxEngine` - Algorithm implementation, calculates positions from distances
4828

49-
`Task` -
29+
- `API` - Application Protocol Interface. Chout out [our RTLS API](/positioning/apis_overview.html).
5030

51-
`Console` - The console through which you can directly communicate with one of the nodes. This node can be attached via UART, USB or Ethernet.
31+
- `Console` - The console through which you can directly communicate with one of the nodes. This node can be attached via UART, USB or Ethernet.
5232
Click here for more information.
5333

54-
`HW` - Hardware
34+
- `Hz` - Hertz. The derived unit of frequency [1/s].
5535

56-
`SW` - Software
36+
- `Hairs` - UWB message visual indications in our sniffer
5737

58-
`FW` - Firmware
38+
- `TagSpeed` - Part of the UWB configuration, containing
5939

60-
`Hz` - Hertz. The derived unit of frequency [1/s].
61-
62-
`Hairs` - UWB message visual indications in our sniffer
63-
64-
`TagSpeed` - Part of the UWB configuration, containing
65-
66-
`MANET` - Mobile Adhoc Network.
40+
- `MANET` - Mobile Adhoc Network.
6741

6842
### Sensors
6943
- `Accelerometer` - Measures acceleration forces. These forces may be static (such as gravity) or dynamic.
@@ -72,7 +46,18 @@ Click here for more information.
7246

7347
- `Magnetometer` - Measures magnetic fields.
7448

75-
## Other Technology
49+
## Technology General
50+
51+
`UWB` - Ultra-wide band. A wireless technology that uses a wide spectrum of frequency bands to transmit large amounts of data over a short distance with very low power. All nodes are equipped with UWB. It is used for ranging and communication purposes.
52+
53+
`RFID` - Radio-frequency identification.
54+
55+
`BLE` - Bluetooth Low Energy. All tags are by default equipped with a BLE chip for short range communication.
56+
57+
`ENET` - Ethernet. All anchors and listeners are by default equipped with ethernet.
58+
59+
`Lora` - Long Range digital wireless data communication technology.
60+
7661
`IP66` - International Protection Marking. Rating of our enclosures. Dust- and waterproof.
7762
More information [here](https://en.wikipedia.org/wiki/IP_Code).
7863

0 commit comments

Comments
 (0)