Skip to content

Commit cb02862

Browse files
committed
Add backends documentation.
1 parent a8702b0 commit cb02862

File tree

3 files changed

+113
-3
lines changed

3 files changed

+113
-3
lines changed

docs/config.toml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,26 +25,33 @@ pygmentsUseClasses = true
2525
url = "/gateway/"
2626
weight = 3
2727

28+
[[menu.main]]
29+
pre = "<i class='fas fa-cogs'></i>"
30+
name = "Backends"
31+
identifier = "backends"
32+
url = "/backends/"
33+
weight = 4
34+
2835
[[menu.main]]
2936
pre = "<i class='far fa-file-alt'></i>"
3037
name = "Payloads"
3138
identifier = "payloads"
3239
url = "/payloads/"
33-
weight = "4"
40+
weight = 5
3441

3542
[[menu.main]]
3643
pre = "<i class='fas fa-code'></i>"
3744
name = "Integrate"
3845
identifier = "integrate"
3946
url = "/integrate/"
40-
weight = 5
47+
weight = 6
4148

4249
[[menu.main]]
4350
pre = "<i class='fab fa-github'></i>"
4451
name = "Community & support"
4552
identifier = "community"
4653
url = "/community/"
47-
weight = 6
54+
weight = 7
4855

4956
[params]
5057
version = "3.0.0-test.1"
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
title: Basic Station
3+
description: Semtech Basic Station packet-forwarder backend.
4+
menu:
5+
main:
6+
parent: backends
7+
---
8+
9+
# Semtech Basic Station packet-forwarder
10+
11+
The [Semtech Basic Station](https://doc.sm.tc/station/) backend implements
12+
the [LNS protocol](https://doc.sm.tc/station/tcproto.html). It exposes a
13+
websocket handler to which Basic Station powered gateways can connect.
14+
15+
It supports the following authentication modes:
16+
17+
* No Authentication
18+
* TLS Server Authentication
19+
* TLS Server and Client Authentication
20+
21+
## Channel-plan / `router_config`
22+
23+
When using Basic Station powered gateways, assigning a _Gateway Profile_ to a
24+
gateway within LoRa (App) Server is a requirement. As part of the connection
25+
handshake, LoRa Gateway Bridge must send the channel-plan configuration to the
26+
Basic Station. The flow for this is:
27+
28+
* Basic Station sends a `version` message to the LoRa Gateway Bridge
29+
* The LoRa Gateway Bridge sends a `stats` [Event]({{<ref "payloads/events.md">}})
30+
* [LoRa Server](/loraserver/) responds with a `config` [Command]({{<ref "payloads/commands.md">}}), containing the channel-plan from the _Gateway Profile_
31+
* The LoRa Gateway Bridge forwards this as `router_config` to the Basic Station
32+
33+
## Known issues
34+
35+
* The Basic Station does not send RX / TX stats
36+
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
---
2+
title: Semtech UDP
3+
description: Semtech UDP packet-forwarder backend.
4+
menu:
5+
main:
6+
parent: backends
7+
---
8+
9+
# Semtech UDP packet-forwarder backend
10+
11+
The [Semtech UDP packet-forwarder](https://github.com/lora-net/packet_forwarder)
12+
backend abstracts the [UDP protocol](https://github.com/Lora-net/packet_forwarder/blob/master/PROTOCOL.TXT).
13+
14+
It is compatible with:
15+
16+
* v1 of the protocol
17+
* v2 of the protocol
18+
* Modified format used by the [Kerlink iBTS](https://www.kerlink.com/product/wirnet-ibts/)
19+
containing the (encrypted) fine-timestamp
20+
21+
## Configuration
22+
23+
When the `semtech_udp` backend has been enabled, make sure your packet-forwarder
24+
`global_conf.json` or `local_conf.json` is configured correctly, under `gateway_conf`,
25+
the `server_address`, `serv_port_up` and `serv_port_down` must be configured so
26+
that data is forwarded to the LoRa Gateway Bridge instance.
27+
28+
{{<highlight text>}}
29+
"gateway_conf": {
30+
"gateway_ID": "AA555A0000000000",
31+
"server_address": "localhost",
32+
"serv_port_up": 1700,
33+
"serv_port_down": 1700,
34+
...
35+
}
36+
{{</highlight>}}
37+
38+
## Deployment
39+
40+
The LoRa Gateway Bridge can be deployed either on the gateway (recommended)
41+
and "in the cloud". In the latter case, multiple gateways can connect to the
42+
same LoRa Gateway Bridge instance.
43+
44+
When the LoRa Gateway Bridge is deployed on the gateway, you will benefit from
45+
the MQTT authentication / authorization layer and optional TLS.
46+
47+
## Packet-forwarder re-configuration over MQTT
48+
49+
The Semtech UDP backend supports the re-configuration of the packet-forwarder
50+
over MQTT using the `config` [Commands]({{<ref "payloads/commands.md">}}).
51+
52+
This works as follow:
53+
54+
* The LoRa Gateway Bridge will periodically send `stats` [Events]({{<relref "payloads/events.md">}})
55+
containing the current configuration version.
56+
* [LoRa Server](/loraserver/) processes these stats events and when a _Gateway Profile_
57+
is associated with the gateway, it will compare the configuration version.
58+
* In case the _Gateway Profile_ version is newer, it will send a `config`
59+
command to the LoRa Gateway Bridge.
60+
* LoRa Gateway Bridge will then read the `base_file`, update it and writes it
61+
to the `output_file`.
62+
* It then restarts the packet-forwarder using the `restart_command` causing the
63+
packet-forwarder to reload its configuration.
64+
65+
For the above to work, you must configure the _Mandaged packet-forwarder configuration_
66+
section in the `lora-gateway-bridge.toml`.
67+

0 commit comments

Comments
 (0)