All Projects → BeelanMX → Beelan Lorawan

BeelanMX / Beelan Lorawan

Licence: mit
A LoRaWAN library for compatible arduino board

Projects that are alternatives of or similar to Beelan Lorawan

Cayennelpp
Library for Arduino compatible with Cayenne Low Power Payload
Stars: ✭ 51 (-41.38%)
Mutual labels:  arduino, arduino-library, lorawan, lora
Lora Serialization
LoraWAN serialization/deserialization library for The Things Network
Stars: ✭ 120 (+37.93%)
Mutual labels:  arduino, arduino-library, lorawan, lora
Arduino Device Lib
Arduino Library for TTN Devices
Stars: ✭ 155 (+78.16%)
Mutual labels:  arduino, arduino-library, lorawan
Loralib
Arduino library for LoRa modules based on SX127x/RFM9x chips
Stars: ✭ 134 (+54.02%)
Mutual labels:  arduino, arduino-library, lora
Esp32 Paxcounter
Wifi & BLE driven passenger flow metering with cheap ESP32 boards
Stars: ✭ 844 (+870.11%)
Mutual labels:  arduino, lorawan, lora
Sx126x Arduino
Arduino library to use Semtech SX126x LoRa chips and modules to communicate
Stars: ✭ 55 (-36.78%)
Mutual labels:  arduino-library, lorawan
Tm16xx
Arduino TM16xx library for LED & KEY and LED Matrix modules based on TM1638, TM1637, TM1640 and similar chips. Simply use print() on 7-segment and use Adafruit GFX on matrix.
Stars: ✭ 61 (-29.89%)
Mutual labels:  arduino, arduino-library
Ws2812fx
WS2812 FX Library for Arduino and ESP8266
Stars: ✭ 1,113 (+1179.31%)
Mutual labels:  arduino, arduino-library
Micronmea
A compact Arduino library to parse NMEA sentences.
Stars: ✭ 66 (-24.14%)
Mutual labels:  arduino, arduino-library
Sslclient
🔒Add SSL/TLS functionality to any Arduino library
Stars: ✭ 45 (-48.28%)
Mutual labels:  arduino, arduino-library
Dmxserial2
An Arduino library for sending and receiving DMX RDM packets.
Stars: ✭ 65 (-25.29%)
Mutual labels:  arduino, arduino-library
Nintendoextensionctrl
Arduino library for communicating with Nintendo extension controllers
Stars: ✭ 67 (-22.99%)
Mutual labels:  arduino, arduino-library
Segacontroller
Arduino library to read Sega Genesis (Mega Drive) and Master System (Mark III) controllers.
Stars: ✭ 55 (-36.78%)
Mutual labels:  arduino, arduino-library
Gem
Good Enough Menu for Arduino
Stars: ✭ 54 (-37.93%)
Mutual labels:  arduino, arduino-library
Fpm
Arduino library for the R30x/ZFMxx/FPMxx optical fingerprint sensors
Stars: ✭ 79 (-9.2%)
Mutual labels:  arduino, arduino-library
Dmxusb
DMXUSB emulates an ENTTEC-compatible DMXKing USB to DMX serial device with one, two, or n universes.
Stars: ✭ 66 (-24.14%)
Mutual labels:  arduino, arduino-library
Aunit
Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test. Used with AUniter or EpoxyDuino for continuous builds.
Stars: ✭ 73 (-16.09%)
Mutual labels:  arduino, arduino-library
Ramp
Arduino Interpolation Library
Stars: ✭ 72 (-17.24%)
Mutual labels:  arduino, arduino-library
Workshops
Workshops for The Things Network
Stars: ✭ 74 (-14.94%)
Mutual labels:  lorawan, lora
Chirpstack Network Server
ChirpStack Network Server is an open-source LoRaWAN network-server.
Stars: ✭ 1,231 (+1314.94%)
Mutual labels:  lorawan, lora

LibraryBuild

Arduino LoRaWAN library by Beelan

