跳转到主要内容

CircuitPython库,用于RFM95/6/7/8 LoRa 433/915MHz无线电模块。

项目描述

简介

Documentation Status Discord Build Status Code Style: Black

CircuitPython模块,用于RFM95/6/7/8 LoRa 433/915MHz无线电模块。

依赖关系

此驱动程序依赖于

请确保所有依赖项都可在CircuitPython文件系统中使用。这可以通过下载Adafruit库和驱动程序捆绑包轻松实现。

从PyPI安装

在支持GNU/Linux系统(如Raspberry Pi)上,您可以从PyPI本地安装驱动程序。为当前用户安装

pip3 install adafruit-circuitpython-rfm9x

为系统范围内安装(在某些情况下可能需要)

sudo pip3 install adafruit-circuitpython-rfm9x

在当前项目的虚拟环境中安装

mkdir project-name && cd project-name
python3 -m venv .venv
source .venv/bin/activate
pip3 install adafruit-circuitpython-rfm9x

使用示例

初始化RFM无线电需要指定适合您无线电硬件的频率(例如,868-915或433 MHz),并指定从控制器板到无线电模块的接线所使用的引脚。

此示例代码与Raspberry Pi的LoRa和LoRaWAN无线电项目中使用的接线匹配

import digitalio
import board
import busio
import adafruit_rfm9x

RADIO_FREQ_MHZ = 915.0
CS = digitalio.DigitalInOut(board.CE1)
RESET = digitalio.DigitalInOut(board.D25)
spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO)
rfm9x = adafruit_rfm9x.RFM9x(spi, CS, RESET, RADIO_FREQ_MHZ)

注意:SPI的默认波特率为50000000(5MHz)。最大设置为10MHz,但已观察到传输错误,特别是在使用断线板时。对于断线板或其他配置,其中板子被分开,可能需要降低波特率以确保可靠的数据传输。在初始化板子时,波特率可以作为关键字参数指定。要将波特率设置为1000000,请使用

# Initialze RFM radio with a more conservative baudrate
rfm9x = adafruit_rfm9x.RFM9x(spi, CS, RESET, RADIO_FREQ_MHZ, baudrate=1000000)

存在可选控制来更改无线电使用的信号带宽、编码速率和扩频因子设置,以在不同环境中实现更好的性能。默认情况下,使用与RadioHead Bw125Cr45Sf128模式兼容的设置,可以通过以下方式更改(从上述示例继续)

# Apply new modem config settings to the radio to improve its effective range
rfm9x.signal_bandwidth = 62500
rfm9x.coding_rate = 6
rfm9x.spreading_factor = 8
rfm9x.enable_crc = True

有关使用示例,请参阅examples/rfm9x_simpletest.py。

文档

此库的API文档可在Read the Docs上找到。

有关构建库文档的信息,请参阅本指南

贡献

欢迎贡献!请在贡献之前阅读我们的行为准则,以帮助使本项目保持开放。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

adafruit-circuitpython-rfm9x-2.2.16.tar.gz (39.8 KB 查看哈希值

上传时间

构建分布

adafruit_circuitpython_rfm9x-2.2.16-py3-none-any.whl (15.1 KB 查看哈希值

上传时间 Python 3

支持者