ESP32-S3와 LoRa E22-900M30S로 Meshtastic 노드 구축하기: 단계별 가이드
ESP32-S3 Super Mini를 사용하여 Meshtastic 노드를 구축하려면 다음 부품들이 필요합니다:
- ESP32-S3 Super Mini
- LoRa 모듈 E22-900M30S
- GPS Neo-6M v2
- 0.96인치 OLED 디스플레이 (SSD1306, 128x64)
- 868 MHz LoRa 안테나 (5 dBi, SMA)
- USB-UART 변환기
- 점퍼 와이어와 브레드보드
소모품을 제외한 총 비용은 약 20달러입니다. 이 구성은 하드웨어에 대한 깊은 이해와 ESP32-S3의 GPIO 매트릭스 유연성을 제공합니다.
배선도
ESP32-S3는 SPI, I2C, UART 인터페이스에 대한 고급 리매핑 기능을 제공합니다. 시스템 핀(USB, 부트) 사용을 피하세요. LoRa E22-900M30S의 예시 핀아웃:
- SX126X_CS (NSS): GPIO 10
- LORA_SCK: GPIO 11
- LORA_MOSI: GPIO 12
- LORA_MISO: GPIO 7
- SX126X_RESET: GPIO 6
- SX126X_BUSY: GPIO 5
- SX126X_DIO1: GPIO 4
OLED(I2C)의 경우:
- I2C_SCL: GPIO 9
- I2C_SDA: GPIO 8
GPS Neo-6M은 디버그 UART와의 충돌을 피하기 위해 TX(GPIO 1)만 연결합니다.
Meshtastic 펌웨어 적용하기
펌웨어 저장소를 복제합니다:
git clone https://github.com/meshtastic/firmware
PlatformIO를 설치합니다(macOS: brew install platformio). variants/esp32s3/EBYTE_ESP32-S3로 이동합니다.
variant.h를 편집합니다:
#define SX126X_CS 10 // EBYTE 모듈의 NSS 핀
#define LORA_SCK 11
#define LORA_MOSI 12
#define LORA_MISO 7
#define SX126X_RESET 6
#define SX126X_BUSY 5
#define SX126X_DIO1 4
// I2C
#define I2C_SCL 9
#define I2C_SDA 8
#define HAS_SCREEN 1
#define GPS_TX_PIN 1
platformio.ini에서 속도를 지정합니다:
upload_speed = 115200
monitor_speed = 115200
빌드: pio run -e EBYTE_ESP32-S3.
외부 USB-UART를 통한 플래싱
저렴한 ESP32-S3 Super Mini 보드의 내장 USB는 불안정할 수 있습니다. 어댑터를 연결합니다:
- 5V → 5V
- GND → GND
- TX 어댑터 → RX 보드
- RX 어댑터 → TX 보드
업로드: pio run -e EBYTE_ESP32-S3 -t upload. 부트 모드의 경우:
- Boot 버튼을 누릅니다
- Reset 버튼을 누릅니다
- Reset 버튼을 놓습니다
- 1초 후 Boot 버튼을 놓습니다
최적화 및 테스트
플래싱 후, 노드는 LoRa E22-900M30S, OLED, GPS를 인식합니다. 868 MHz에서 메시 네트워크를 테스트합니다. 다음으로, 납땜하여 느슨한 와이어를 제거합니다.
핵심 포인트:
- ESP32-S3의 유연한 GPIO 매트릭스는 맞춤형 구축을 단순화합니다.
- E22-900M30S를 위해 EBYTE_ESP32-S3 변형을 기반으로 설정하세요.
- GPS는 디버깅을 위한 UART를 보존하기 위해 TX만 연결하세요.
- 외부 USB-UART는 저렴한 보드에서 플래싱을 안정화합니다.
— Editorial Team
아직 댓글이 없습니다.