Работа с прерываниями (обновлено: 04 Jan 2023, 13:11:15)

Необходим для работы с датчиком движения (функция Active send), счетчиков воды и электроэнергии (функция Counter).

Функция Key позволяет управлять включением или выключением отдельного GPIO, указанного в поле GPIO For Key


Для настройки прерываний необходимо зайти на вкладку Interrupt модуля. Для поддержки работы с прерываниями требуется установка функции GPIO.


Прошивка поддерживает 5 режимов работы с прерываниями:

Counter - подсчет импульсов с счетчиков воды, газа, электричества. Данные отправляются на все сервера. При установке опции Сбрасываемый счетчик данные импульсов отправляются за каждый период отправки данных. В поле Impulse divider возможна установка делителя. Установить счетчик можно командой http://[ip адрес]/countset?int=X&set=Y, где X - номер канала, Y - значение.

Active send - Немедленная отправка факта изменения состояния прерывания на сервера. Может использоваться для датчиков движения или датчиков открытия/вскрытия двери. Доступно SMS уведомление о прерывании , его можно включить на вкладке модуля SMS при использовании GSM модулей или сервиса sms.ru .

Key - Управление GPIO по нажатию кнопки. Включение/ выключение GPIO , указанного в поле "GPIO For Key". Изменение состояния GPIO отправляется на сервера.  Если Вам нужно больше кнопок, то используйте опцию ADC KEY - она так же менее подвержена помехам. Или альтернативную опцию GPIO KEY

Time Key - Включение установленного GPIO на заданный промежуток времени, например по прерыванию с датчика движения. Функция доступна только на первом прерывании.

Прерывание может настраивается в пункте Mode. Оно может происходить при отрицательном импульсе (Neg) , при положительном (Pos) или при любом (Any). Например при замыкании входа прерывания на GND необходимо выбрать режим Neg. Эта настройка относится сразу ко всем прерываниям.


Примеры использования

Уведомление при срабатывании датчика открытия двери:

Подключение датчика (геркона):

Вход прерывания требуется подтянуть к vdd 3.3v через резистор 4.7 кОм. Датчик подключаем между входом GPIO и GND. Для защиты от помех и статики можно установить оптрон.

Настройка: Требуется указать GPIO к которому подключен датчик в поле "IntX on GPIO", где X - номер прерывания 1-4. Выбрать режим "Active send". В нижней части выбираем режим mode в зависимости от требований. Если указать "Any", то событие будет обрабатываться как при размыкании, так и замыкании датчика. При указании "Pos" будет срабатывать только при открытии двери.

На сервере MajorDoMo или MQTT вы должны увидеть прерывание  gpiointX.


Уведомление при срабатывании датчика движения:

Подключение датчика: Необходимо подключить питание и на выход GPIO  модуля. Выставить чувствительность и время на датчике встроенными регуляторами.

Настройка: Указываем GPIO к которому подключен датчик в поле "IntX on GPIO", где X - номер прерывания 1-4. Выбрать режим "Active send". В нижней части выбираем режим mode в зависимости от требований. Если указать "Any" , то событие будет обрабатываться как при начале движения и его окончании. При указании "Pos" будет срабатывать только при начале движения.

На сервере MajorDoMo или MQTT вы должны увидеть прерывание  gpiointX.


Кнопка включения другого GPIO:

Подключение: на вход прерывания подключаем кнопку с замыканием на GND.

Настройка:  Указываем GPIO к которому подключена кнопка в поле "IntX on GPIO", где X - номер прерывания 1-4. В поле "GPIO For Key" указываем GPIO, которым хотим управлять, не забываем настроить этот GPIO на выход, Возможно использование VGPIO. Выбираем режим "KEY". В нижней части выбираем режим mode "Neg".

На сервере MajorDoMo или MQTT вы должны увидеть изменение состояния указанного GPIO.