No project description provided
Project description
sx126x
A Python library for interfacing with SX126X LoRa modules. This library provides a simple API for configuring and using SX126X devices for wireless communication.
Hardware Requirements
This library is designed to work with SX126X LoRa modules connected to a Raspberry Pi. The default configuration assumes the module is connected to GPIO pins 5 and 6 for mode control, but this can be customized.
Installation
Using pip:
pip install sx126x
Using uv:
uv pip install sx126x
For more information about uv, see https://docs.astral.sh/uv/
Default Configuration
| Parameter | Default Value | Description |
|---|---|---|
address |
Address.parse("242.242") |
Device address |
net_id |
1 |
Network ID |
channel |
1 |
Channel |
port |
None |
Serial port path |
pin_m0 |
6 |
GPIO 6 — Mode select pin M0 |
pin_m1 |
5 |
GPIO 5 — Mode select pin M1 |
baud_rate |
BaudRate.B9600 |
UART baud rate |
byte_size |
8 |
Number of data bits |
parity |
Parity.NONE |
Parity bit setting |
stop_bits |
1 |
Number of stop bits |
write_persist |
False |
Write registers persistently |
mode |
Mode.CONFIGURATION |
Set M0 and M1 according to mode |
timeout |
2 |
Read/write timeout in seconds |
debug |
False |
Enable debug logging |
air_speed |
AirSpeed.K2_4 |
Air data rate |
packet_size |
PacketSize.SIZE_128 |
Packet size |
ambient_noise |
AmbientNoise.DISABLED |
Ambient noise detection mode |
transmit_power |
TransmitPower.DBM_22 |
RF transmit power |
rssi |
RSSI.DISABLED |
Add RSSI to RX data |
transfer_method |
TransferMethod.FIXED |
Transmission addressing mode |
relay |
Relay.DISABLED |
Enable or disable relay functionality |
lbt |
LBT.DISABLED |
Listen Before Talk mode |
wor_control |
WORControl.TRANSMIT |
WOR (Wake On Radio) mode control |
wor_period |
WORPeriod.MS_500 |
WOR cycle period |
crypt_key |
CryptKey(0, 0) |
16-bit encryption key |
overwrite_defaults |
True |
Whether to override internal default parameters |
Usage Examples
The following examples demonstrate how to use the SX126X library for basic sending and receiving operations.
Sender
from sx126x import SX126X, Address
lora = SX126X(Address(3, 4))
lora.tx(Address(6, 9), b"Hello from device 3.4")
Receiver
from sx126x import SX126X, Address
lora = SX126X(Address(6, 9))
address, data = lora.rx()
# or
def lora_cb(address: Address, data: bytes) -> bool:
if address.__str__() == "3.4" and data == b"Hello from device 3.4":
print(f"Received message: {data.decode()}")
return False # stop receiving
return True # continue receiving
lora.rx_loop(lora_cb)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sx126x-2.2.1.tar.gz.
File metadata
- Download URL: sx126x-2.2.1.tar.gz
- Upload date:
- Size: 29.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e16bc27583029d18078a22a592993e0a4f1bc2bccba534a2577b4b0c87058a8
|
|
| MD5 |
bca596639d785bf9a8cac208ecb1ab13
|
|
| BLAKE2b-256 |
8c05cf0bdc7a149d6c8471d65023823ed1f86c659772830d7d21dd2f99214f20
|
File details
Details for the file sx126x-2.2.1-py3-none-any.whl.
File metadata
- Download URL: sx126x-2.2.1-py3-none-any.whl
- Upload date:
- Size: 15.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c64c67bfeede1abd7bcfa92ed3686029ff26c8fdcc905744c5641e8575e850b0
|
|
| MD5 |
51a04b5a4afea51bb0e2c3bb974c308e
|
|
| BLAKE2b-256 |
b0a1d8aa7ee40ed1b580a70141cb8b8b47e5e17e865137b7158e5625f50c5b85
|