Firmware examples - Ale-maker325/ESP32_S3_33_433MHz_SX1278 GitHub Wiki

Настройка и использование параметров программы (** ВНИМАНИЕ! ** Этот раздел в стадии разработки)

Настройка параметров

Весь процесс настройки проекта осуществляется через файл settings.h. Он содержит ключевые параметры, определяющие режим работы, тип радиомодуля, пины подключения, радионастройки и дополнительные опции.


1. Режим работы

Укажите, как будет работать устройство:

#define TRANSMITTER   // Работает как передатчик
//#define RECEIVER     // Или закомментировать TRANSMITTER и раскомментировать для приёмника

⚠️ Включать нужно только один режим!

  1. Выбор радиомодуля
#define SX1278_MODEM   // Используется модуль SX1278
//#define SX1268_MODEM  // Или модуль SX1268

Эти параметры выбирают используемый драйвер RadioLib: SX1278, SX1268 и т.п.

  1. Отладка
#define DEBUG_PRINT
Если активировать, прошивка будет выводить в Serial лог текущего состояния, ошибок и настроек.
  1. Интервал передачи
#define SPEED_TRANSMIT 900000  // Интервал между передачами в микросекундах (1 000 000 мкс = 1 секунда)
  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.