ae1c8497f2
Updates macros to allow for changes via Kconfig |
||
---|---|---|
.. | ||
tests-with-config | ||
main.c | ||
Makefile | ||
Makefile.ci | ||
README.md |
LoRaWAN
Description
This application shows a simple use case of LoRaWAN with RIOT.
By using the real time clock and low-power capabilities of a board, this application shows how to program a LoRaWAN Class A device using RIOT.
This application is using the Over-The-Air Activation procedure.
Usage
Simply build and flash the application for a ST B-L072Z-LRWAN1 board:
make flash term
Use the BOARD
, DRIVER
and LORA_REGION
make variables to adapt the application
to your hardware setup and region of use:
BOARD
can be one of the nucleo-64 boardsDRIVER
can be eithersx1276
orsx1272
LORA_REGION
can beEU868
,US915
, etc (see LoRaWAN regional parameters for details).
ST Nucleo-64 can be used with mbed LoRa shields: there's one based on the sx1276 radio and one based on the the sx1272 radio.
Finally, to join a LoRaWAN network using OTAA activation, edit the application
Makefile
and set your device information:
DEVEUI ?= 0000000000000000
APPEUI ?= 0000000000000000
APPKEY ?= 00000000000000000000000000000000
Automatic test
The automatic test replicates 11-lorawan release specs test:
It is recommended to test using iotlab-nodes. The default configuration is already set on the application Makefile.
Requirements
-
The tests assumes that there is a gateway in all DR distance to the device and the device was flashed with the correct keys.
-
To use iotlab it is required to have a valid account for the FIT IoT-LAB (registration there is open for everyone) and the iot-lab/cli-tools need to be installed.
-
iotlab uses TTN lorawan gateways, to run the test you will need to create an account add an application and register a device. For this test you need to take note of the Device EUI, Application EUI & Application Key for that device.
Usage
-
flash device with appropriate keys and test
$ DEVEUI= APPEUI= APPKEY= make -C examples/lorawan/ flash test
With iotlab
-
setup the iotlab experiment:
$ make -C examples/lorawan/ iotlab-exp
-
flash device, set appropriate keys and test
$ DEVEUI= APPEUI= APPKEY= IOTLAB_NODE=auto-ssh make -C examples/lorawan/ flash test
-
stop the iotlab experiment:
$ make -C examples/lorawan/ iotlab-stop
note: if you have multiple running experiments you will need to set IOTLAB_EXP_ID
to the appropriate experiment, when using the iotlab-exp
you will see a:
Waiting that experiment 175694 gets in state Running
. That number matches
the experiment id you started.