Budowa węzła Meshtastic na bazie ESP32-S3 z modułem LoRa E22-900M30S: przewodnik krok po kroku
Do stworzenia węzła Meshtastic na ESP32-S3 Super Mini potrzebny będzie następujący zestaw:
- ESP32-S3 Super Mini
- Moduł LoRa E22-900M30S
- GPS Neo-6M v2
- Wyświetlacz OLED 0,96" (SSD1306, 128x64)
- Antena LoRa 868 MHz (5 dBi, SMA)
- Konwerter USB-UART
- Przewody połączeniowe i płytki stykowe bez lutowania
Całkowity koszt bez materiałów eksploatacyjnych wynosi około 1864 ₽. Pozwala to lepiej zrozumieć część sprzętową i elastyczność matrycy GPIO ESP32-S3.
Schemat połączeń
ESP32-S3 oferuje rozszerzone możliwości remapowania interfejsów SPI, I2C i UART. Unikaj pinów systemowych (USB, boot). Przykładowe przypisanie pinów dla modułu 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
Dla wyświetlacza OLED (I2C):
- I2C_SCL: GPIO 9
- I2C_SDA: GPIO 8
GPS Neo-6M podłączamy tylko przez TX (GPIO 1), aby nie kolidował z UART debugowania.
Adaptacja oprogramowania Meshtastic
Sklonuj repozytorium firmware:
git clone https://github.com/meshtastic/firmware
Zainstaluj PlatformIO (na macOS: brew install platformio). Przejdź do variants/esp32s3/EBYTE_ESP32-S3.
Edytuj plik variant.h:
#define SX126X_CS 10 // Pin NSS modułu EBYTE
#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
W pliku platformio.ini ustaw prędkości:
upload_speed = 115200
monitor_speed = 115200
Kompilacja: pio run -e EBYTE_ESP32-S3.
Programowanie przez zewnętrzny konwerter USB-UART
Wbudowany USB w budżetowych płytkach ESP32-S3 Super Mini może być niestabilny. Podłącz adapter:
- 5V → 5V
- GND → GND
- TX adaptera → RX płytki
- RX adaptera → TX płytki
Wgrywanie: pio run -e EBYTE_ESP32-S3 -t upload. Aby przejść w tryb boot:
- Przytrzymaj Boot
- Naciśnij Reset
- Puść Reset
- Puść Boot po 1 sekundzie
Optymalizacja i testowanie
Po zaprogramowaniu węzeł rozpozna moduł LoRa E22-900M30S, wyświetlacz OLED i GPS. Testuj sieć mesh na częstotliwości 868 MHz. Następnym krokiem jest lutowanie na PCB, aby wyeliminować przewody.
Co jest ważne:
- Elastyczna matryca GPIO ESP32-S3 ułatwia tworzenie niestandardowych konfiguracji.
- Bazuj na wariancie EBYTE_ESP32-S3 dla modułu E22-900M30S.
- GPS podłączaj tylko przez TX, aby zachować UART do debugowania.
- Zewnętrzny konwerter USB-UART stabilizuje proces programowania na tańszych płytkach.
— Editorial Team
Brak komentarzy.