Firmware examples - Ale-maker325/ESP32_S3_33_433MHz_SX1278 GitHub Wiki
Настройка и использование параметров программы (** ВНИМАНИЕ! ** Этот раздел в стадии разработки)
Настройка параметров
Весь процесс настройки проекта осуществляется через файл settings.h
. Он содержит ключевые параметры, определяющие режим работы, тип радиомодуля, пины подключения, радионастройки и дополнительные опции.
1. Режим работы
Укажите, как будет работать устройство:
#define TRANSMITTER // Работает как передатчик
//#define RECEIVER // Или закомментировать TRANSMITTER и раскомментировать для приёмника
⚠️ Включать нужно только один режим!
- Выбор радиомодуля
#define SX1278_MODEM // Используется модуль SX1278
//#define SX1268_MODEM // Или модуль SX1268
Эти параметры выбирают используемый драйвер RadioLib: SX1278, SX1268 и т.п.
- Отладка
#define DEBUG_PRINT
Если активировать, прошивка будет выводить в Serial лог текущего состояния, ошибок и настроек.
- Интервал передачи
#define SPEED_TRANSMIT 900000 // Интервал между передачами в микросекундах (1 000 000 мкс = 1 секунда)
- Название модуля
static String RADIO_NAME = F("RADIO: ");
Строка, отображаемая на дисплее и в терминале.
Радио-параметры Эти параметры задают настройки радиомодуля и используются в radio_setSettings(...):
Параметр Макрос Значение по умолчанию Описание
Частота RADIO_FREQ 441 МГц Частота LoRa (например, 433, 441, 868).
Полоса пропускания RADIO_BANDWIDTH 125 кГц Допустимы значения: 62.5, 125, 250 и т.д.
Spread Factor (SF) RADIO_SPREAD_FACTOR 9 Чем выше — тем выше чувствительность. Диапазон: 6–12.
Coding Rate (CR) RADIO_CODING_RATE 7 Значение от 5 до 8.
Слово синхронизации RADIO_SYNC_WORD RADIOLIB_LR11X0_LORA_SYNC_WORD_PRIVATE Не используйте 0x34 — зарезервировано под LoRaWAN.
Выходная мощность RADIO_OUTPUT_POWER 2 дБм Диапазон: от -3 до 17 дБм.
Ограничение по току RADIO_CURRENT_LIMIT 200 мА Защита по току. 0 — отключить защиту.
Длина преамбулы RADIO_PREAMBLE_LENGTH 8 символов От 6 до 65535.
Усиление приёма RADIO_GAIN 0 0 — автоусиление, 1–6 — ручная настройка.
Аппаратные пины
Назначение Макрос Значение
NSS (CS) SPI NSS_PIN 17
Reset NRST_PIN 14
Busy BUSY_PIN 26
DIO1 DIO1_PIN 25
TX Enable TX_EN_PIN 12
RX Enable RX_EN_PIN 13
Светодиод LED_PIN 27
Вентилятор FAN 16
SPI (VSPI): MOSI MOSI_RADIO 23
SPI (VSPI): MISO MISO_RADIO 19
SPI (VSPI): SCK SCK_RADIO 18
Вентилятор охлаждения (необязательно) Если вы используете высокую мощность передатчика — возможен перегрев. Вы можете включать вентилятор автоматически, если мощность превышает заданное значение.
#define FAN_IS_ACTIVE // Включить управление вентилятором
#define FAN_ON_POWER 2 // Включать, если мощность >= 2 дБм
Поведение:
Если FAN_IS_ACTIVE определён, при мощности передатчика ≥ FAN_ON_POWER, пин FAN будет установлен в HIGH.
Иначе — вентилятор будет выключен (LOW).
Этот блок реализован в radio.h, в секции #ifdef TRANSMITTER → RadioStart().
⚠️ Если вентилятор не используется, обязательно закомментируйте #define FAN_IS_ACTIVE.
Что дальше? Отредактируйте settings.h под свои нужды.
Убедитесь, что проект подключён в platformio.ini.
Соберите и прошейте прошивку через PlatformIO.