# serial

Добавляет возможность использования последовательных портов. Открытие и закрытие портов происходит при подаче команд start и stop соответственно.

    plugin.serial:
      enable: on

      module.ser:
        enable: off

        ports:

    #JSSC
          - id:        13
            enable:    off
            baud:      9600
            bits:      8/0/1
            timeout:   200
            type:      jssc
            sysname:   /dev/ttyr00

    # NPort
          - id:        41
            enable:    off
            baud:      57600
            bits:      8/0/1
            timeout:   3000
            type:      nport
            host:      109.195.39.165
            port.data: 20950
            port.cmd:  20966

    # USR410
          - id:        1
            enable:    on
            baud:      57600
            bits:      8/0/1
            timeout:   500
            type:      usriot
            host:      192.168.2.188
            port:      26

### Описание

ports | - | Список последовательных портов
id | - | внутренний номер порта (не номер COM-порта в системе Windows!). По этому номеру модули-потребители (например, peripherial) будут работать портом.
enable | `on` | разрешение работы модуля
baud | `9600` | стандартное значение скорости (например, 9600, 57600, 115200 и т.д.)
bits | `8/0/1` | параметры порта в формате `databits/parity/stops`
`databits` - 7-8, количество бит данных
`parity` - 0-5, четность: `0`=off, `1`=odd, `2`=even, `3`=mark, `4`=space, `5`=stopbits
`stopbits` - 1-2, количество стоп-бит
timeout | `200` | тайм-аут в миллисекундах
no_tcpdelay | `off` | отключение алгоритма Nagle. При значении `on` исходящие tcp-пакеты будут отсылаться без ожидания и группировки, предназначенной для оптимизации сетевого траффика (только для `nport` и `usriot`)
type | - | тип порта:
`jssc` - работа с встроенными последовательными портами через драйверы операционной системы. Для доступа используется библиотека jssc
`nport` - работа с серверами последовательных портов Moxa NPort. Для доступа используется прямое взаимодействие через сокеты (установка драйверов не требуется)
`usriot` - работа с серверами последовательных портов на базе USRIOT (для совместимости название `usr410` оставлено). Для доступа используется прямое взаимодействие через сокеты (установка драйверов не требуется). Внимание! В настройках порта конвертера через веб-интерфейс необходимо включить Synchronous baud rate (RFC2217) для возможности установки параметров порта.
`modbustcp` - преобразование протокола ModbusRTU в ModbusTcp (master). Использовать данный порт могут только периферийные модули, работающие по modbus. Исходящие rtu-запросы от модулей преобразуются в tcp-запросы, которые отправляются slave-хосту. Подробнее о ModbusTCP здесь.
`finsudp` - Реализация протокола FINS от Omron через udp. Описание протокола кратко, подробно rus, подробно eng.
jssc
sysname | - | системное имя последовательного порта
nport
host | - | адрес сервера
port.data | - | tcp-порт данных
port.cmd | - | tcp-порт управления
usriot
host | - | адрес сервера
port | - | tcp-порт
modbustcp
host | - | адрес сервера (slave)
port | - | tcp-порт
finsudp
host | - | адрес сервера (slave)
port | - | udp-порт

## Теги

<portnum>.opened | статус порта (для каждого порта свой тег)