返回首页

Meshtastic 在 ESP32-S3 上构建:LoRa E22

在 ESP32-S3 Super Mini 上构建 Meshtastic 节点的指南,使用 LoRa E22-900M30S、GPS Neo-6M 和 OLED。详细引脚图、PlatformIO 中的固件适配以及 USB-UART 刷写程序。

自制 Meshtastic 节点:ESP32-S3 + E22 LoRa 从 A 到 Z
Advertisement 728x90

使用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的示例引脚配置:

Google AdInline article slot
  • 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仅通过TX(GPIO 1)连接,以避免与调试UART冲突。

适配Meshtastic固件

克隆固件仓库:

Google AdInline article slot
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中指定速度:

Google AdInline article slot
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频段测试Mesh网络。接下来,焊接至PCB以消除松散电线。

关键点:

  • ESP32-S3的灵活GPIO矩阵简化了自定义构建。
  • 基于EBYTE_ESP32-S3变体设置E22-900M30S。
  • GPS仅通过TX连接,以保留UART用于调试。
  • 外部USB-UART稳定了经济型板上的刷写过程。

— Editorial Team

Advertisement 728x90

继续阅读