protocol - danil-kondr2016/autoringsystem GitHub Wiki

Описание протокола взаимодействия системы автоматической подачи звонков и панели управления на компьютере

Протокол взаимодействия основан на отправке POST-запроса HTTP по адресу http://autoring.local/autoring. POST-запрос HTTP содержит в своём теле URL-закодированную форму (подробнее - в стандарте RFC 3986).

URL-закодированная форма в обязательном порядке должна содержать поле method, которое обозначает метод обращения к устройству, и, если требуется, поле pwdhash. Оно необходимо для того, чтобы избежать срыва уроков.

В ответ возвращается URL-закодированная форма как text/plain.

Методы, которые принимает система:

Метод Значение метода Необходимые поля
set Запрос изменения расписания или установки времени pwdhash, [lessnum, schedule, time]
doring Команда на подачу звонка или серии звонков pwdhash, number, time, pause
schedule Запрос текущего установленного расписания отсутствуют

Метод set

Принимаемые аргументы

Аргумент Значение аргумента
lessnum Количество уроков в расписании
schedule Расписание звонков
time Время на часах системы

Ответ системы автоподачи звонков

state=0

Метод doring

Принимаемые аргументы

Аргумент Значение аргумента
number Количество подаваемых звонков
time Длительность одного звонка
pause Длительность паузы между звонками (необязательно, если number=1)

Ответ системы автоподачи звонков

state=0

Метод schedule

Принимаемые аргументы

Аргументов не принимает.

Ответ системы автоподачи звонков

Возвращается форма, состоящая из двух полей: lessnum (количество уроков) и schedule (собственно расписание). Каждый урок представлен в виде N-S.E.R, где N – номер урока, S – время начала урока в минутах, E – время окончания урока в минутах, R – количество звонков после звонка на перемену. Записи разделяются символом _.