该回购比基本的SX1276操作更具实现,而Learn_sx1276显示了所有基础知识。
SX1276
SX1276洛拉无线电调制解调器的Micropython库
特征
- MAC层(半双链)。
- 一个SX1276可以以阻止方式发送“ REQ”数据包,并期望指定的SX1276用“ ACK”数据包响应。此过程由此库处理。
- 一个SX1276可以以非阻滞方式发送“ BRD”数据包,并且期望没有“ ACK”回复。
- 实施FHSS(首先?)
- 如果停留时间超过阈值400ms,则FCC要求跳频跳。
- 较大的扩散因子和狭窄的带宽可以显着延长停留时间,因此频率跳跃对于传输大包装是必要的。
用法
- 上传lora.py到McUs(Heltec Wifi Lora 32 V2)
- 在两个单独的MCUS上运行Sender.py和receiver.py.py
我的开发环境
- 两个带SX1276的MCU(ESP32:Heltec WiFi Lora 32 V2)
- 闪存mcus与微py
- 通过USB将两个MCUS连接到带有VSCODE的Linux机器
- 安装vscode的pico-w-go扩展
- 在两个Vscode Windows中打开发件人/接收器文件夹
- 配置发件人/接收器项目pico-w-go
- 在pico-w-go中指定“手动com设备”并重新启动pico-w-go
- 使用pico-w-go命令
示例代码的控制台输出

FHSS
- 为了证明频率跳高点,我使用RTL-SDR监视频谱。在下面的瀑布图中,我们看到了914至916MHz的信号跃点,就像我对其进行了编程一样。

- 如果消息简短,则不需要FHSS。例如,可以在400ms以下传输29个数据包,给定参数{sf:10,bw:125kHz,cr:4/5,标题:显式,preamble:6}。

下载上述播放时间计算器
笔记
- FHSS功能只能通过在Channels2Hopping / fhss_list中指定一个频率来关闭。
- 在TX之前进行通道活动检测(CAD)是毫无意义的,因为SX1276仅匹配持续几毫秒的难以捉摸的序言。谈话或CSMA之前没有好的解决方案。