ESP32-LoRa Heltec
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
ESP32 (32 bits, 2 cores, 180 MHz)
- Connectivity
- WiFi
- BLE
- LoRa (SX1276) 433MHz, 868MHz, 915MHz
Links
Installation
mkdir -p ~/Documents/Arduino/hardware cd ~/Documents/Arduino/hardware git clone https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series.git heltec cd heltec/esp32 git submodule update --init --recursive cd tools python get.py
Configuration
Programs
Board 1 (Sender)
Open and load the schetch : Examples > LoRaLibrary > OLED_LoRa_Sender
Board 2 (Receiver)
Open and load the schetch : Examples > LoRaLibrary > OLED_LoRa_Receiver
Add LoRaWAN configuration
Add the following statements into the 2 schetches.
... // LoRa API https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/blob/master/esp32/libraries/LoRa/API.md // LoRaWAN Parameters #define BAND 868100000 //you can set band here directly,e.g. 868E6,915E6 #define PABOOST false #define TXPOWER 14 #define SPREADING_FACTOR 12 #define BANDWIDTH 125000 #define CODING_RATE 5 #define PREAMBLE_LENGTH 8 #define SYNC_WORD 0x34 void configForLoRaWAN() { LoRa.setTxPower(TXPOWER); LoRa.setSpreadingFactor(SPREADING_FACTOR); LoRa.setSignalBandwidth(BANDWIDTH); LoRa.setCodingRate4(CODING_RATE); LoRa.setPreambleLength(PREAMBLE_LENGTH); LoRa.setSyncWord(SYNC_WORD); LoRa.crc(); } String loraCfg = "Cfg:"; void displayLoRaConfig(int x, int y){ loraCfg = "fr " + String(BAND/1000000, DEC) + " sf" + String(SPREADING_FACTOR, DEC) + " bw" + String(BANDWIDTH/1000, DEC) + " cr" + String(CODING_RATE, DEC) + "/4"; display.drawString(x, y, loraCfg); loraCfg = + " pr" + String(PREAMBLE_LENGTH, DEC) + " pw" + String(TXPOWER, DEC) + " sw" + String(SYNC_WORD, HEX) ; display.drawString(x, y+10, loraCfg); } ... // should be done before LoRa.begin configForLoRaWAN(); if (!LoRa.begin(BAND,PABOOST)) { display.drawString(0, 0, "Starting LoRa failed!"); display.display(); while (1); } displayLoRaConfig(0,20); display.drawString(0, 0, "LoRa Initial success!"); ... display.display(); ...
Simple LoRaWAN Sender (in ABP mode / No ADR)
Under construction
Install LMIC
- https://github.com/berkutta/esp32_lmic
- https://github.com/espressif/esp-idf
- https://github.com/matthijskooijman/arduino-lmic