Interface for RAK811 LoRa module
Project description
RAK811 Python 3 library for Raspberry Pi
About
RAK811 Python 3 library and command-line interface for use with the Raspberry Pi LoRa pHAT.
The library exposes the AT commands as described in the RAK811 Lora AT Command User Guide V1.5.
The command-line interface exposes all API calls to the command line.
Commands currently implemented:
- System commands
- LoRaWan commands
- Radio
Not implemented yet:
- LoraP2P
- Peripheral
Installation
Requirements
- A Raspberry Pi!
- A RAK811 LoRa module (PiSupply IoT LoRa Node pHAT for Raspberry Pi )
- On the Raspberry Pi the hardware serial port must be enabled and the serial console disabled (use
raspi-config
); - The user running the application must be in the
dialout
andgpio
groups.
Library
From PyPI
# Create a virtualenv (optional)
python3 -m virtualenv -p python3 venv
source venv/bin/activate
# Install the package -- this will pull the dependencies
pip install rak811
From GitHub
# Clone this repository
git clone https://github.com/AmedeeBulle/pyrak811.git
cd rak811
# Create a virtualenv (optional)
python3 -m virtualenv -p python3 venv
source venv/bin/activate
# Install the package -- this will pull the dependencies
pip install .
Usage
See the example directory on GitHub:
api_demo.py
: demo most of the API callsotaa.py
exampleabp.py
example
To run the examples, first copy the ttn_secrets_template.py
to ttn_secrets.py
and enter your LoRaWan TheThingsNetwork keys.
Note: you do not need to hard_reset
the module each time you run a script.
However you must do it the first time after a (re)boot to activate the module.
Command-line interface
The rak811
command exposes all library calls to the command line:
$ rak811 --help
Usage: rak811 [OPTIONS] COMMAND [ARGS]...
Command line interface for the RAK811 module.
Options:
-v, --verbose Verbose mode
--help Show this message and exit.
Commands:
abp-info Get ABP info.
band Get/Set LoRaWan region.
clear-radio-status Clear radio statistics.
dr Get/set next send data rate.
get-config Get LoraWan configuration.
hard-reset Hardware reset of the module.
join-abp Join the configured network in ABP mode.
join-otaa Join the configured network in OTAA mode.
link-cnt Get up & downlink counters.
mode Get/Set mode to LoRaWan or LoRaP2P.
radio-status Get radio statistics.
recv-ex RSSI & SNR report on receive.
reload Set LoRaWan or LoRaP2P configurations to default.
reset Reset Module or LoRaWan stack.
send Send LoRaWan message and check for downlink.
set-config Set LoraWAN configuration.
signal Get (RSSI,SNR) from latest received packet.
sleep Enter sleep mode.
version Get module version.
wake-up Wake up.
Session example:
$ rak811 -v reset lora
LoRa reset complete.
$ rak811 -v set-config app_eui=70B3D5xxxxxxxxxx app_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
LoRaWan parameters set
$ rak811 -v join-otaa
Joined in OTAA mode
$ rak811 -v dr
5
$ rak811 -v dr 4
Data rate set to 4.
$ rak811 -v send Hello
Message sent.
No downlink available.
$ rak811 -v send --port 4 --binary '01020211'
Message sent.
Downlink received:
Port: 1
RSSI: -56
SNR: 31
Data: 123456
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.