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


HTTP API
Реле
КомандаВызовОтветПримечание
Запрос состояния реле

/relay.cgi?rN

N - номер канала реле

relay_result('error');

relay_result('ok', 2, 1);

первы аргумент всегда "ok"

второй аргумент состояние реле

третий аргумент моментальное состояние реле


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

/relay.cgi?rN=S

N - номер канала реле

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

relay_result('error');

relay_result('ok');


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

/relay.cgi?rN=f

N - номер реле

relay_result('error');

relay_result('ok');


Ресет, переключение реле в инверсное состояние на время

/relay.cgi?rn=f,10

N - номер реле

relay_result('error');

relay_result('ok');


Термодатчики
Запрос состояния датчика

/thermo.cgi?tN

N - номер датчика

thermo_result('error')

thermo_result('ok', 36, 2);

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

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

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

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

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

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

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


Датчики влажности
Запрос влажности

/relhum.cgi?hN

N - номер датчика

relhum_result('error')

relhum_result('ok', 55, 2)

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

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

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

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

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

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

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


Запрос температуры

/relhum.cgi?tN

N - номер датчика

relhum_result('error')

relhum_result('ok', 25, 2)

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

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

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

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

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

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

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


Линии ввода-вывода
Запрос состояния линии/io.cgi?ioN

io_result('error')

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


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

/io.cgi?io

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


В формате биткарты


Управление линией в режиме "выход"

/io.cgi?ioN=S

N - номер датчика

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



Переключение линии в инверсное состояние в режиме "выход"/io.cgi?ioN=f

Ресет, переключение линии в инверсное состояние на время в режиме "выход"/io.cgi?ioN=f,5

Изменение режима работы линии.

/io.cgi?ioN&mode=S

N - номер датчика

S - режим работы (1 – выход, 0 – вход)



GSM модем
Отправка СМС, UTF8

/sendsms.cgi?utf8

[+7xxxxxxxxxx, +7yyyyyyyyyy..] Текст

smssend_result('ok'); - Успешное выполнение команды

smssend_result('error') - Ошибка в тексте запроса

smssend_result('busy') - GSM модем занят:

URL вызывается методом POST. Данные POST представляют собой текст SMS в кодировке UTF-8.




USSD запрос

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

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

ussdsend_result('ok');

Для получения ответа на запрос, вызывать

/ussdread.cgi

Ответ:

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

Датчики качества электропитания 1-wire

/voltage.cgi?vN

N – номер датчика

voltage_result('error');  oшибка возвращается в случае неправильного формата запроса

voltage_result('ok', 220, 4, 50, 4); – успешное выполнение команды:

Первый аргумент - всегда 'ok'
Второй аргумент - текущее значение напряжения, В
Третий аргумент - статус напряжения, светофор:

  • 0  датчик не подключён либо не исправен
  • 1 – электропитание отсутствует
  •  плохо
  •  средне
  •  отлично

Четвёртный аргумент - текущее значение частоты, Гц
Пятый аргумент - статус частоты, светофор:

  • 0  датчик не подключён либо не исправен
  • 1 – частота отсутствует
  • 2  плохо

  • 3  средне

  • 4  отлично