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 1IO 2IO 3IO 4IO 5IO 6IO 7IO 8
000000000
100000001
010000002
001000004
000100008
0000100016
0000010032
0000001064
00000001128
11111111255
11100111231
10111110125
0100100018
1101100027

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

Переключение в состояние «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-команда.