SX1276 / 77/78/79 Prix de l'émetteur-récepteur à longue portée à faible puissance pour ESP-IDF.
J'ai basé sur cela.
ESP-IDF v4.4 / v5.x.
ESP-IDF v5.0 est requis lors de l'utilisation de l'ESP32-C2.
ESP-IDF V5.1 est requis lors de l'utilisation de l'ESP32-C6.
git clone https://github.com/nopnop2002/esp-idf-sx127x
cd esp-idf-sx127x/basic/
idf.py set-target {esp32/esp32s2/esp32s3/esp32c2/esp32c3/esp32c6}
idf.py menuconfig
idf.py flash Remarque pour ESP32C3
Pour une raison quelconque, il existe des tableaux de développement qui ne peuvent pas utiliser GPIO06, GPIO08, GPIO09, GPIO19 pour les broches d'horloge SPI.
Selon les spécifications ESP32C3, ces broches peuvent également être utilisées comme horloges SPI.
J'ai utilisé un ESP-C3-13 brut pour vérifier que ces broches pourraient être utilisées comme horloges SPI.



La série ESP32 a trois bus SPI.
SPI1_HOST est utilisé pour la communication avec la mémoire flash.
Vous pouvez utiliser SPI2_HOST et SPI3_HOST librement.
Lorsque vous utilisez SDSPI (carte SD via SPI), SDSPI utilise le bus SPI2_HOST.
Lorsque vous utilisez ce module en même temps que SDSPI ou un autre périphérique SPI à l'aide de SPI2_HOST, il doit être changé en SPI3_HOST.
Lorsque vous n'utilisez pas SDSPI, SPI2_HOST et SPI3_HOST fonctionneront.
Auparavant, il s'appelait HSPI_HOST / VSPI_HOST, mais maintenant il est appelé SPI2_HOST / SPI3_HOST.
| Sx127x | ESP32 | ESP32-S2 / S3 | ESP32-C2 / C3 / C6 | |
|---|---|---|---|---|
| Premier | - | Gpio16 | Gpio38 | Gpio3 |
| Miso | - | GPIO19 | Gpio37 | Gpio4 |
| SCK | - | GPIO18 | Gpio36 | Gpio5 |
| Mosi | - | Gpio23 | Gpio35 | Gpio6 |
| NSS | - | GPIO15 | Gpio34 | Gpio7 |
| GND | - | GND | GND | GND |
| VCC | - | 3.3 V | 3.3 V | 3.3 V |
Vous pouvez le changer en n'importe quel code PIN utilisant Menuconfig.
Le format de paquet de Lora est strictement spécifié.
Par conséquent, si les trois paramètres suivants sont les mêmes, ils peuvent communiquer entre eux.
En mode de modulation LORA, la vitesse de communication (BPS) et la sensibilité maximale de réception (RSSI) sont déterminées par une combinaison de facteur d'étalement (SF), de bande passante (BW) et de taux de codage (CDR).
La fiche technique est là.
https://github.com/nopnop2002/esp-idf-sx126x