이것은 무선 트랜시버 칩 SX1262 및 SX1268을 사용한 LORA 통신을위한 Arduino 라이브러리입니다.

AI-Thinker는 여러 LORA 모듈을 제공합니다.
Aliexpress 및 eBay에서 얻을 수 있습니다.
| 모델 | 유형 | 인터페이스/코어 | 칩 | 빈도 | 발자국 | ipex-antena | 로라 온 |
|---|---|---|---|---|---|---|---|
| RA-01 | 트랜스버 | SPI | SX1278 | 410-525MHz | SMD16 | 아니요 | 아니요 |
| RA-02 | 트랜스버 | SPI | SX1278 | 410-525MHz | SMD16 | 예 | 아니요 |
| RA-01H | 트랜스버 | SPI | SX1276 | 803-930MHz | SMD16 | 아니요 | 아니요 |
| RA-01S | 트랜스버 | SPI | SX1268 | 410-525MHz | SMD16 | 아니요 | 아니요 |
| RA-01SH | 트랜스버 | SPI | SX1262 | 803-930MHz | SMD16 | 예 | 아니요 |
| RA-01SC | 트랜스버 | 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에는 두 가지 전원 공급 장치 모드가 있습니다.
하나는 모든 모드에서만 사용된다는 것입니다.
다른 하나는 stby_xosc, fs, rx 및 tx 모드에 사용 된 dc_dc+ldo입니다.
LDO 및 DCDC 선택에 대한 설명은 여기에 있습니다.
RA-01S / RA-01SH는 모든 모드에서 LDO 만 사용합니다.
RF 스위치
일반적으로 DIO2를 사용하여 RF 스위치를 전환하십시오.
그러나 일부 트랜스 디버는 외부 GPIO를 사용하여 RF 스위치를 전환합니다.
RA-01S / RA-01SH SC70-6 통합로드 스위치를 사용하여 RFO와 RFI간에 전환하십시오.
RA-01S / RA-01SH는 DIO2를 사용하여이를 제어합니다.
dio2 = 1, ctrl = 0, rfc to rf1 tx 모드입니다.
dio2 = 0, ctrl = 1, rfc ~ r21 rx 모드입니다.
이러한 옵션을 올바르게 설정하려면 회로도를 살펴 봐야하지만 매우 난해합니다.
이 라이브러리의 기본 설정은 RA-01S / RA-01SH 용입니다.
RA-01S / RA-01SH 이외의 다른 것을 사용하는 경우 적절하게 설정해야합니다.
나는 이것을 기반 으로이 라이브러리를 만들었습니다.
이 라이브러리를 사용하면 RA-01S / RA-01SH가 작동하지 않습니다.
RA-01SC는 LLCC68을 사용합니다.
RA-01SC는 RA-01과 호환됩니다.
그러나 다음과 같은 제한 사항이 있습니다.

RA-01S
https://docs.ai-thinker.com/_media/lora/docs/ra-01sspecification.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/8a8a1a7aec7b55017b2ef70a370953.pdf
RA-0X (SMD16)는 ESP12와 동일한 발 패턴을 갖습니다.
따라서 ESP12 용 피치 변환 PCB를 사용할 수 있습니다.


이 저장소를 지퍼로 다운로드하십시오. 그런 다음 Arduino IDE에서 Sketch-> Library-> 추가 .zip 라이브러리를 추가하십시오.
| RA-01S/SH | 우노 | 메가 | ESP8266 | |
|---|---|---|---|---|
| VCC | - | 3.3V (*1) | 3.3v | 3.3v |
| Gnd | - | Gnd | Gnd | Gnd |
| SCK | - | D13 (*2) | D52 (*2) | IO14 |
| 된장 | - | D12 | D50 | IO12 |
| 모시 | - | D11 (*2) | D51 (*2) | IO13 |
| NSS | - | D5 (*2) | D5 (*2) | IO2 |
| rst | - | 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 내성이 아닙니다.
5V에서 3.3V로 레벨 전환이 필요합니다.
나는 이것을 레벨 변화에 사용했습니다.
Ebyte는 여러 LORA 모듈을 제공합니다.
Aliexpress 및 eBay에서 얻을 수 있습니다.
| 모델 | 인터페이스 | 칩 | 빈도 | 힘 | 발자국 | ipex-antena | 로라 완 |
|---|---|---|---|---|---|---|---|
| E22-400m22 | SPI | SX1268 | 433/470MHz | 160MW | 기준 | 예 | 아니요 |
| E22-400M30 | SPI | SX1268 | 433/470MHz | 1000MW | 기준 | 예 | 아니요 |
| E22-400mm22S | SPI | SX1268 | 433/470MHz | 160MW | 작은 | 아니요 | 아니요 |
| E22-900m22 | 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
두 개의 추가 와이어가 필요합니다.
| 에비트 | 우노 | 메가 | ESP8266 | |
|---|---|---|---|---|
| txen | - | 8 (*3) | 8 (*3) | D4 |
| rxen | - | 9 (*3) | 9 (*3) | D5 |
(*3)
SX126X는 5V 내성이 아닙니다.
5V에서 3.3V로 레벨 전환이 필요합니다.
피치 변환베이스가 여기에 있습니다.
SX1262 및 LLCC68은 호환되지만 어떤 이유로 든 작동하지 않습니다.
| 모델 | 인터페이스 | 칩 | 빈도 | 힘 | 발자국 | ipex-antena | 로라 완 |
|---|---|---|---|---|---|---|---|
| E220-400m22 | 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