該回購比基本的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之前沒有好的解決方案。