Skip to main content

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

sx126x-2.2.1.tar.gz (29.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sx126x-2.2.1-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

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

Hashes for sx126x-2.2.1.tar.gz
Algorithm Hash digest
SHA256 2e16bc27583029d18078a22a592993e0a4f1bc2bccba534a2577b4b0c87058a8
MD5 bca596639d785bf9a8cac208ecb1ab13
BLAKE2b-256 8c05cf0bdc7a149d6c8471d65023823ed1f86c659772830d7d21dd2f99214f20

See more details on using hashes here.

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

Hashes for sx126x-2.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c64c67bfeede1abd7bcfa92ed3686029ff26c8fdcc905744c5641e8575e850b0
MD5 51a04b5a4afea51bb0e2c3bb974c308e
BLAKE2b-256 b0a1d8aa7ee40ed1b580a70141cb8b8b47e5e17e865137b7158e5625f50c5b85

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page