Skip to content

LoRaWAN 1.0.4 end device implementation benefiting from the encoding implementation in https://github.com/ivajloip/rust-lorawan.

License

Notifications You must be signed in to change notification settings

lucasgranberg/lorawan

Repository files navigation

LoRaWAN Revision 1.0.4 implemented in Rust

CI

Provide end device support for LoRaWAN revision 1.0.4 in Rust, as specified in the following documents:

Currently supported:

  • Class A; future support for Class B and C planned;
  • Dynamic and fixed channel plans;
  • EU868 and US915 regions; future support for additional regions planned;
  • end device only, supporting communication with gateways and network applications.

The implementation maintains a clear distinction between the features it provides and those which must be provided by the caller. This allows it to be used with a range of embedded frameworks and LoRa boards. While the current example application uses features of the Embassy embedded framework, other embedded frameworks should work equally as well.

The following embedded framework functionality must be provided by the caller (see device aspects for more detail):

  • timer;
  • LoRa radio;
  • random number generator;
  • non-volatile storage.

The external API used to establish a session between the end device and a network server (join operation) and subsequently transmit data to a network application (data operation) is detailed in the public functions of the Mac implementation here.

Important goals for the Class A feature:

  • keep power consumption very low within end devices between what are often widely time-separated end device transmissions involving sensor readings;
  • hide the complexities of join operations to gateways which only support a limited number of channels (an issue mainly associated with fixed channel plans).

Chat

A public chat on LoRa/LoRaWAN topics using Rust is here:

About

LoRaWAN 1.0.4 end device implementation benefiting from the encoding implementation in https://github.com/ivajloip/rust-lorawan.

Topics

Resources

License

Stars

Watchers

Forks

Languages