Il s'agit d'une bibliothèque Arduino pour la communication LORA à l'aide des puces Radio Transmetteur SX1262 et SX1268.

AI-Thinker propose plusieurs modules LORA.
Vous pouvez les obtenir sur AliExpress et eBay.
| Modèle | Taper | Interface / noyau | Ébrécher | Fréquence | Sabotage | IPIEX-ANENA | Lora-Wan |
|---|---|---|---|---|---|---|---|
| RA-01 | Transeiver | Spice | SX1278 | 410-525 MHz | Smd16 | Non | Non |
| RA-02 | Transeiver | Spice | SX1278 | 410-525 MHz | Smd16 | Oui | Non |
| RA-01H | Transeiver | Spice | SX1276 | 803-930MHz | Smd16 | Non | Non |
| RA-01 | Transeiver | Spice | SX1268 | 410-525 MHz | Smd16 | Non | Non |
| RA-01SH | Transeiver | Spice | SX1262 | 803-930MHz | Smd16 | Oui | Non |
| RA-01SC | Transeiver | Spice | Llcc68 | 410-525 MHz | Smd16 | Oui | Non |
| RA-06 | MCU | Cortex du bras M0 + | SX1278 | 410-525 MHz | Smd20 | Oui | Non |
| RA-07 | MCU | Cortex du bras M0 + | ASR6501 | 410-525 MHz | SMD18 | Non | Oui |
| RA-07H | MCU | Cortex du bras M0 + | ASR6501 | 803-930MHz | SMD18 | Non | Oui |
| RA-08 | MCU | Cortex du bras M4 | ASR6601 | 410-525 MHz | SMD18 | Non | Oui |
| RA-08H | MCU | Cortex du bras M4 | ASR6601 | 803-930MHz | SMD18 | Non | Oui |
Les modules LORA avec SX1262 / 1268 ont plusieurs options.
Utilisation de TCXO (Oscillateur en cristal compensé la température)
SX1262 / 1268 peut utiliser le TCXO.
Si le TCXO est utilisé, la broche XTB n'est pas connectée.
Cependant, la 6ème broche (DIO3) du SX1262 / 1268 peut être utilisée pour alimenter le TCXO.
L'explication du contrôle TXCO et de l'antenne est là.
RA-01S / RA-01SH n'utilise pas TCXO.
Modes d'alimentation
SX1262 / 1268 a deux modes d'alimentation.
La première est que seule LDO a utilisée dans tous les modes.
Un autre est que DC_DC + LDO utilisé pour les modes STBY_XOSC, FS, RX et TX.
L'explication de la sélection LDO et DCDC est là.
RA-01S / RA-01SH Utiliser uniquement LDO dans tous les modes.
Commutation RF
En général, utilisez Dio2 pour changer le commutateur RF.
Cependant, certains Tranceiver utilisent un GPIO externe pour changer le commutateur RF.
RA-01S / RA-01SH Utilisez le commutateur de charge intégré SC70-6 pour basculer entre RFO et RFI.
RA-01S / RA-01SH utilise Dio2 pour contrôler cela.
Dio2 = 1, Ctrl = 0, RFC à RF1 TX Mode.
Dio2 = 0, Ctrl = 1, RFC à R21 Mode RX.
Vous devez regarder le schéma pour définir correctement ces options, mais c'est très ésotérique.
Les paramètres par défaut de cette bibliothèque sont pour RA-01S / RA-01SH.
Lorsque vous utilisez autre que RA-01S / RA-01SH, vous devez les définir de manière appropriée.
J'ai créé cette bibliothèque en fonction de cela.
Avec cette bibliothèque, RA-01S / RA-01SH ne fonctionne pas.
RA-01SC utilise LLCC68.
RA-01SC est compatible avec RA-01.
Cependant, il y a les restrictions suivantes:

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 (chinois)
https://img.icieasy.com/product/product/files/202108/8a8a8a1a7aec7b55017b2ef70a370953.pdf
RA-0x (SMD16) a le même motif de pied que ESP12.
Par conséquent, un PCB de conversion de hauteur pour ESP12 peut être utilisé.


