Using Wiren Board with pulsed output devices: различия между версиями

Материал из Wiren Board
 
(не показано 28 промежуточных версий 5 участников)
Строка 1: Строка 1:
<languages/>
{{DISPLAYTITLE: Подключение устройств с импульсными выходами к контроллеру Wiren Board}}
<translate>
<div id="pic-installation"></div>
{{DISPLAYTITLE:Подключение устройств с импульсными выходами]]
[[File:Installation_WB5_+_WaterMeter.png|thumb|right|400px|Пример подключения счетчика с импульсным выходом]]
 
== Введение ==
Устройства с импульсным выходом и датчики с выходом «сухой контакт» можно подключить к контроллеру несколькими способами:
* К универсальным входам/выходам A1­-A4 (A1–A3, D1).
* С помощью модулей [[WB-MCM8_Modbus_Count_Inputs | WB-MCM8]] и [[WB-MWAC Modbus Water Consumption Metering and Leak Monitoring | WB-MWAC]].
 
В примере мы подключим к входу A1 счетчик воды с импульсным выходом.


== Подключение датчиков и счетчиков с импульсными выходами и кнопок к Wiren Board 5 == <!--T:1-->
== Подготовка ==
=== Смена уровня доступа к веб-интерфейсу ===
{{Wbincludes:WebUI Change Access Level}}
<gallery mode="traditional" widths ="250px" heights="200px">
Image: GPIO6 WaterMeter.png| Вид интерфейса настройки счетчика
Image: DiscreteIO.png| Данные со счетчика
</gallery>


[[File:Installation_WB5_+_WaterMeter.png|thumb|right|400px|Пример подключения счетчика с импульсным выходом]]
=== Подготовка выходов контроллера ===
[[File:DiscreteIO.png|thumb|right|400px|Данные от счетчика]]
Переключите универсальный вход/выход '''A1''' в режим входа:
<!--T:2-->
# Перейдите на вкладку '''Devices'''
Универсальные входы/выходы A1-A4 контроллера могу использоваться для подключения различных устройств с импульсным выходом или кнопок. Типичный пример: счетчики воды или электросчетчики.
# Найдите устройство '''Discrete I/O'''
# Установите переключатель '''A1_OUT''' в положение '''OFF'''.
 
В примере мы будем подавать питание с выхода '''+5Vout''', поэтому включите его:
# Перейдите на вкладку '''Devices'''
# Найдите устройство '''Discrete I/O'''
# Установите переключатель '''5V_OUT''' в положение '''ON'''.
 
=== Получение имени GPIO и смещения ===
Для настройки входа нам понадобятся параметры:
* Path to chip character device
* GPIO line offset
 
Найти их можно в файле <code>/var/lib/wb-mqtt-gpio/conf.d/system.conf</code>. Например, вход '''A1_IN''' в файле описан так:
<syntaxhighlight lang="java">
      "name": "A1_IN",
      "gpio": {
        "chip": "/dev/gpiochip2",
        "offset": 14
      },
      "direction": "input",
      "inverted": true,
      "initial_state": false
    },
</syntaxhighlight>
Нам интересны параметры gpio: '''chip''' и '''offset'''.


