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.4.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.4-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file sx126x-2.2.4.tar.gz.

File metadata

  • Download URL: sx126x-2.2.4.tar.gz
  • Upload date:
  • Size: 29.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sx126x-2.2.4.tar.gz
Algorithm Hash digest
SHA256 abd38f0147475f37f178a5f34f57484517c0229913e319f3fc23a7d82c6f80d6
MD5 93ac91dc73c4bd548e5735addbd9b9d2
BLAKE2b-256 a2405cc09c8d0a0d6f2cd14dd8c429a2d1ab1c1fea563f435cce6a18511956ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for sx126x-2.2.4.tar.gz:

Publisher: publish.yml on nbdy/pysx126x

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sx126x-2.2.4-py3-none-any.whl.

File metadata

  • Download URL: sx126x-2.2.4-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sx126x-2.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f722d7f4076bcb606a116053666e7a9f996360f5fffb8aca72e71e37aadb87a1
MD5 d597fb8793583d00db76f8ae7f264956
BLAKE2b-256 a62e0105c8cc671cc183838455f8efab284b3335f840c28a408886de4cb10c0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for sx126x-2.2.4-py3-none-any.whl:

Publisher: publish.yml on nbdy/pysx126x

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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