16.1. [DKSF 70/71.7 IU] Управление IO-линиями

Интерфейс URL-encoded команд в устройстве может быть использован для интеграции с web-приложениями без использования протокола SNMP. Через интерфейс URL-encoded команд доступно управление IO-линиями.

Запрос состояния конкретной IO-линии

http://192.168.0.100/io.cgi?ioN

где:

N — номер линии, указан после ?io.

Возвращаемые значения

Ошибка (неправильный формат запроса или неправильный номер IO-линии):

 io_result('error')

Успешное выполнение команды:

io_result('ok', -1, 1, 339)

Первый аргумент: всегда 'ok' (при ошибке запроса - 'error').

Второй аргумент: всегда «-1», для расширения API в будущем.

Третий аргумент: текущее моментальное состояние IO-линии, включая состояние сброса.

Четвёртый аргумент: счетчик импульсов на данной IO-линии.

Имя JSON-P callback-а фиксированное, io_result(), и не может быть изменено в запросе.

Запрос состояния всех IO-линий

Если номер линии не указан, в ответе будет бит-карта состояния всех IO-линий.

http://192.168.0.100/io.cgi?io

Возвращаемые значения

io_result('ok', 246);

где:

Первый аргумент: всегда 'ok' (при ошибке запроса - 'error').

Второй аргумент: бит-карта состояния линий.

бит 0 = линия 1

бит 1 = линия 2

...

бит 7 = линия 8

Например:

Состояние IO-линий устройства бит-карта
IO 1 IO 2 IO 3 IO 4 IO 5 IO 6 IO 7 IO 8
0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1
0 1 0 0 0 0 0 0 2
0 0 1 0 0 0 0 0 4
0 0 0 1 0 0 0 0 8
0 0 0 0 1 0 0 0 16
0 0 0 0 0 1 0 0 32
0 0 0 0 0 0 1 0 64
0 0 0 0 0 0 0 1 128
1 1 1 1 1 1 1 1 255
1 1 1 0 0 1 1 1 231
1 0 1 1 1 1 1 0 125
0 1 0 0 1 0 0 0 18
1 1 0 1 1 0 0 0 27

Переключение линии (в режиме выхода)

Переключение в состояние «0» или «1»:

http://192.168.0.100/io.cgi?ioN=0

http://192.168.0.100/io.cgi?ioN=1

где:

N — номер линии, указан после ?io.


Переключение в альтернативное (инверсное) состояние.

http://192.168.0.100/io.cgi?ioN=f

где:

N — номер линии, указан после ?io.


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

http://192.168.0.100/io.cgi?ioN=f,5

где:

N  номер линии, указан после ?io.

Длительность в секундах задается после запятой.

Выбор режима работы IO-линии

Установка режима работы линии: «0» — вход, «1» — выход:

http://192.168.0.100/io.cgi?ioN&mode=0

http://192.168.0.100/io.cgi?ioN&mode=1

где:

N — номер линии, указан после ?io.

Возвращаемые значения

Ошибка (неправильный формат запроса или неправильный номер IO-линии):

io_result('error')

Команда выполнена:

io_result('ok')

Авторизация

Для добавления в структуру URL-encoded-команды логина и пароля можно воспользоваться следующей схемой:

  • http://<имя_пользователя>:<пароль>@<хост>:<порт>/<URL‐путь>?<параметры>

где:

<имя_пользователя>:<пароль> — учетные данные для авторизации в web-интерфейсе устройства;

<хост>  IP-адрес устройства;

<порт>  порт HTTP-сервера;

<URL‐путь>?<параметры>  URL-encoded-команда.