這是使用無線電收發器芯片SX1262和SX1268的Arduino庫,用於LORA通信。

AI-Thinker提供了幾個Lora模塊。
您可以在Aliexpress和eBay上獲得這些。
| 模型 | 類型 | 接口/核心 | 晶片 | 頻率 | 足跡 | IPEX-ANTENA | 洛拉·旺(Lora-Wan) |
|---|---|---|---|---|---|---|---|
| RA-01 | Tranceiver | spi | SX1278 | 410-525MHz | SMD16 | 不 | 不 |
| RA-02 | Tranceiver | spi | SX1278 | 410-525MHz | SMD16 | 是的 | 不 |
| RA-01H | Tranceiver | spi | SX1276 | 803-930MHz | SMD16 | 不 | 不 |
| RA-01 | Tranceiver | spi | SX1268 | 410-525MHz | SMD16 | 不 | 不 |
| RA-01SH | Tranceiver | spi | SX1262 | 803-930MHz | SMD16 | 是的 | 不 |
| RA-01SC | Tranceiver | spi | LLCC68 | 410-525MHz | SMD16 | 是的 | 不 |
| RA-06 | MCU | 手臂皮層M0+ | SX1278 | 410-525MHz | SMD20 | 是的 | 不 |
| RA-07 | MCU | 手臂皮層M0+ | ASR6501 | 410-525MHz | SMD18 | 不 | 是的 |
| RA-07H | MCU | 手臂皮層M0+ | ASR6501 | 803-930MHz | SMD18 | 不 | 是的 |
| RA-08 | MCU | 手臂皮層M4 | ASR6601 | 410-525MHz | SMD18 | 不 | 是的 |
| RA-08H | MCU | 手臂皮層M4 | ASR6601 | 803-930MHz | SMD18 | 不 | 是的 |
具有SX1262/1268的LORA模塊有幾個選項。
使用TCXO(溫度補償的晶體振盪器)
SX1262/1268可以使用TCXO。
如果使用TCXO,則未連接XTB引腳。
但是,SX1262/1268的第6引腳(DIO3)可用於為TCXO供電。
TXCO和天線控制的解釋在這裡。
RA-01S / RA-01SH不使用TCXO。
電源模式
SX1262/1268具有兩種電源模式。
一個是只有在所有模式中使用的LDO。
另一個是DC_DC+LDO用於STBY_XOSC,FS,RX和TX模式。
LDO和DCDC選擇的說明在這裡。
RA-01S / RA-01SH僅在所有模式下使用LDO。
RF開關
通常,使用DiO2切換RF-SWITCH。
但是,某些Tranceiver使用外部GPIO切換RF-SWITCH。
RA-01S / RA-01SH使用SC70-6集成負載開關在RFO和RFI之間切換。
RA-01S / RA-01SH使用DiO2來控制這一點。
dio2 = 1,ctrl = 0,rfc至rf1 tx模式。
dio2 = 0,ctrl = 1,rfc至r21 rx模式。
您需要查看適當設置這些選項的原理圖,但它非常深奧。
此庫的默認設置適用於RA-01 / RA-01SH。
當使用RA-01 / RA-01SH以外,您需要適當設置它們。
我基於此創建了這個庫。
使用此庫,RA-01S / RA-01SH不起作用。
RA-01SC使用LLCC68。
RA-01SC與RA-01兼容。
但是,有以下限制:

RA-01
https://docs.ai-thinker.com/_media/lora/docs/ra-01s_specification.pdf
RA-01SH
https://docs.ai-thinker.com/_media/lora/docs/ra-01sh_specification.pdf
RA-01SC(中文)
https://img.iceasy.com/product/product/files/202108/8A8A8A1A7A7B55017B2EF7B2EF70A370953.PDF
RA-0X(SMD16)具有與ESP12相同的腳圖案。
因此,可以使用用於ESP12的音高轉換PCB。


