Подключение устройств с импульсными выходами к контроллеру Wiren Board
Введение
Устройства с импульсным выходом и датчики с выходом «сухой контакт» можно подключить к контроллеру несколькими способами:
В примере мы подключим к входу A1 счетчик воды с импульсным выходом.
Подготовка
Смена уровня доступа к веб-интерфейсу
Для изменения настроек контроллера вам нужен уровень доступа Администратор, который можно выставить в разделе Настройки → Права доступа.
После завершения настроек рекомендуем поставить уровень доступа Пользователь или Оператор — это поможет не совершить случайных ошибок при ежедневной работе с веб-интерфейсом.
Подготовка выходов контроллера
Переключите универсальный вход/выход A1 в режим входа:
- Перейдите на вкладку Devices
- Найдите устройство Discrete I/O
- Установите переключатель A1_OUT в положение OFF.
В примере мы будем подавать питание с выхода +5Vout, поэтому включите его:
- Перейдите на вкладку Devices
- Найдите устройство Discrete I/O
- Установите переключатель 5V_OUT в положение ON.
Получение имени GPIO и смещения
устарело, для релизов новее 2207 неактуально
Для настройки входа нам понадобятся параметры:
- Path to chip character device
- GPIO line offset
Найти их можно в файле /var/lib/wb-mqtt-gpio/conf.d/system.conf
. Например, вход A1_IN в файле описан так:
"name": "A1_IN",
"gpio": {
"chip": "/dev/gpiochip2",
"offset": 14
},
"direction": "input",
"inverted": true,
"initial_state": false
},
Нам интересны параметры gpio: chip и offset.
Схема подключения
Подключите импульсный выход счетчика черным проводом к клемме A1, а красным к клемме +5Vout, смотрите рисунок Пример подключения счетчика с импульсным выходом.
Настройка входа
Настройте универсальный вход A1 как счетчик.
- Добавьте новый канал:
- Перейдите в меню Settings → Configs
- Найдите пункт GPIO Driver Configuration Type и перейдите в него.
- В разделе List of GPIO channels добавьте новый канал, для этого нажмите на кнопку +GPIO channel.
- В форме добавленного канала нажмите кнопку Properties и включите пункты:
- Pulse counter type (if any)
- Number of pulses per unit (kWh or m^3)
- Number of decimal places in _current topic (pulse counters only)
- Чтобы скрыть список опций, нажмите на кнопку Properties еще раз.
- Заполните форму настроек канала:
- MQTT id — ID канала, к которому подключен счетчик:
A1_IN
. - Path to chip character device — путь к устройству:
/dev/gpiochip2
. - GPIO line offset —
14
. - Direction — режим входа:
Input
. - Pulse counter type (if any) — тип счетчика:
water_meter
. - Number of pulses per unit (kWh or m^3) — количество импульсов на кубометр. Например, если 1 импульс счетчика соответствует 10 литрам воды, то установите значение
100
. Если 1 литру — 1000. Значение можно узнать из документации счетчика воды. - Number of decimal places in _current topic (pulse counters only) — количество знаков после запятой:
3
.
- MQTT id — ID канала, к которому подключен счетчик:
- После ввода настроек нажмите кнопку Save.
Результат
Результат можно посмотреть на вкладке Devices, устройство Discrete I/O. В нем появятся два новых параметра:
- A1_IN_total — объем, израсходованный с момента подключения счетчика к контроллеру. Сохраняется после перезагрузки контроллера как retained сообщение в хранилище mqtt-брокера.
- A1_IN_current — текущий расход воды.
Также значения будут доступны в mqtt-топиках:
- /devices/wb-gpio/controls/A1_IN_total
- /devices/wb-gpio/controls/A1_IN_current