https://github.com/stm32duino/i-nucleo-lrwan1
Arduino library to support I-NUCLEO-LRWAN1 LoRa® expansion board based on USI® LoRaWAN™ technology module.
https://github.com/stm32duino/i-nucleo-lrwan1
Last synced: 4 months ago
JSON representation
Arduino library to support I-NUCLEO-LRWAN1 LoRa® expansion board based on USI® LoRaWAN™ technology module.
- Host: GitHub
- URL: https://github.com/stm32duino/i-nucleo-lrwan1
- Owner: stm32duino
- Created: 2017-10-17T13:18:09.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-09-12T14:23:39.000Z (7 months ago)
- Last Synced: 2024-09-13T02:19:20.060Z (7 months ago)
- Language: C
- Size: 121 KB
- Stars: 14
- Watchers: 4
- Forks: 14
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# I-NUCLEO-LRWAN1
Arduino library to support I-NUCLEO-LRWAN1 LoRa® expansion board based on USI®
LoRaWAN™ technology module.## API
This library provides an Arduino API to manage the I-NUCLEO-LRWAN1 expansion
board as a LoRaWAN™ node.* You will be able to choose the ABP or OTAA mode and set the corresponding keys.
* Send and receive some data.
* Select the EU or US band.
* Enable or disable the duty cycle (must be enabled in EU band).
* Enable the adaptative data rate and configure the data rate.
* Put the device in sleep mode.This library provides also an API to manage the I-NUCLEO-LRWAN1 expansion board
as a simple LoRa® radio module.* Configure the radio parameters (frequency, tx power, spreading factor, band width, ...)
* Send/receive data
* LoRaWAN stack disabled## Known limitations
* The module supports only class A.
* Sleep mode is not supported in OTAA mode with the version 2.6 of the firmware.
* Important note for Nucleo64:By default, D0/D1 of CN9 board connector are respectively not connected to
PA3 and PA2 (SB62 and SB63 opened).
Those pins are connected to STLink USART thanks to SB13, SB14.To use the shield:
- Connect shield D0(Tx) to a free U(S)ARTn Rx pin
- Connect shield D1(Rx) to a free U(S)ARTn Tx pinWhere 'n' are the same U(S)ART number.
- Update the Serial instance definition used for LoRa using the chosen Rx/Tx
or
- Close SB62 and SB63 to connect D0/D1 of CN9 connector to PA3 and PA2
- Open SB13 and SB14 to disconnect PA3 and PA2 from STLink UARTbut in this case, you will have to wire STLink Rx/Tx of CN3 connector to
another pins and update Serial instance before call `Serial.begin(115200);`
using:
```
Serial.setRx(Rx pin);
Serial.setTx(Tx pin);
```
See [UM1724](https://www.st.com/resource/en/user_manual/dm00105823.pdf), §6.8 section for more information.## Examples
* **getInfo**: display several info about LoRa shield (Firmware version, device EUI,...)
* **LoRaWANABP**: send/receive data in ABP mode.
* **LoRaWANOTAA**: send/receive data in OTAA mode.
* **LoRaPingPong**: P2P exchange in LoRa®.
* **BridgeSerial**: Send/Receive AT command from/to PC terminal to/from shield (console mode).## Advice
LoRaWAN default configuration:
* Join accept delay is set to 5000 ms (LoRaWAN default value).
* The network type is public by default. Use `setPublicNwkMode()` to set the network
type in private.
* RX1 window delay is 1000 ms by default. Use `setRx1Delay()` to set a new value.In case of high latency between the gateway and the network server, it is recommended
to increase the delay time of the RX1 window.## Version
This library is based on the STM32CubeExpansion_LRWAN_V1.1.2 driver.
This library has been validated with the version 2.6 and 3.6 of the firmware.## Documentation
You can find the source files at
https://github.com/stm32duino/I-NUCLEO-LRWAN1The I-NUCLEO-LRWAN1 module datasheet is available at
https://github.com/USILoRaModule/USI_I-NUCLEO-LRWAN1LoRaWAN standard
https://www.lora-alliance.org