Téléchargez ce dépôt en tant que zip. Ensuite, dans le Arduino IDE, allez dans Sketch-> Ajouter la bibliothèque-> Ajouter la bibliothèque .zip.
| RA-01S / SH | Uno | Méga | ESP8266 | |
|---|---|---|---|---|
| VCC | - | 3.3V (* 1) | 3.3 V | 3.3 V |
| 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 |
| Premier | - | D6 (* 2) | D6 (* 2) | Io0 |
| OCCUPÉ | - | D7 (* 2) | D7 (* 2) | IO16 |
| Txen | - | CAROLINE DU NORD | CAROLINE DU NORD | CAROLINE DU NORD |
| Rxen | - | CAROLINE DU NORD | CAROLINE DU NORD | CAROLINE DU NORD |
(* 1)
La sortie 3,3 V de l'UNO ne peut fournir que 50 mA.
De plus, la capacité de courant de sortie des appareils non compatibles est plus petite que celle des produits officiels.
Ainsi, ce module peut ne pas fonctionner normalement lorsqu'il est fourni à partir du 3v3 embarqué.
(* 2)
SX126X n'est pas tolérant à 5V.
Vous avez besoin d'un passage de niveau de 5V à 3,3 V.
J'ai utilisé cela pour un changement de niveau.
Ebyte propose plusieurs modules LORA.
Vous pouvez les obtenir sur AliExpress et eBay.
| Modèle | Interface | Ébrécher | Fréquence | Pouvoir | Patepre de pied | IPIEX-ANENA | Lora-Wan |
|---|---|---|---|---|---|---|---|
| E22-400M22 | Spice | SX1268 | 433 / 470MHz | 160mw | Standard | Oui | Non |
| E22-400M30S | Spice | SX1268 | 433 / 470MHz | 1000mw | Standard | Oui | Non |
| E22-400mm22s | Spice | SX1268 | 433 / 470MHz | 160mw | Petit | Non | Non |
| E22-900M22S | Spice | SX1262 | 868 / 915MHz | 160mw | Standard | Oui | Non |
| E22-900M30S | Spice | SX1262 | 868 / 915MHz | 1000mw | Standard | Oui | Non |
| E22-900mm22s | Spice | SX1262 | 868 / 915MHz | 160mw | Petit | Non | Non |


Avec ce changement, cela fonctionne.
/*
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
Deux fils supplémentaires sont nécessaires.
| Ebyte | Uno | Méga | ESP8266 | |
|---|---|---|---|---|
| Txen | - | 8 (* 3) | 8 (* 3) | D4 |
| Rxen | - | 9 (* 3) | 9 (* 3) | D5 |
(* 3)
SX126X n'est pas tolérant à 5V.
Vous avez besoin d'un passage de niveau de 5V à 3,3 V.
La base de conversion de pitch est là.
SX1262 et LLCC68 sont compatibles, mais pour une raison quelconque, ils ne fonctionnent pas.
| Modèle | Interface | Ébrécher | Fréquence | Pouvoir | Patepre de pied | IPIEX-ANENA | Lora-Wan |
|---|---|---|---|---|---|---|---|
| E220-400M22S | Spice | Llcc68 | 433 / 470MHz | 160mw | Standard | Oui | Non |
| E220-400M30S | Spice | Llcc68 | 433 / 470MHz | 1000mw | Standard | Oui | Non |
| E220-900M22S | Spice | Llcc68 | 868 / 915MHz | 160mw | Standard | Oui | Non |
| E220-900M30S | Spice | Llcc68 | 868 / 915MHz | 1000mw | Standard | Oui | Non |
Cette bibliothèque peut communiquer avec le radiolib.
Le radiolib nécessite un dio1 connecté pour les travaux.
// 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);
Ce sera utile.
$ 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