下載此回購作為zip。然後在Arduino IDE中轉到素描 - >添加庫 - >添加.zip庫。
| RA-01S/SH | UNO | 百萬 | ESP8266 | |
|---|---|---|---|---|
| VCC | - - | 3.3V(*1) | 3.3V | 3.3V |
| gnd | - - | gnd | gnd | gnd |
| SCK | - - | D13(*2) | D52(*2) | IO14 |
| 味o | - - | D12 | D50 | IO12 |
| 莫西 | - - | D11(*2) | D51(*2) | IO13 |
| NSS | - - | D5(*2) | D5(*2) | IO2 |
| 第 | - - | D6(*2) | D6(*2) | IO0 |
| 忙碌的 | - - | D7(*2) | D7(*2) | IO16 |
| txen | - - | N/C。 | N/C。 | N/C。 |
| rxen | - - | N/C。 | N/C。 | N/C。 |
(*1)
UNO的3.3V輸出只能提供50mA。
此外,不兼容設備的輸出當前容量要小於官方產品。
因此,當從板載3V3提供時,該模塊可能無法正常工作。
(*2)
SX126X的耐受性不足。
您需要從5V轉移到3.3V。
我將其用於級別的轉變。
Ebyte提供了幾個Lora模塊。
您可以在Aliexpress和eBay上獲得這些。
| 模型 | 介面 | 晶片 | 頻率 | 力量 | 腳扎 | IPEX-ANTENA | 洛拉·旺(Lora-Wan) |
|---|---|---|---|---|---|---|---|
| E22-400M22S | spi | SX1268 | 433/470MHz | 160MW | 標準 | 是的 | 不 |
| E22-400M30 | spi | SX1268 | 433/470MHz | 1000MW | 標準 | 是的 | 不 |
| E22-400MM22S | spi | SX1268 | 433/470MHz | 160MW | 小的 | 不 | 不 |
| E22-900M22S | spi | SX1262 | 868/915MHz | 160MW | 標準 | 是的 | 不 |
| E22-900M30 | spi | SX1262 | 868/915MHz | 1000MW | 標準 | 是的 | 不 |
| E22-900MM22S | spi | SX1262 | 868/915MHz | 160MW | 小的 | 不 | 不 |


隨著這種更改,它起作用。
/*
SX126x lora(5, //Port-Pin Output: SPI select
6, //Port-Pin Output: Reset
7 //Port-Pin Input: Busy
);
int16_t ret = lora.begin(RF_FREQUENCY, //frequency in Hz
TX_OUTPUT_POWER); //tx power in dBm
*/
SX126x lora(5, //Port-Pin Output: SPI select
6, //Port-Pin Output: Reset
7 //Port-Pin Input: Busy
8 //Port-Pin Output: TXEN
9 //Port-Pin Output: RXEN
);
int16_t ret = lora.begin(RF_FREQUENCY, //frequency in Hz
TX_OUTPUT_POWER, //tx power in dBm
3.3, //use TCXO
true); //use TCXO
需要另外兩根電線。
| ebyte | UNO | 百萬 | ESP8266 | |
|---|---|---|---|---|
| txen | - - | 8(*3) | 8(*3) | D4 |
| rxen | - - | 9(*3) | 9(*3) | D5 |
(*3)
SX126X的耐受性不足。
您需要從5V轉移到3.3V。
音高轉換基礎在這裡。
SX1262和LLCC68兼容,但由於某些原因,它們不起作用。
| 模型 | 介面 | 晶片 | 頻率 | 力量 | 腳扎 | IPEX-ANTENA | 洛拉·旺(Lora-Wan) |
|---|---|---|---|---|---|---|---|
| E220-400M22S | spi | LLCC68 | 433/470MHz | 160MW | 標準 | 是的 | 不 |
| E220-400M30 | spi | LLCC68 | 433/470MHz | 1000MW | 標準 | 是的 | 不 |
| E220-900M22S | spi | LLCC68 | 868/915MHz | 160MW | 標準 | 是的 | 不 |
| E220-900M30 | spi | LLCC68 | 868/915MHz | 1000MW | 標準 | 是的 | 不 |
該庫可以與Radiolib通信。
Radiolib需要連接DIO1才能進行工作。
// Set frequency: 866Mhz
// Set bandwidth(BW): 125Khz
// Set Spreading Factor(SF): 7
// Set Error Cording Rate(CR): 4/5
// Set SyncWord: 0x1424(Private Network)
// Set Power: 10dBm
// Set Preamble Length: 8
// Configure the radio to NOT use a TCXO controlled by DIO3
// Set regulator mode: DC-DC
int state = radio.begin(866.0, 125.0, 7, 5, RADIOLIB_SX126X_SYNC_WORD_PRIVATE, 10, 8, 0.0, false);
這將有所幫助。
$ git clone https://github.com/nopnop2002/Arduino-LoRa-Ra01S
$ cd Arduino-LoRa-Ra01S/example/Ra01S-RX/
$ pio init -b d1_mini
$ cp Ra01S-RX.ino src/
$ vi src/Ra01S-RX.ino
Disable AtMega
Enable ESP8266
$ vi platform.ini
[env:d1_mini]
platform = espressif8266
board = d1_mini
framework = arduino
lib_deps = https://github.com/nopnop2002/Arduino-LoRa-Ra01S --> Add this line
$ pio run -t upload && pio device monitor -b 115200