external-notification

Модуль внешнего уведомления позволит вам подключить зуммер, динамик, светодиод или другое устройство для уведомления вас, когда сообщение получено из mesh-сети. Вы можете включить до 3 пинов независимо друг от друга.

Параметры конфигурации модуля внешнего уведомления: Enabled, Active, Alert Bell (General),Alert Bell Vibra, Alert Bell Buzzer, Alert Message (General), Alert Message Vibra, Alert Message Buzzer, Output (General), Output Vibra, Output Buzzer, Output Milliseconds, Use PWM и Nag Timeout. Конфигурация внешнего уведомления использует административное сообщение, отправляющее protobuf ConfigModule.ExternalNotificationConfig.

Значения конфигурации модуля внешнего уведомления

Enabled

Включает модуль внешнего уведомления.

Active (general / LED only)

Указывает, активна ли внешняя цепь, когда GPIO устройства находится в низком или высоком состоянии. Если это установлено в true, пин будет активирован высоким уровнем, false означает активный низкий уровень.

Alert when receiving a bell (general / LED, Vibra and Buzzer)

Указывает, следует ли запускать оповещение при получении входящего сигнала звонка.

Alert when receiving a message (general / LED, Vibra and Buzzer)

Указывает, следует ли запускать оповещение при получении входящего сообщения.

GPIO Pins (general / LED, Vibra and Buzzer)

Указывает GPIO, к которому подключена ваша внешняя цепь на устройстве. На устройствах с PWM-зуммером вы можете использовать зуммер для уведомлений, установив свойство use_pwm в TRUE. Пин зуммера будет игнорироваться, и вместо него будет использоваться device.buzzer_gpio. Если вы включите режим PWM, устройство будет использовать так называемые RTTTL-рингтоны для уведомлений. Примеры RTTTL-рингтонов можно найти здесь, а загрузить их на устройство можно через клиентское приложение.

:::info На платах на базе ESP32 GPIO 34–39 являются GPI — только входные пины. Эти пины не имеют внутренних подтягивающих или подтягивающих вниз резисторов. Их нельзя использовать как выходы, поэтому вы НЕ МОЖЕТЕ использовать эти пины как выходы. :::

How long monitored GPIO is triggered

Указывает, как долго в миллисекундах вы хотите, чтобы ваши GPIO оставались активными. В случае опции повторения это продолжительность каждого тона и паузы.

Значение по умолчанию 0 соответствует 1000 мс.

Repeat (Nag Timeout) (general / LED, Vibra and Buzzer)

Указывает, следует ли повторять оповещение. Если установлено значение больше нуля, оповещение будет повторяться до нажатия кнопки пользователя или истечения 'value' секунд.

Доступность конфигурации модуля внешнего уведомления для клиентов

      <Icon icon="mdi:android" height="1.5rem" style={{ marginRight: "0.25rem" }} /> Android
    </>
  ),
  value: "android",
},
{
  label: (
    <>
      <Icon icon="mdi:apple" height="1.5rem" style={{ marginRight: "0.25rem" }} /> Apple
    </>
  ),
  value: "apple",
},
{
  label: (
    <>
      <Icon icon="mdi:terminal" height="1.5rem" style={{ marginRight: "0.25rem" }} /> CLI
    </>
  ),
  value: "cli",
},
{
  label: (
    <>
      <Icon icon="mdi:internet" height="1.5rem" style={{ marginRight: "0.25rem" }} /> Web
    </>
  ),
  value: "web",
},

]}>

Android

:::info

Параметры конфигурации внешнего уведомления доступны для Android.

  1. Откройте приложение Meshtastic
  2. Перейдите в: Вертикальное многоточие (3 точки в правом верхнем углу) > Конфигурация радио > External Notification

:::

Apple

:::info Все параметры конфигурации модуля внешнего уведомления доступны в iOS, iPadOS и macOS в разделе Настройки > Конфигурация модуля > External Notification. :::

CLI

:::info

Все параметры конфигурации модуля внешнего уведомления доступны в python CLI. Примеры команд приведены ниже:

:::

Настройка Допустимые значения По умолчанию
external_notification.enabled true, false false
external_notification.active true, false false
external_notification.alert_bell true, false false
external_notification.alert_bell_vibra true, false false
external_notification.alert_bell_buzzer true, false false
external_notification.alert_message true, false false
external_notification.alert_message_vibra true, false false
external_notification.alert_message_buzzer true, false false
external_notification.output integer 0
external_notification.output_vibra integer 0
external_notification.output_buzzer integer 0
external_notification.output_ms integer (milliseconds) 0
external_notification.use_pwm true, false false
external_notification.nag_timeout integer (seconds) 0

:::tip

Поскольку устройство перезагрузится после каждой отправленной команды через CLI, рекомендуется при установке нескольких значений в разделе конфигурации объединять команды в одну цепочку.

```shell title="Example:" meshtastic --set external_notification.enabled true --set external_notification.alert_bell true


:::

```shell title="Enable/Disable External Notification Module"
meshtastic --set external_notification.enabled true
meshtastic --set external_notification.enabled false

```shell title="Enable/Disable alert on incoming bell" meshtastic --set external_notification.alert_bell true meshtastic --set external_notification.alert_bell false


```shell title="Set GPIO active high / low (default of false is low)"
meshtastic --set external_notification.active false
meshtastic --set external_notification.active true

```shell title="Enable/Disable alert on incoming message" meshtastic --set external_notification.alert_message true meshtastic --set external_notification.alert_message false


```shell title="Set GPIO to monitor to 21"
meshtastic --set external_notification.output 21

shell title="Set monitored GPIO output duration (default of 0 is 1000ms)" meshtastic --set external_notification.output_ms 0 meshtastic --set external_notification.output_ms 1500

Web

:::info Вся конфигурация модуля External Notification доступна для веб-интерфейса. :::

:::warning Доступ к GPIO фундаментально опасен, поскольку неверные параметры могут физически повредить или уничтожить ваше оборудование. Убедитесь, что вы полностью понимаете схему вашего конкретного устройства, прежде чем пробовать это, поскольку мы не предоставляем гарантию. Используйте на свой страх и риск.

Этот модуль требует подключения периферийного аксессуара к вашему устройству. Без него он не будет работать. :::

Примеры

Типы оповещений

Мы поддерживаем оповещения по двум событиям:

  1. Входящее текстовое сообщение

  2. Входящее текстовое сообщение, содержащее ASCII-символ звонка. На данный момент только Python API может отправлять ASCII-символ звонка, но в будущем поддержка может быть расширена.

:::info Символ звонка — это ASCII 0x07. Включите 0x07 в любое место текстового сообщения, и при включенном ext_notification.alert_bell мы выдадим внешнее уведомление. :::

Внешнее оборудование

Будьте внимательны к максимальному току стока и источника GPIO ESP32. Самые простые устройства для интерфейса — это светодиод или активный зуммер.

Идеи для внешнего оборудования:

Известные ограничения