• Stars
    star
    345
  • Rank 122,750 (Top 3 %)
  • Language
    Assembly
  • Created over 6 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Transplanted from Semtech LoRaWAN(https://github.com/Lora-net/LoRaMac-node) protocol to "ESP32 + Arduino" platform. Use RTC, support deep sleep, only working with ESP32 + LoRa boards made by HelTec Automation(TM). Need a unique license to use it.

This Library had been Stoped to maintenance

Contents

The Overview

Installing

To install this library:

  • install it using the Arduino Library manager ("Sketch" -> "Include Library" -> "Manage Libraries..."), or
  • download a zip file 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

Features

The ESP32_LoRaWAN library provides a fairly complete LoRaWAN Class A and Class C implementation. The latest update (February 10th, 2020) has full region support (KR920, AS923, US915, etc.).

The following functions are included:

  • LoRaWAN protocol V1.0.2 Class A and Class C;
  • Use ESP32's internal RTC (15KHz);
  • All ESP32 + LoRa boards made by Heltec Automation(TM) can use this library;
  • Support deep sleep and stop mode;
  • Receive and print downlink payload;
  • Print and OLED show downlink data length and RSSI;
  • An unique license related to Chip ID is needed, you can check your license here: http://www.heltec.cn/search/

Test information

working band status
EU433 not test
CN470 work well
EU863 work well
US915 work well
AU916 work well
CN779 not test
AS923 not test
KR920 not test
IN865 not test
US915_HYBRID not test

What certainly works:

  • Sending payload to a LoRa gateway via LoRaWAN protocol;
  • Encryption and message integrity checking;
  • Over-the-air activation (OTAA / joining);
  • Deep sleep and wake up;
  • Class A operation;
  • Class C operation;
  • ABP mode.

What has not been tested:

  • Receiving downlink packets in the RX2 window.

How to use this library

The only different with a common Arduino library is need a unique license. It's relate to ESP32 Chip ID.

How to get your board's Chip ID?

How to get the unique license?

Only the boards made after August 2018 can be checked from this page, if you have a former version, you can mail to [email protected] and improve you already have a Heltec Automation made board.

Choose the right working band you need

Choose working band you need In the Arduino tools menu:

For more details about how to use this library, please refer to this document:

ESP32 LoRaWAN library usage.

 

How to Use This Library in Platform.io?

The options in the Tools menu is relate to the Heltec ESP32 development framework, but in the Platform.io, it's use original Espressif ESP32 framework. So we need additional definition the build_flags in platformio.ini file.

build_flags = 
   -D REGION_CN470
   -D ACTIVE_REGION=LORAMAC_REGION_CN470
   -D LoRaWAN_DEBUG_LEVEL=0

Contact us

Issue/Bug report template

Before reporting an issue, make sure you've searched for similar one that was already created. Also make sure to go through all the issues labeled as for reference.

Also you can talk in our forum: http://community.heltec.cn/