This repository contains the simple LoRaWAN library encapsulated to run in the generic platform, allowing using the SX1272, SX1276 transceivers and compatible modules (such as some HopeRF RFM9x modules).

This repository is all based on the library originally created by Ideetron B.V. This library is slightly modified and this repo, with the principal purpose to have an LoRaWAN MAC layer for arduino with an easy API.

Features

The arduino LoRaWAN library supports LoRaWAN Class A and Class C implementations operating in EU-868, AS-923, US-915 and AU-915 bands. Note that this library is fairly simple with the aim of demonstrating the LoRaWAN capabilities.

What certainly works:

  • Sending packets uplink, taking into account duty cycling.
  • Custom frequencies and datarate settings.
  • Receiving downlink packets in the RX1 window (EU-868, AS-923,US-915,AU-915).
  • Over-the-air activation (OTAA / joining) (EU-868, AS-923).
  • Class C operation.
  • Receiving downlink packets in the RX1 window (US-915).
  • Receiving downlink packets in the RX2 window.
  • Over-the-air activation (OTAA / joining) (US-915).

What has not been tested:

  • Receiving and processing MAC commands.

If you try one of these untested features and it works, be sure to let us know (creating a github issue is probably the best way for that).

Quick Installing

To install, use the Arduino Library Manager and search for "Beelan LoraWAN" and install the library.

Manual Installing

To install this library:

  • install it using the Arduino Library manager ("Sketch" -> "Include Library" -> "Manage Libraries..."), or
  • download a zipfile from github using the "Download ZIP" button and install it using the IDE ("Sketch" -> "Include Library" -> "Add .ZIP Library..."
  • clone this git repository into your sketchbook/libraries folder.

For more info, see https://www.arduino.cc/en/Guide/Libraries

Configuration

A number of features can be configured or disabled by editing the config.h file in the library folder. Unfortunately the Arduino environment does not offer any way to do this (compile-time) configuration from the sketch, so be careful to recheck your configuration when you switch between sketches or update the library.

At the very least, you should set the right type of board in config.h, most other values should be fine at their defaults.

When using the US_915 you need to select which sub-band you will use, by default it is sub-band 6.

Supported hardware

This library is intended to be used with plain LoRa transceivers, connecting to them using SPI. In particular, the SX1272 and SX1276 families are supported (which should include SX1273, SX1277, SX1278 and SX1279 which only differ in the available frequencies, bandwidths and spreading factors). It has been tested with both SX1272 and SX1276 chips, using the Semtech SX1272 evaluation board and the HopeRF RFM92 and RFM95 boards (which supposedly contain an SX1272 and SX1276 chip respectively).

Some of the supported pre-built board currently available in the market are:

This library has been tested using:

  • Arduino Uno
  • WeMos D1 R2 (ESP8266 family board)
  • ESP32
  • Electronic Cats CatWAN USB-Stick
  • Electronic Cats Bast-WAN (Based on SAMR34)
  • NINA B302 is NRF52840 core
  • STMDuino

Connections

To make this library work, your Arduino (or whatever Arduino-compatible board you are using) should be connected to the transceiver. The exact connections are a bit dependent on the transceiver board and Arduino used, so this section tries to explain what each connection is for and in what cases it is (not) required.

Pin mapping

As described above, most connections can use arbitrary I/O pins on the Arduino side. To tell the arduino LoRaWAN library about these, a pin mapping struct is used in the sketch file.

For example, this could look like this:

sRFM_pins RFM_pins = {
  	.CS = SS,
  	.RST = RFM_RST,
  	.DIO0 = RFM_DIO0,
  	.DIO1 = RFM_DIO1,
  	.DIO2 = RFM_DIO2,
  	.DIO5 = RFM_DIO5
}; 

API

See API.md.

Tests

Maintainer

Beelan invests time and resources providing this open source design, please support Beelan!

License

Most source files in this repository are made available under the MIT License. The examples which use a more liberal license. Some of the AES code is available under the LGPL. Refer to each individual source file for more details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].