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

Материал из Wiren Board
 
(не показана 41 промежуточная версия 7 участников)
Строка 1: Строка 1:
== Подключение датчиков и счетчиков с импульсными выходами и кнопок к Wiren Board 5 ==
{{DISPLAYTITLE: Подключение устройств с импульсными выходами к контроллеру Wiren Board}}
<div id="pic-installation"></div>
[[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]].


[[Wiren_Board_5:Аппаратная_часть#Универсальные входы/выходы A1-A4|Универсальные входы/выходы A1-A4]] контроллера могу использоваться для подключения различных устройств с импульсным выходом или кнопок. Типичный пример: счетчики воды или электросчетчики.
В примере мы подключим к входу A1 счетчик воды с импульсным выходом.


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


Импульсный вход одним проводом подключаем к источнику питания 5 — 24 В, второй провод к клемме А1.
=== Подготовка выходов контроллера ===
[[Installation_WB5_+_WaterMeter.png|thumb|left|400px|Пример подключения счетчика с импульсным выходом]]
Переключите универсальный вход/выход '''A1''' в режим входа:
# Перейдите на вкладку '''Devices'''
# Найдите устройство '''Discrete I/O'''
# Установите переключатель '''A1_OUT''' в положение '''OFF'''.


В примере мы будем подавать питание с выхода '''+5Vout''', поэтому включите его:
# Перейдите на вкладку '''Devices'''
# Найдите устройство '''Discrete I/O'''
# Установите переключатель '''5V_OUT''' в положение '''ON'''.


<!--
=== Получение имени GPIO и смещения ===
==== Мое из форума ====
Для настройки входа нам понадобятся параметры:
1. Подключаете импульсный выход счетчика к A1 и +5v, например.
* Path to chip character device
2. В веб-интерфейсе заходите в Configs -> GPIO Driver Configuration
* GPIO line offset
3. В списке слева находите GPIO 6 (A1_IN) и нажимаете кнопку Properties (с карандашиком)
 
4. Отмечаете флажками все раскрывшиеся опции и еще раз нажимаете кнопку Properties
Найти их можно в файле <code>/var/lib/wb-mqtt-gpio/conf.d/system.conf</code>. Например, вход '''A1_IN''' в файле описан так:
5. В списке "Pulse counter type (if any)" выбипаете water_meter
<syntaxhighlight lang="java">
6. В поле "Number of pulses per unit (kWh or m^3)" указываете, сколько импульсов приходится на кубометр (например, если 1 импульс -- 10 литров, то указываете 100)
      "name": "A1_IN",
7. Можете отконфигурировать число знаков после запятой, отображаемых в интерфейсе.
      "gpio": {
8. Нажимаете Save вверху страницы
        "chip": "/dev/gpiochip2",
9. Переходите в раздел Devices
        "offset": 14
10. В группе Discrete I/O появятся поля A1_IN_current и A1_IN_total (скорость расхода и расход)
      },
11. В mqtt это /devices/wb-gpio/controls/A1_IN_current и /devices/wb-gpio/controls/A1_IN_total соотв.
      "direction": "input",
-->
      "inverted": true,
      "initial_state": false
    },
</syntaxhighlight>
Нам интересны параметры gpio: '''chip''' и '''offset'''.
 
== Схема подключения ==
Подключите импульсный выход счетчика черным проводом к клемме '''A1''', а красным к клемме '''+5Vout''', смотрите рисунок [[#pic-installation | Пример подключения счетчика с импульсным выходом]].
 
== Настройка входа ==
Настройте универсальный вход 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 канала, к которому подключен счетчик: <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'''.
 
== Результат ==
Результат можно посмотреть на вкладке '''Devices''', устройство '''Discrete I/O'''. В нем появятся два новых параметра:
* A1_IN_total — объем, израсходованный с момента подключения счетчика к контроллеру. Сохраняется после перезагрузки контроллера как retained сообщение в хранилище [[MQTT |mqtt-брокера]].
* A1_IN_current — текущий расход воды.
 
Также значения будут доступны в mqtt-топиках:
* /devices/wb-gpio/controls/A1_IN_total
* /devices/wb-gpio/controls/A1_IN_current
 
== Полезные ссылки ==
<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

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