=== Пример подключения === <!--T:3-->
== Схема подключения ==
Подключите импульсный выход счетчика черным проводом к клемме '''A1''', а красным к клемме '''+5Vout''', смотрите рисунок [[#pic-installation | Пример подключения счетчика с импульсным выходом]].


<!--T:4-->
== Настройка входа ==
Импульсный вход одним проводом подключаем к источнику питания 5 — 24 В, второй провод к клемме А1.
Настройте универсальный вход A1 как счетчик.


<!--T:5-->
# Добавьте новый канал:
Далее в веб-интерфейсе необходимо настроить универсальный вход A1 как счетчик.
#:* Перейдите в меню '''Settings''' → '''Configs'''
В меню '''Configs''' выбираем раздел '''GPIO Driver Configuration'''.
#:* Найдите пункт '''GPIO Driver Configuration Type''' и перейдите в него.
На панели выбираем настройки входа A1_IN, нажимаем кнопку '''Properties''' и отмечаем все флажки. Еще раз нажимаем кнопку '''Properties'''.
#:* В разделе '''List of GPIO channels''' добавьте новый канал, для этого нажмите на кнопку '''+GPIO channel'''.
Теперь  в свойствах входа A1_IN появились дополнительные поля.
# В форме добавленного канала нажмите кнопку '''Properties''' и включите пункты:
В списке поля '''Pulse counter type (if any)''' выбираете тип ''water_meter''.  
#:* Pulse counter type (if any)
В поле '''Number of pulses per unit (kWh or m^3)''' указываете, сколько импульсов приходится на кубометр (например, если 1 импульс счетчика соответствует 10 литрам, то указываете 100; если 1 литру — 1000.)
#:* Number of pulses per unit (kWh or m^3)
Значение полей '''Number of decimal places...''' задает, сколько знаков после запятой будет отображаться в интерфейсе Wiren Board.
#:* Number of decimal places in _current topic (pulse counters only)
Сохраняем настройки, нажав кнопку '''Save''' вверху страницы и переходим к списку устройств на страницу '''Devices'''.
#: Чтобы скрыть список опций, нажмите на кнопку '''Properties''' еще раз.
# Заполните форму настроек канала:
#:* MQTT id — ID канала, к которому подключен счетчик: <code>A1_IN</code>.
#:* Path to chip character device — путь к устройству: <code>/dev/gpiochip2</code>.
#:* GPIO line offset — <code>14</code>.
#:* Direction — режим входа: <code>Input</code>.
#:* Pulse counter type (if any) тип счетчика: <code>water_meter</code>.
#:* Number of pulses per unit (kWh or m^3) — количество импульсов на кубометр. Например, если 1 импульс счетчика соответствует 10 литрам воды, то установите значение <code>100</code>. Если 1 литру — 1000. Значение можно узнать из документации счетчика воды.
#:* Number of decimal places in _current topic (pulse counters only) — количество знаков после запятой: <code>3</code>.
# После ввода настроек нажмите кнопку '''Save'''.


Находим устройство '''Discrete I/O''' и видим, что у него появились новые свойства: ''A1_IN_current'' и ''A1_IN_total''. Поле ''A1_IN_current'' показывает текущий расход воды, а ''A1_IN_total'' — какой объем был израсходован с момента подключения. В mqtt этим полям соответствуют топики '''/devices/wb-gpio/controls/A1_IN_current''' и '''/devices/wb-gpio/controls/A1_IN_total'''.  
== Результат ==
Результат можно посмотреть на вкладке '''Devices''', устройство '''Discrete I/O'''. В нем появятся два новых параметра:
* A1_IN_total — объем, израсходованный с момента подключения счетчика к контроллеру. Сохраняется после перезагрузки контроллера как retained сообщение в хранилище [[MQTT |mqtt-брокера]].
* A1_IN_current — текущий расход воды.


<!--T:6-->
Также значения будут доступны в mqtt-топиках:
Значение '''A1_IN_total''' сохраняется после перезагрузки контроллера (как retained сообщение в хранилище mqtt-брокера).
* /devices/wb-gpio/controls/A1_IN_total
* /devices/wb-gpio/controls/A1_IN_current


[[File:GPIO6_WaterMeter.png|thumb|center|800px|Вид интерфейса настройки счетчика]]
== Полезные ссылки ==
</translate>
<div id="links"></div>
* [[View controller files from your computer | Просмотр файлов контроллера с компьютера]]
* [[Wiren Board 6 | Описание контроллера Wiren Board]]
* [[Wiren Board Web Interface | Веб-интерфейс контроллера Wiren Board]]
* [[WB-MWAC | Модуль учета водопотребления и контроля протечек WB-MWAC]]

Текущая версия на 10:34, 21 сентября 2022

Пример подключения счетчика с импульсным выходом

Введение

Устройства с импульсным выходом и датчики с выходом «сухой контакт» можно подключить к контроллеру несколькими способами:

  • К универсальным входам/выходам A1­-A4 (A1–A3, D1).
  • С помощью модулей WB-MCM8 и WB-MWAC.

В примере мы подключим к входу A1 счетчик воды с импульсным выходом.

Подготовка

Смена уровня доступа к веб-интерфейсу

Уровень «Администратор»

Для изменения настроек контроллера вам нужен уровень доступа Администратор, который можно выставить в разделе НастройкиПрава доступа.

После завершения настроек рекомендуем поставить уровень доступа Пользователь или Оператор — это поможет не совершить случайных ошибок при ежедневной работе с веб-интерфейсом.

Подготовка выходов контроллера

Переключите универсальный вход/выход A1 в режим входа:

  1. Перейдите на вкладку Devices
  2. Найдите устройство Discrete I/O
  3. Установите переключатель A1_OUT в положение OFF.

В примере мы будем подавать питание с выхода +5Vout, поэтому включите его:

  1. Перейдите на вкладку Devices
  2. Найдите устройство Discrete I/O
  3. Установите переключатель 5V_OUT в положение ON.

Получение имени GPIO и смещения

Для настройки входа нам понадобятся параметры:

  • 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 как счетчик.

  1. Добавьте новый канал:
    • Перейдите в меню SettingsConfigs
    • Найдите пункт GPIO Driver Configuration Type и перейдите в него.
    • В разделе List of GPIO channels добавьте новый канал, для этого нажмите на кнопку +GPIO channel.
  2. В форме добавленного канала нажмите кнопку 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 еще раз.
  3. Заполните форму настроек канала:
    • 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.
  4. После ввода настроек нажмите кнопку 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

Полезные ссылки