PiSupply / IoTLoRaRange

Repository for all of the IoT LoRa Range of Products
65 stars 11 forks source link

The Things Network v3 #36

Open hardillb opened 3 years ago

hardillb commented 3 years ago

Hi,

Are there any instructions for setting up the Gateway Hat with the new v3 Things network setup?

ryanbateman commented 2 years ago

@hardillb FWIW, I managed to get it working using the RAKWireless repo here, following the instructions there regarding standard setup, then downloading the global_conf.json from the v3 console and using that to update the packet forward config.

hardillb commented 2 years ago

@ryanbateman Thanks, I have mine working via that route, but it would be nice for PiSupply offer an update since they are still selling this hardware.

ryanbateman commented 2 years ago

@hardillb Yes, I very much agree.

salmanfarisvp commented 2 years ago

Thnaks, @ryanbateman Could you please add the instructions and do a pull request if possible? Thanks.

ChristopherRush commented 2 years ago

I have instructions for this already.

On Thu, 11 Aug 2022, 09:04 Salman Faris, @.***> wrote:

Thnaks, @ryanbateman https://github.com/ryanbateman Could you please add the instructions and do a pull request if possible? Thanks.

— Reply to this email directly, view it on GitHub https://github.com/PiSupply/IoTLoRaRange/issues/36#issuecomment-1211622322, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAOKSKWEW2WS2SQ763P3WTDVYSQWRANCNFSM5H5VPJWQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

emendir commented 4 months ago

It took me a bit of research and trial and error, but I succeeded in the end. Over the last three years the configuration options on TheThingsNetwork have changed often, so I don't know how long they'll stay valid for.

Here are my notes in which I documented what I learned. They're not step-by-step instructions, but for people already familiar with working with LoRaWAN and TheThingsNetwork, they should give you all the info you need to get it working.

LoRaWAN settings for working with the LoRa Node pHAT RAK811 and TheThingsNetwork

RAK811

The [[LoRa Node pHAT RAK811]] hardware and the RAK811 python library's LoRaWAN compatibility seem to be limited to a specific set of its specifications. I deduce this from the configuration options documented here being a subset of all LoRaWAN specs. Those configurations which I could not configure on the RAK811, I experimented with when trying to register the device on TheThinsNetwork, to find which configurations there resulting in the RAK811 working correctly.

Supported Configurations

Here are the configurations I know I can apply:

Given that we're working with For these settings, I configured, on both the RAK811 and in the TheThingsNetwork console when registering a new device, the following:

RAK Config Name TTN Config Name Value
join_mode Activation mode OTAA
app_eui JoinEUI I chose a value myself
app_key AppKey generated by TTN
app_eui JoinEUI from RAK811 or generated by TTN

Fixed TTN Configurations

Here are the configurations that can't be applied/I didn't apply to the RAK811 which I had to apply in TheThingsNetwork console (while adding a device):

Configuration Value
Frequency Plan Europe 863-870 MHz (SF9 for RX2)
LoRaWAN Version LoRaWAN Specification 1.0.3
Regional Parameters version RP001 Regional Parameters 1.0.3 revision A

To see a list of the device's configuration that are set to explore further configuration options, run the following shell command on a raspberry pi to which a RAK811 is connected:

rak811v3 get-config lora:status

DevEUI

Preconfigured

The RAK811 pHAT has a pre-configured device EUI. When the device is connected to a raspbery pi, the device EUI can be read by executing the following shell command on the raspberry pi:

rak811v3 get-config lora:status | grep DevEui

Manual

The RAK811 pHAT's DevEUI can be changed, in shell or in python, replacing the preconfigured device EUI, and persisting across reboots.

rak811v3 set-config lora:dev_eui 70XXXXXXXXXXXXXX
from rak811.rak811_v3 import Rak811

lora = Rak811()

DEV_EUI = "70XXXXXXXXXXXXXX"
lora.set_config(f'lora:dev_eui:{DEV_EUI}')