Custom ADR outside from LoRaServer

Hi,

I would like to start to implement my own ADR Algorithm (using metrics that are not provided to LoRaServer).
Any idea about a start point ?
As a first thing, I will have to disable LoRa Server ADR : how to proceed ?
Then I have to find gRPC modules that I can use to use my own ADR : is there documentation on ADR architecture some where ?

Thanks,

Nop

You can implement the network-controller interface https://github.com/brocaar/loraserver/blob/master/api/nc/nc.proto to receive uplink mac-commands and meta-data. For downlink mac-commands you can call this method: https://github.com/brocaar/loraserver/blob/master/api/ns/ns.proto#L87.

@brocaar

Thanks a lot for these information. How can I disable LoRaSERVER ADR to disable its mac-commands ?
I do not want 2 ADR MAC commands to be sent simultneously.

Nicolas

Please see the loraserver.toml configuration file :slight_smile:

I have just read loraserver.toml
The only section that deals with dr is :
[[network_server.network_settings.extra_channels]]
frequency=867100000
min_dr=0
max_dr=5

So I guess that I have to set min_dr and max_dr for all frequencies to the same value ?
That’s correct ?

Nop Micro

I think he means these parameters:

  # Disable mac-commands
  #
  # When set to true, LoRa Server will not handle and / or schedule any
  # mac-commands. However, it is still possible for an external controller
  # to handle and / or schedule mac-commands. This is intended for testing
  # only.
  disable_mac_commands=false

  # Disable ADR
  #
  # When set, this globally disables ADR.
  disable_adr=false
1 Like

Hi,

I am back …
I still looking for information to call a MACCommandQueue using a Pyhon client.

I do not know how to start. I guess that LoRaServer gRPC server is listening on localhost:PORT.
What is PORT ?

Is ther any snippet code in python somewhere ?

I will then have to call this method :
rpc CreateMACCommandQueueItem(CreateMACCommandQueueItemRequest) returns (google.protobuf.Empty) {}

Thanks,

Nop