SX1276/77/78/79 ไดรเวอร์ตัวรับส่งสัญญาณระยะยาวพลังงานต่ำสำหรับ ESP-IDF
ฉันขึ้นอยู่กับสิ่งนี้
ESP-IDF v4.4/v5.x
จำเป็นต้องใช้ ESP-IDF V5.0 เมื่อใช้ ESP32-C2
จำเป็นต้องใช้ ESP-IDF V5.1 เมื่อใช้ 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 หมายเหตุสำหรับ esp32c3
ด้วยเหตุผลบางอย่างมีบอร์ดการพัฒนาที่ไม่สามารถใช้ GPIO06, GPIO08, GPIO09, GPIO19 สำหรับหมุดนาฬิกา SPI
ตามข้อกำหนดของ ESP32C3 พินเหล่านี้ยังสามารถใช้เป็นนาฬิกา SPI ได้
ฉันใช้ ESP-C3-13 ดิบเพื่อตรวจสอบว่าพินเหล่านี้สามารถใช้เป็นนาฬิกา SPI ได้



ซีรี่ส์ ESP32 มีรถบัส SPI สามตัว
SPI1_Host ใช้สำหรับการสื่อสารกับหน่วยความจำแฟลช
คุณสามารถใช้ SPI2_Host และ SPI3_Host ได้อย่างอิสระ
เมื่อคุณใช้ SDSPI (การ์ด SD ผ่าน SPI) SDSPI จะใช้ Bus SPI2_Host
เมื่อใช้โมดูลนี้ในเวลาเดียวกันกับ SDSPI หรืออุปกรณ์ SPI อื่น ๆ โดยใช้ SPI2_Host จะต้องเปลี่ยนเป็น SPI3_Host
เมื่อคุณไม่ใช้ SDSPI ทั้ง SPI2_Host และ SPI3_Host จะทำงาน
ก่อนหน้านี้มันถูกเรียกว่า hspi_host / vspi_host แต่ตอนนี้เรียกว่า spi2_host / spi3_host
| SX127X | esp32 | ESP32-S2/S3 | ESP32-C2/C3/C6 | |
|---|---|---|---|---|
| ครั้งแรก | - | GPIO16 | gpio38 | GPIO3 |
| มิโซะ | - | gpio19 | gpio37 | GPIO4 |
| SCK | - | gpio18 | GPIO36 | GPIO5 |
| Mosi | - | GPIO23 | gpio35 | GPIO6 |
| NSS | - | GPIO15 | gpio34 | GPIO7 |
| gnd | - | gnd | gnd | gnd |
| VCC | - | 3.3V | 3.3V | 3.3V |
คุณสามารถเปลี่ยนเป็นพินใด ๆ โดยใช้ menuconfig
รูปแบบแพ็คเก็ตของ Lora ถูกระบุไว้อย่างเคร่งครัด
ดังนั้นหากพารามิเตอร์สามตัวต่อไปนี้เหมือนกันพวกเขาสามารถสื่อสารกันได้
ในโหมดการมอดูเลต LORA ความเร็วในการสื่อสาร (BPS) และความไวต่อการรับสูงสุด (RSSI) จะถูกกำหนดโดยการรวมกันของปัจจัยการแพร่กระจาย (SF), แบนด์วิดธ์ (BW) และอัตราการเข้ารหัส (CDR)
แผ่นข้อมูลอยู่ที่นี่
https://github.com/nopnop2002/esp-idf-sx126x