Модуль External Notification позволяет подключить к вашему устройству зуммер (пищалку), динамик, светодиод или другие исполнительные механизмы. Это нужно для того, чтобы вы получали физический сигнал (звук, свет, вибрацию) при получении сообщения из меш-сети.
Вы можете независимо настроить до 3 контактов (GPIO) для разных типов оповещений.
Примечание: Включение внешних уведомлений может подавлять автоматическое включение экрана на устройствах с BaseUI. Это ожидаемое поведение, которое будет дорабатываться в будущих прошивках.
Основные параметры конфигурации
Настройки передаются через административное сообщение с использованием протобуфера ConfigModule.ExternalNotificationConfig.
| Параметр | Описание |
| Enabled | Общий переключатель для включения модуля. |
| Active (High/Low) | Определяет полярность сигнала. True — активный сигнал высокий (High), False — активный сигнал низкий (Low). Актуально для светодиодов и простых схем. |
| Alert on Bell | Активировать ли уведомление (светодиод, вибрацию или зуммер) при получении спецсимвола «звонка» (ASCII bell). |
| Alert on Message | Активировать ли уведомление при получении любого входящего текстового сообщения. |
| GPIO Pins | Указывает номер контакта (GPIO), к которому подключена внешняя цепь. Можно настроить отдельные пины для LED, вибромотора и зуммера. |
| Output Milliseconds | Длительность сигнала в миллисекундах. Если включен повтор, это время каждого тона и паузы. По умолчанию (0) — 1000 мс. |
| Nag Timeout (Repeat) | Интервал повтора уведомления. Если значение больше нуля, сигнал будет повторяться, пока вы не нажмете кнопку на устройстве или пока не истечет указанное время (в секундах). |
Особенности использования зуммера и PWM
Если вы хотите использовать звуковые сигналы (мелодии), в модуле предусмотрена поддержка PWM (Широтно-импульсной модуляции):
- Use PWM: Если этот параметр включен (TRUE), устройство будет использовать системный пин зуммера (
device.buzzer_gpio) вместо обычного числового GPIO. - Мелодии RTTTL: В режиме PWM устройство может проигрывать рингтоны в формате RTTTL. Вы можете загрузить свои файлы через клиентское приложение.
Важное ограничение для плат ESP32
При выборе контактов для подключения учитывайте аппаратные особенности контроллера.
Внимание: На платах ESP32 контакты с 34 по 39 работают только на вход (GPI). У них нет внутренних подтягивающих резисторов, и они не могут работать на выход.
Не используйте контакты 34–39 для подключения внешних уведомлений!