As of today,June 11th 2022, Demo Code from https://www.waveshare.com/wiki/Pico-LoRa-SX1262-868M for this HAT did not work for me.
I spent 6 weeks sending emails back and forth and all they could do was tell me my keys didn't work (even though I told them they worked on a Pico-RFM95W setup).
Anyway, the problem was traced to the file src/lorawan.c and some code, using sscanf("%2hhx"), which corrupted the keys. I replaced calls to that with a simple method to convert the ascii hex keys to a byte array and the board now talks to TTN
NOTE: Sandeep Mistry has updated his code in src/board/rp2040/spi-board.c - that change is included here.
What follows is Waveshare's original readme.
Enable LoRaWAN communications on your Raspberry Pi Pico or any RP2040 based board using a Semtech SX1276 radio module.
Based on the Semtech's LoRaWAN end-device stack implementation and example projects.
Raspberry Pi Pico / RP2040 | Semtech SX1276 |
---|---|
3.3V | VCC |
GND | GND |
GPIO 18 | SCK |
GPIO 19 | MOSI |
GPIO 16 | MISO |
GPIO 7 | DIO0 / G0 |
GPIO 8 | NSS / CS |
GPIO 9 | RESET |
GPIO 10 | DIO1 / G1 |
GPIO pins are configurable in examples or API.
See examples folder.
There is a config.h
file to your ABP or OTAA node configuration for each example.
git clone --recurse-submodules https://github.com/sandeepmistry/pico-lorawan.git
PICO_SDK_PATH
export PICO_SDK_PATH=/path/to/pico-sdk
build
dir, run cmake
and make
:
mkdir build
cd build
cmake .. -DPICO_BOARD=pico
make
.uf2
to Pico when in BOOT mode.A big thanks to Alasdair Allan for his initial testing of EU868 support!
This project was created on behalf of the Arm Software Developers team, follow them on Twitter: @ArmSoftwareDev and YouTube: Arm Software Developers for more resources!