Document toolboxDocument toolbox

14. [DKSF 489.1.10] Поддержка устройством HTTP API

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

 

Вызов

Примечания

Ответ

Примечания

Вызов

Примечания

Ответ

Примечания

Линии Input и Output

Запрос состояния линии

/io.cgi?ioN

  • N — номер линии (1-16 Input, 17-20 Output)

io_result('error')

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

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

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

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

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

 

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

/io.cgi?io

io_result('error')

io_result('ok', 246);

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

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

Бит-карта (представлена в десятичном формате):

  • бит 0 = линия 1

  • бит 1 = линия 2

  • ...

  • бит 7 = линия 8

Например:

  • 00000000 — 0 (все линии в лог.0)

  • 11100111 — 231 (4 и 5 линии в лог.0, остальные в лог.1)

Управление линией Otput

/io.cgi?ioN=S

  • N — номер линии (17-20 Output)

  • S — режим работы (1 — вкл., 0 — выкл.)

io_result('error')

io_result('ok')

 

Ресет, переключение линии в инверсное состояние на время в режиме «выход»

/io.cgi?ioN=f,T

  • N — номер линии (17-20 Output)

  • T — время переключения в с.

io_result('error')

io_result('ok')

 

Реле

/relay.cgi?rN

Состояние реле\

N - номер реле

relay_result('error');

relay_result('ok', 0, 1);

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

  • Второй аргумент: источник управления реле:

  • 0 — Выключено;

  • 1 — Включено.

  • Третий аргумент: моментальное актуальное состояние реле («0» или «1») с учетом функционирования модуля «Сторож», активации сброса, выдачи импульса и прочего.

 

/relay.cgi?rn=s

переключение реле

S - 0выкл, 1 вкл

relay_result('error');

relay_result('ok');

 

/relay.cgi?rn=f

переключение реле в инверсное состояния

relay_result('error');

relay_result('ok');

 

relay.cgi?rn=f,10

Кратковременное переключение реле в инверсное состояние (выдача импульса сброса):

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

relay_result('error');

relay_result('ok');

 

relay.cgi?powerN

Текущее напряжение, сила тока и мощность на реле

relay_result('error');

relay_result('ok', ‘228', ‘1.6’, '364.8’);

первое значение - всегда ок

  • второе - напряжение

  • третье - сила тока

  • четвертое - мощность

 

АВР

/ats_in.cgi

Запрос состояния вводов

ats_in_result('ok', 1, 1)

статус напряжения на вводах.

второе значение - првый ввода.

Третье - второй.

  • 0 - не норма, повышенное, пониженное или отсутствует.

  • 1 - норма, не повышенное и не пониженное.

 

/ats.cgi?main=N

Выбор основного ввода

Где N:

0 - первый ввод основной

1 - втрой ввод остановной

ats_in_result('ok')

ats_in_result('error')

Если выбирается уже активный ввод - возвращать ats_in_result('ok'). Но команда не будет иметь действия.

термодатчики

/thermo.cgi?tN

запрос состояния датчика

thermo_result('error')

thermo_result('ok', 36, 2);

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

Второй аргумент: текущая температура.

Третий аргумент: статус датчика

 Датчик не подключен или сбоит

 Температура ниже нормы

 Температура в норме

 Температура выше нормы

 

/thermo.cgi?tpreciseN

запрос состояния датчика

*возвращает температуру с точностью до 0.1

thermo_result('error')

thermo_result('ok', 36.3, 2);

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

Второй аргумент: текущая температура.

Третий аргумент: статус датчика

 Датчик не подключен или сбоит

 Температура ниже нормы

 Температура в норме

 Температура выше нормы

 

датчики влажности

/relhum.cgi?hN

 

relhum_result('ok', 55, 2)

Первый аргумент: всегда 'ok'.

Второй аргумент: относительная влажность, %.

Третий аргумент: статус датчика:

0 — датчик не подключен или сбоит;

1 — влажность ниже нормы;

2 — влажность в норме;

3 — влажность выше нормы.

 

/relhum.cgi?tN

 

relhum_result('ok', 25, 2)

Первый аргумент: всегда 'ok'.

Второй аргумент: температура, °C.

Третий аргумент: статус датчика:

0 — датчик не подключен или сбоит;

1 — температура ниже нормы;

2 — температура в норме;

3 — температура выше нормы.

 

GSM

/sendsms.cgi?utf8

/sendsms.cgi

URL вызывается методом POST. Данные POST представляют из себя текст SMS в кодировке UTF-8. Более подробно об отправке произвольных SMS-сообщений можно прочитать в разделе «11.11. [DKSF 70/71.6 IU] Как отправлять произвольные SMS?».

smssend_result('ok');

smssend_result('error');

smssend_result('busy');

 

/ussdstart.cgi?кодзапроса

код запроса — a[код]x. Например, a100x, что означает *100#. В коде USSD запроса «*» заменяется на «a», «#» заменяется на «x» (латинские символы).

ussdsend_result('ok');

 

/ussdread.cgi

Вызывать через 20 секунд после запроса баланса SIM-карты.

ussdsend_result("ответ_gsm_оператора");

 

Преобразователь аналоговых сигналов

/inputanalog.cgi?inN

где, N - номер адаптера, 1..4

owinputanalog_result('error')

owinputanalog_result('ok', status, A, V, R)

  • 'ok' - всегда ok

  • status - статус (значение аналогично SNMP .1.3.6.1.4.1.25728.8200.1.1.2,  npOwInputAnalogStatus)

  • A - ток в мкА

  • V - напряжение в мВ

  • R - сопротивление в Ом

 

/inputanalog.cgi?inN&pwr=S,

Управление питанием петли:где S: 0 - выкл, 1 - вкл, N - номер адаптера, 1..4

owinputanalog_result('error')
owinputanalog_result('ok')

 

/inputanalog.cgi?inN&rst

/inputanalog.cgi?inN&rst=N

тключение на N секунд (1..25)., N - номер адаптера, 1..4.

owinputanalog_result('error')
owinputanalog_result('ok')

 

Пример Ввода команд:

Переключение реле

Смена источника управления, а также ручное включение и выключение реле:

После ?r указывается номер реле, после = указывается номер режима (источника управления).

где:

n — номер реле

s — режим работы реле:

0 — Выключено

1 — Включено

Переключение (инвертирование) реле, вкл <-> выкл:

Реле должно находиться в режиме «Ручное выкл» или «Ручное вкл».

 

Кратковременное переключение реле в инверсное состояние (выдача импульса сброса):

 

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

Авторизация