Подключение устройств с импульсными выходами к контроллеру Wiren Board
Введение
Устройства с импульсным выходом и датчики с выходом «сухой контакт» можно подключить к контроллеру несколькими способами:
В примере мы подключим к входу A1 счетчик воды с импульсным выходом.
Подготовка
Смена уровня доступа к веб-интерфейсу
Доступно с релиза wb-2602
Уровень доступа зависит от учетной записи пользователя, аутентификация пользователей происходит по логину и паролю. Для изменения настроек контроллера ваша учетная запись должна иметь уровень доступа Администратор. Управление учетными записями доступно в разделе Настройки → Пользователи. Подробнее см. Аутентификация и авторизация пользователя.
В релизах до wb-2602 нет учетных записей пользователя, а уровень доступа настраивается в разделе Настройки → Права доступа.
Подготовка выходов контроллера
Переключите универсальный вход/выход 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, смотрите рисунок Пример подключения счетчика с импульсным выходом.
Настройка входа
Дискретные входы и выходы контроллера настраиваются в драйвере wb-mqtt-gpio.
- Откройте раздел Настройки → Конфигурационные файлы и выберите пункт «Дискретные входы и выходы (GPIO)» (файл
/etc/wb-mqtt-gpio.conf). - В разделе «Список каналов GPIO» разверните нужный вход, например A1_IN.
- В поле «Тип счетчика импульсов» выберите тип счётчика:
- Счетчик расхода воды — для водосчётчика, единица измерения — м³;
- Счетчик электрической энергии — для счётчика электроэнергии, единица измерения — кВт·ч.
- После выбора типа появятся дополнительные поля:
- «Фронт срабатывания счетчика импульсов» — по какому фронту считать импульсы: передний, задний или оба.
- «Количество импульсов на единицу измерения (кВт*ч или м^3)» — сколько импульсов даёт счётчик на одну единицу. Значение берётся из документации счётчика. Пример: если водосчётчик даёт один импульс на каждые 10 л, то на 1 м³ приходится 100 импульсов — укажите 100.
- «Число десятичных знаков канала с текущим показанием» и «Число десятичных знаков канала с суммарным показанием» — точность отображения текущего и суммарного показаний.
- Нажмите «Записать».
Результат
Результат можно посмотреть на вкладке 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