使用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仅通过TX(GPIO 1)连接,以避免与调试UART冲突。
适配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频段测试Mesh网络。接下来,焊接至PCB以消除松散电线。
关键点:
- ESP32-S3的灵活GPIO矩阵简化了自定义构建。
- 基于EBYTE_ESP32-S3变体设置E22-900M30S。
- GPS仅通过TX连接,以保留UART用于调试。
- 外部USB-UART稳定了经济型板上的刷写过程。
— Editorial Team
暂无评论。