Skip to content

nguyenmanhthao996tn/LoRaSpaceLib-STM32WL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛰 LoRaSpaceLib 🛰 for RAK3172 (STM32WL)

This reposistory aims to deploy the LoRaSpaceLib on RAK3172 (STM32WLE55CCUx) using STM32duino Core.

Installation

Requirement

💾 Software

⚙ Hardware

  • A device with RAK3172 integrated
  • A USB TTL connect to UART2 of RAK3172 module to program it

Additional Libraries

These below libraries are OPTIONAL. They are only used in relay_lowpower_example.ino & STM32WL-Lowpower.ino.

Setup Guide

  1. Download & install the required software listed in the previous section
  2. Download this reposistory as ZIP

  1. Open ArduinoIDE, go to Sketch -> Include Library -> Add .ZIP Library... and browse for the downloaded ZIP file in step 1.
  2. (Optional) Restart ArduinoIDE
  3. Plug your RAK3172 board to your PC
  4. Go to Tool menu, config as following (Port selection is depend on your PC)

  1. Go to File -> Examples -> LoRaSpaceLib-RAK3172 & select your sketch.

  1. Trigger Bootloader Mode in your board & Click Upload (Ctrl + U) & enjoy!

FAQ ⁉

Can this library communicate with LoRaWAN Satellites?

Technically, Yes if you send LR-FHSS packets in the approriate format & configuration. However, communicating between devices on Earth and Satellites is quite challenging and required some special aspects. I would recommended you to contact Lacuna Space for accessing of their LoRaWAN Satellites and RFThings for antennas/RF advises.

What is the default syncword for LR-FHSS packets?

It's 2C 0F 79 95. You can change it with void set_lrfhss_syncword(uint32_t syncword); function.

const uint8_t lr_fhss_sync_word[4] = {0x2C, 0x0F, 0x79, 0x95};

Is this library Low-power?

It's mostly depend on your application source code.

All examples in this library except for relay_lowpower_example.ino & STM32WL-Lowpower.ino are non-low-power to keep it simple.

For Low-power relay activity, relay_lowpower_example.ino example can archived the average current consumption of ~60 uA. However, this value is not the best case senario. You can change the RX SYMBOL, SLEEP INTERVAL & SLEEP Mode to gain more battery lifetime. These configuration should be optimized according to the actual deployment. Refer to docs folder for more information on measurement results.

For other normally sleep (without using of Radio while sleeping - STM32WL-Lowpower), it can reach ~5 uA. Measurement results are available in docs folder.

If you have any question or discussion points, please let me know via the Issues & Disscussions tabs 💖

🍀 Credits

Thanks Côte d'Azur University & RFThings CO.,Ltd. for lending me the hardware. The original LoRaSpaceLib is also developed by RFThings.

🏁 To-do

  • Propose the To-do list 😂
  • Library functionalities
    • LoRa PHY Send/Receive
    • LoRaWAN ABP Uplink/Downlink
    • LR-FHSS
    • LoRaWAN over LR-FHSS
    • Send to relay
    • Receive from Relay
    • CW
    • MCU Stop mode
  • Integrate RF Switch controlling into the library
  • Implement function of changing the LR-FHSS syncword
  • Support interrupts (via EXTI and via Radio Interrupt) for Low-power activities
  • Write installation guide
  • Write FAQ section
  • Propose tests/test results to verify all Parameters
  • Merge library with other sx126x/lr11xx hardware library (DKAIoT, Gemini)
  • Customize STM32Duino Core

Maintained by M.T.

About

LoRaSpaceLib for STM32WL

Resources

Stars

Watchers

Forks

Packages

No packages published