Adding US902 configuration example (#805)
* Adding US configuration example * cat of MAC address * Adding FFFE reference * Reacting to feedback suggestion * Indenting properly
This commit is contained in:
Родитель
13f723bc6a
Коммит
8a84523a8d
|
@ -2,5 +2,7 @@
|
|||
// disable line length limitations for existing documentation
|
||||
"MD013": false,
|
||||
// allow same headings
|
||||
"MD024": false
|
||||
"MD024": false,
|
||||
// inline html
|
||||
"MD033": false
|
||||
}
|
||||
|
|
|
@ -4,56 +4,127 @@ Following the LoRaWAN Network Server (LNS) specification, each Basics Station (
|
|||
|
||||
In the following we describe how to register an LBS in IoT Hub and how to store its configuration.
|
||||
|
||||
1. Create an IoT Hub device that has a name equal to the LBS EUI in hex-representation, e.g. `DCA632FFFEB32FC6`.
|
||||
1. Create an IoT Hub device that has a name equal to the LBS EUI in hex-representation, e.g. `DCA632FFFEB32FC6`. If you are running a dev kit on a Linux machine, the EUI will be retrieved from the MAC address of the eth0 interface as follows:
|
||||
|
||||
```bash
|
||||
cat /sys/class/net/eth0/address # prints the MAC Address of eth0
|
||||
# Assuming aa:bb:cc:00:11:22 is the returned MAC Address
|
||||
# your EUI will be AABBCCFFFE001122
|
||||
# Please note the insertion of the literals 'FFFE' in the middle, as per https://doc.sm.tc/station/glossary.html?highlight=mac
|
||||
```
|
||||
|
||||
2. The LBS configuration needs to be stored as a desired twin property of the newly created LBS device. Make sure to store the configuration under `properties.desired.routerConfig`.
|
||||
1. The configuration follows the `router_config` format from the LNS protocol as closely as possible. However, since device twins encode numbers as 32-bit values and given some configuration properties (such as EUIs) are 64-bit numbers, there are some minor differences.
|
||||
2. The `JoinEui` nested array must consist of hexadecimal-encoded strings. The property should look similar to: `"JoinEui": [["DCA632FFFEB32FC5","DCA632FFFEB32FC7"]]`
|
||||
3. A full configuration example might look like this, relative to the desired twin property path `properties.desired`:
|
||||
|
||||
```json
|
||||
{
|
||||
"routerConfig": {
|
||||
"NetID": [1],
|
||||
"JoinEui": [["DCA632FFFEB32FC5", "DCA632FFFEB32FC7"]],
|
||||
"region": "EU863",
|
||||
"hwspec": "sx1301/1",
|
||||
"freq_range": [863000000, 870000000],
|
||||
"DRs": [
|
||||
[11, 125, 0],
|
||||
[10, 125, 0],
|
||||
[9, 125, 0],
|
||||
[8, 125, 0],
|
||||
[7, 125, 0],
|
||||
[7, 250, 0]
|
||||
],
|
||||
"sx1301_conf": [
|
||||
{
|
||||
"radio_0": { "enable": true, "freq": 867500000 },
|
||||
"radio_1": { "enable": true, "freq": 868500000 },
|
||||
"chan_FSK": { "enable": true, "radio": 1, "if": 300000 },
|
||||
"chan_Lora_std": {
|
||||
"enable": true,
|
||||
"radio": 1,
|
||||
"if": -200000,
|
||||
"bandwidth": 250000,
|
||||
"spread_factor": 7
|
||||
},
|
||||
"chan_multiSF_0": { "enable": true, "radio": 1, "if": -400000 },
|
||||
"chan_multiSF_1": { "enable": true, "radio": 1, "if": -200000 },
|
||||
"chan_multiSF_2": { "enable": true, "radio": 1, "if": 0 },
|
||||
"chan_multiSF_3": { "enable": true, "radio": 0, "if": -400000 },
|
||||
"chan_multiSF_4": { "enable": true, "radio": 0, "if": -200000 },
|
||||
"chan_multiSF_5": { "enable": true, "radio": 0, "if": 0 },
|
||||
"chan_multiSF_6": { "enable": true, "radio": 0, "if": 200000 },
|
||||
"chan_multiSF_7": { "enable": true, "radio": 0, "if": 400000 }
|
||||
}
|
||||
],
|
||||
"nocca": true,
|
||||
"nodc": true,
|
||||
"nodwell": true
|
||||
<details>
|
||||
<summary>EU863 Example Configuration</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"routerConfig": {
|
||||
"NetID": [1],
|
||||
"JoinEui": [["DCA632FFFEB32FC5", "DCA632FFFEB32FC7"]],
|
||||
"region": "EU863",
|
||||
"hwspec": "sx1301/1",
|
||||
"freq_range": [863000000, 870000000],
|
||||
"DRs": [
|
||||
[11, 125, 0],
|
||||
[10, 125, 0],
|
||||
[9, 125, 0],
|
||||
[8, 125, 0],
|
||||
[7, 125, 0],
|
||||
[7, 250, 0]
|
||||
],
|
||||
"sx1301_conf": [
|
||||
{
|
||||
"radio_0": { "enable": true, "freq": 867500000 },
|
||||
"radio_1": { "enable": true, "freq": 868500000 },
|
||||
"chan_FSK": { "enable": true, "radio": 1, "if": 300000 },
|
||||
"chan_Lora_std": {
|
||||
"enable": true,
|
||||
"radio": 1,
|
||||
"if": -200000,
|
||||
"bandwidth": 250000,
|
||||
"spread_factor": 7
|
||||
},
|
||||
"chan_multiSF_0": { "enable": true, "radio": 1, "if": -400000 },
|
||||
"chan_multiSF_1": { "enable": true, "radio": 1, "if": -200000 },
|
||||
"chan_multiSF_2": { "enable": true, "radio": 1, "if": 0 },
|
||||
"chan_multiSF_3": { "enable": true, "radio": 0, "if": -400000 },
|
||||
"chan_multiSF_4": { "enable": true, "radio": 0, "if": -200000 },
|
||||
"chan_multiSF_5": { "enable": true, "radio": 0, "if": 0 },
|
||||
"chan_multiSF_6": { "enable": true, "radio": 0, "if": 200000 },
|
||||
"chan_multiSF_7": { "enable": true, "radio": 0, "if": 400000 }
|
||||
}
|
||||
],
|
||||
"nocca": true,
|
||||
"nodc": true,
|
||||
"nodwell": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>US902 Example Configuration</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"routerConfig": {
|
||||
"NetID": [1],
|
||||
"JoinEui": [["DCA632FFFEB32FC5", "DCA632FFFEB32FC7"]],
|
||||
"region": "US902",
|
||||
"hwspec": "sx1301/1",
|
||||
"freq_range": [902000000, 928000000],
|
||||
"DRs": [
|
||||
[10, 125, 0],
|
||||
[9, 125, 0],
|
||||
[8, 125, 0],
|
||||
[7, 125, 0],
|
||||
[8, 500, 0],
|
||||
[0, 0, 0],
|
||||
[0, 0, 0],
|
||||
[0, 0, 0],
|
||||
[12, 500, 1],
|
||||
[11, 500, 1],
|
||||
[10, 500, 1],
|
||||
[9, 500, 1],
|
||||
[8, 500, 1],
|
||||
[8, 500, 1]
|
||||
],
|
||||
"sx1301_conf": [
|
||||
{
|
||||
"radio_0": { "enable": true, "freq": 902700000 },
|
||||
"radio_1": { "enable": true, "freq": 903400000 },
|
||||
"chan_FSK": { "enable": true, "radio": 1, "if": 300000 },
|
||||
"chan_Lora_std": {
|
||||
"enable": true,
|
||||
"radio": 0,
|
||||
"if": 300000,
|
||||
"bandwidth": 500000,
|
||||
"spread_factor": 8
|
||||
},
|
||||
"chan_multiSF_0": { "enable": true, "radio": 0, "if": -400000 },
|
||||
"chan_multiSF_1": { "enable": true, "radio": 0, "if": -200000 },
|
||||
"chan_multiSF_2": { "enable": true, "radio": 0, "if": 0 },
|
||||
"chan_multiSF_3": { "enable": true, "radio": 0, "if": 200000 },
|
||||
"chan_multiSF_4": { "enable": true, "radio": 1, "if": -300000 },
|
||||
"chan_multiSF_5": { "enable": true, "radio": 1, "if": -100000 },
|
||||
"chan_multiSF_6": { "enable": true, "radio": 1, "if": 100000 },
|
||||
"chan_multiSF_7": { "enable": true, "radio": 1, "if": 300000 }
|
||||
}
|
||||
],
|
||||
"nocca": true,
|
||||
"nodc": true,
|
||||
"nodwell": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
4. A more thorough description of `sx1301_conf` can be found at [The LNS Protocol](https://doc.sm.tc/station/tcproto.html?highlight=sx1301conf#router-config-message) specification.
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче