- This library must work with newest Heltec_ESP32 development framework
- For now, new features still not included in the release version, must install this framework via Git.
- This library is make LoRaWAN 1.0.2 protocol running with ESP32. Only support the ESP32 + LoRa series products made by HelTec Automation(TM), and a LoRa gateway is must needed;
- LoRaWAN relevant parameters are defined in the .ino file;
- This library is transplanted from https://github.com/Lora-net/LoRaMac-node;
- Use RTC and deep sleep mode supported, only a few milliseconds wake up in a cycle;
- [Heltec LoRa Node Family](Heltec Automation(TM) products index page).
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
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/
- Gateway: HT-M01 Mini LoRa Gateway + Raspberry Pi Zero W
- Node: WIFI LoRa 32 V2, Wireless Stick, Wireless Stick Lite
- Lora Server:
- Arduino 1.8.10
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?
- Use this simple example to read your Chip ID: https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/tree/master/esp32/libraries/ESP32/examples/ChipID/GetChipID
How to get the unique license?
- http://www.heltec.cn/search/ Open this page and input your ChipID
Only the boards made after August 2018 can be checked from this page, if you have a former version, you can mail to firstname.lastname@example.org 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:
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 = -D REGION_CN470 -D ACTIVE_REGION=LORAMAC_REGION_CN470 -D LoRaWAN_DEBUG_LEVEL=0
- Document Page: https://docs.heltec.cn
- Forum: http://community.heltec.cn/
- Twitter: https://twitter.com/HeltecOrg
- Face Book: https://www.facebook.com/heltec.automation.5
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/