Esta es una biblioteca Arduino para la comunicación Lora utilizando los chips de radio transceptor SX1262 y SX1268.

AI-STINKER ofrece varios módulos Lora.
Puedes obtenerlos en AliExpress y eBay.
| Modelo | Tipo | Interfaz/núcleo | Chip | Frecuencia | Patrón | IPEX-Antena | Lora-wan |
|---|---|---|---|---|---|---|---|
| RA-01 | Tranceiver | SPI | SX1278 | 410-525MHz | SMD16 | No | No |
| RA-02 | Tranceiver | SPI | SX1278 | 410-525MHz | SMD16 | Sí | No |
| RA-01H | Tranceiver | SPI | SX1276 | 803-930MHz | SMD16 | No | No |
| RA-01S | Tranceiver | SPI | SX1268 | 410-525MHz | SMD16 | No | No |
| RA-01SH | Tranceiver | SPI | SX1262 | 803-930MHz | SMD16 | Sí | No |
| RA-01SC | Tranceiver | SPI | LLCC68 | 410-525MHz | SMD16 | Sí | No |
| RA-06 | MCU | Arm Cortex M0+ | SX1278 | 410-525MHz | SMD20 | Sí | No |
| RA-07 | MCU | Arm Cortex M0+ | Asr6501 | 410-525MHz | SMD18 | No | Sí |
| RA-07H | MCU | Arm Cortex M0+ | Asr6501 | 803-930MHz | SMD18 | No | Sí |
| RA-08 | MCU | Brazo corteza m4 | Asr6601 | 410-525MHz | SMD18 | No | Sí |
| RA-08H | MCU | Brazo corteza m4 | Asr6601 | 803-930MHz | SMD18 | No | Sí |
Los módulos Lora con SX1262/1268 tienen varias opciones.
Usando TCXO (oscilador de cristal compensado por temperatura)
SX1262/1268 puede usar el TCXO.
Si se usa el TCXO, el pin XTB no está conectado.
Sin embargo, el sexto pin (DIO3) del SX1262/1268 se puede usar para alimentar el TCXO.
La explicación para el control de TXCO y la antena está aquí.
RA-01S / RA-01SH no usa TCXO.
Modos de fuente de alimentación
SX1262/1268 tiene dos modos de fuente de alimentación.
Una es que solo LDO usó en todos los modos.
Otro es que DC_DC+LDO utilizado para los modos STBY_XOSC, FS, RX y TX.
La explicación para la selección LDO y DCDC está aquí.
RA-01S / RA-01SH Use solo LDO en todos los modos.
Cambio de RF
En general, use DIO2 para cambiar el cambio de RF.
Sin embargo, algunos Tranceiver usan un GPIO externo para cambiar el interruptor de RF.
RA-01S / RA-01SH Use el interruptor de carga integrado SC70-6 para cambiar entre RFO y RFI.
RA-01S / RA-01SH Use DIO2 para controlar esto.
Dio2 = 1, ctrl = 0, rfc a rf1 tx modo.
Dio2 = 0, ctrl = 1, rfc a modo R21 RX.
Debe observar el esquema para establecer estas opciones correctamente, pero es muy esotérico.
La configuración predeterminada para esta biblioteca es para RA-01S / RA-01SH.
Cuando usa otra que no sea RA-01S / RA-01SH, debe configurarlos adecuadamente.
Creé esta biblioteca basada en esto.
Con esta biblioteca, RA-01S / RA-01SH no funciona.
RA-01SC usa LLCC68.
RA-01SC es compatible con RA-01s.
Sin embargo, existen las siguientes restricciones:

RA-01S
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 (chino)
https://img.iceasy.com/product/product/files/202108/8a8a8a1a7aec7b55017b2ef70a370953.pdf
RA-0x (SMD16) tiene el mismo patrón de pie que ESP12.
Por lo tanto, se puede usar una PCB de conversión de tono para ESP12.


Descargue este repositorio como zip. Luego, en el Arduino IDE, vaya a Sketch-> Agregar biblioteca-> Agregar biblioteca .zip.
| RA-01S/SH | Desatado | MEGA | ESP8266 | |
|---|---|---|---|---|
| VCC | - | 3.3V (*1) | 3.3V | 3.3V |
| Gnd | - | Gnd | Gnd | Gnd |
| Sck | - | D13 (*2) | D52 (*2) | IO14 |
| Miso | - | D12 | D50 | IO12 |
| Mosi | - | D11 (*2) | D51 (*2) | IO13 |
| NSS | - | D5 (*2) | D5 (*2) | IO2 |
| Primero | - | D6 (*2) | D6 (*2) | IO0 |
| OCUPADO | - | D7 (*2) | D7 (*2) | IO16 |
| Txen | - | CAROLINA DEL NORTE | CAROLINA DEL NORTE | CAROLINA DEL NORTE |
| Rxen | - | CAROLINA DEL NORTE | CAROLINA DEL NORTE | CAROLINA DEL NORTE |
(*1)
La salida de 3.3V de la UNO solo puede suministrar 50 mA.
Además, la capacidad actual de salida de los dispositivos no compatibles es menor que la de los productos oficiales.
Por lo tanto, este módulo puede no funcionar normalmente cuando se suministra desde el 3V3 integrado.
(*2)
SX126X no es tolerante a 5V.
Necesita un cambio de nivel de 5V a 3.3V.
Usé esto para un cambio de nivel.
Ebyte ofrece varios módulos Lora.
Puedes obtenerlos en AliExpress y eBay.
| Modelo | Interfaz | Chip | Frecuencia | Fuerza | Patonear | IPEX-Antena | Lora-wan |
|---|---|---|---|---|---|---|---|
| E22-400M22S | SPI | SX1268 | 433/470MHz | 160MW | Estándar | Sí | No |
| E22-400M30S | SPI | SX1268 | 433/470MHz | 1000MW | Estándar | Sí | No |
| E22-400MM22S | SPI | SX1268 | 433/470MHz | 160MW | Pequeño | No | No |
| E22-900M22S | SPI | SX1262 | 868/915MHz | 160MW | Estándar | Sí | No |
| E22-900M30S | SPI | SX1262 | 868/915MHz | 1000MW | Estándar | Sí | No |
| E22-900MM22S | SPI | SX1262 | 868/915MHz | 160MW | Pequeño | No | No |


Con este cambio funciona.
/*
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
Se requieren dos cables adicionales.
| Ebyte | Desatado | MEGA | ESP8266 | |
|---|---|---|---|---|
| Txen | - | 8 (*3) | 8 (*3) | D4 |
| Rxen | - | 9 (*3) | 9 (*3) | D5 |
(*3)
SX126X no es tolerante a 5V.
Necesita un cambio de nivel de 5V a 3.3V.
La base de conversión de tono está aquí.
SX1262 y LLCC68 son compatibles, pero por alguna razón no funcionan.
| Modelo | Interfaz | Chip | Frecuencia | Fuerza | Patonear | IPEX-Antena | Lora-wan |
|---|---|---|---|---|---|---|---|
| E220-400M22S | SPI | LLCC68 | 433/470MHz | 160MW | Estándar | Sí | No |
| E220-400M30S | SPI | LLCC68 | 433/470MHz | 1000MW | Estándar | Sí | No |
| E220-900M22S | SPI | LLCC68 | 868/915MHz | 160MW | Estándar | Sí | No |
| E220-900M30S | SPI | LLCC68 | 868/915MHz | 1000MW | Estándar | Sí | No |
Esta biblioteca puede comunicarse con Radiolib.
Radiolib requiere DIO1 conectado para que funcione.
// 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);
Esto será útil.
$ 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