| Meshtastic на основе ESP32-S3: подключение к модулю E22-900M30S. |
|
| Добавил(а) microsin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Ниже показано подключение модуля Ebyte E22-900M30S LoRa [1] к микроконтроллеру ESP32-S3 для организации узла Meshtastic. E22-900M30S использует интерфейс SPI и требует также несколько сигналов управления. Есть несколько разработанных Meshtastic-community вариантов схемы, для которых рекомендуется следующее подключение к портам ESP32-S3.
Важное замечание по TXEN и RXEN: таблица показывает один из нескольких допустимых вариантов разводки, когда оба сигнала TXEN и RXENподключены к раздельным выводам MCU. Прошивка firmware должна быть сконфигурирована соответствующим образом. [Конфигурация Firmware для Meshtastic] Чтобы собрать custom-прошивку Meshtastic firmware для этого setup, вы должны создать файл variant.h, который определяет назначение выводов (pin mappings) и конфигурацию radio. Ниже показан минимальный пример файла variant.h для приведенной выше таблицы соединений: // Radio Module Configuration Основные соединения схемы. Схема должна соответствовать приведенной выше таблице соединений. Вот несколько моментов, которые надо учитывать: ● Источник питания: модуль E22 может получать питание непосредственно от 3.3V или 5V шин питания ESP32-S3, поскольку для модуля может быть широкий диапазон напряжений питания (2.5V - 5.5V). Однако следует иметь в виду, что модуль потребляет большой ток (до 650mA) во время передачи, поэтому критически важно обеспечить стабильный источник питания. ● Развязывающие конденсаторы: чтобы подавить импульсы тока питания, возникающие при передаче, настоятельно рекомендуется добавить большой электролитический конденсатор (100µF - 2000µF) и параллельно ему небольшой керамический конденсатор (100nF), размещенные близко к выводам VCC и GND модуля на вашей печатной плате. ● Выводы управления загрузкой ESP32-S3 (Strapping Pins): при выборе используемых выводов GPIO, избегайте выводов управления загрузкой (GPIO0, GPIO3, GPIO45, GPIO46) и выводов USB pins (GPIO19, GPIO20) чипа ESP32-S3, чтобы обеспечить надежную загрузку MCU при подаче питания. Выбранные в таблице выше выводы соответствуют безопасному варианту. [Подключение индикатора LCD через I2C] В Meshtastic нет жестко закрепленных портов GPIO для I2C — они определяются в файле variant.h для конкретной платы. Вы можете назначить любые свободные GPIO через конфигурацию. Назначение GPIO I2C в Meshtastic. Файл variant.h использует два макроса для определения шины I2C, к которой будет подключен LCD:
Вот примеры из реальных плат Meshtastic — вы можете взять любую из этих пар, если порты GPIO не конфликтуют с Ethernet на вашей плате ESP32-S3-ETH:
Настройка variant.h для LCD I2C. Чтобы добавить поддержку LCD в вашу кастомную плату, нужно создать файл variant.h в директории вашего варианта и указать в нем несколько ключевых параметров. Полный минимальный пример для ESP32-S3 с I2C LCD: // variants/esp32s3/my_custom_board/variant.h Структура директории для кастомной платы. Чтобы Meshtastic при компиляции подхватил вашу конфигурацию, файлы должны лежать в правильной структуре: meshtastic-firmware/ Дополнительные настройки. Для корректной работы дисплея иногда требуется настроить питание. Если LCD питается от отдельного управляемого порта GPIO, добавьте в variant.h: #define DISPLAY_POWER_PIN 5 // GPIO для включения питания дисплея Проверьте, какие порты GPIO уже используются под Ethernet на вашей плате ESP32-S3-ETH. I2C порты должны быть свободными и не конфликтовать с: - RMII интерфейсом Ethernet (обычно порты GPIO 1, 2, 3, 4, 5, 10, 11, 12). Как это работает. Meshtastic использует макросы из variant.h для инициализации аппаратных интерфейсов. После определения I2C_SDA и I2C_SCL и включения HAS_SCREEN, система автоматически: 1. Инициализирует шину I2C на указанных портах GPIO. Если вы используете готовую плату (например, DFRobot LoRaWAN ESP32-S3), ее выводы портов GPIO I2C уже предопределены. Для кастомной платы нужно задать их самостоятельно. [Ссылки] 1. E22-900M30S: руководство пользователя. |