close

Вход

Забыли?

вход по аккаунту

код для вставкиСкачать
Общие положения
Приложение должно быть реализовано в виде Chrome Packaged App с использованием
chrome.serial и chrome.socket (Примеры использования на GitHub serial тут
https://github.com/GoogleChrome/chrome-app-samples/tree/master/samples/serial/espruino и
WebSocket тут https://github.com/GoogleChrome/chrome-appsamples/tree/master/samples/websocket-server ) и предоставлено в виде запакованной в zip папки.
Запросы к сервису будут содержать объекты в JSON-формате и отправляться через WebSocket
клиента. По результату обработки команды сервис возвращает асинхронные ответы клиенту с
данными о выполнении команд. Выполнение всех команд и результаты выполнения логируются
локально. Отдельно логируются номиналы принятых купюр. Записи перетираются (ротируются) в
зависимости от настроек максимального количества сохраненных записей (по-умолчанию 10 000).
Использование данного сервиса со стороны клиента будет выглядеть следующим образом:
///-- Автоопределение типа и порта купюроприемника
var ws = new WebSocket("ws://localhost:9910/");
ws.send('{guid:”25892e17-80f6-415f-9c65-7395632f0223”, command:"autodetect"}');
ws.addEventListener('close', function () {
console.log('Connection lost');
});
ws.addEventListener('message', function (e) {
console.log(e.data);
});
Описанный сервис должен работать с 2-мя протоколами: EBDS (для MEI) и ID003
Поля запроса
guid – уникальный идентификатор команды
command – наименование команды
result – результат выполнения команды (“ok” – успешное выполнение, иначе код и описание
ошибки)
data – объект данных запроса или ответа
Описание протокола
Объект запроса
{ guid:”25892e17-80f6-415f-9c657395632f0223”, command:”autodetect”}
Результат выполнения
Определяет:
- порт, на котором расположен
купюроприемник,
- модель и серийный номер (всех данных по
купюроприемнику, которые могут быть
получены с использованием текущего
протокола)
- протокол купюроприемника
и сохраняет этих данные в локальном
хранилище приложения.
Возвращает: { guid:”25892e17-80f6-415f-9c657395632f0223”, command:”autodetect”, result:
“ok”}
{ guid:”25892e17-80f6-415f-9c657395632f0223”,command:”model”}
{ guid:”25892e17-80f6-415f-9c657395632f0223”,command:”port”}
{ guid:”25892e17-80f6-415f-9c657395632f0223”,command:”protocol”}
{ guid:”25892e17-80f6-415f-9c657395632f0223”,command:”status”}
{ guid:”25892e17-80f6-415f-9c657395632f0223”,command:”reset”}
{ guid:”25892e17-80f6-415f-9c657395632f0223”,command:”start_receive”, data:
{max_sum: 50}}
{ guid:”25892e17-80f6-415f-9c657395632f0223”,command:”stop_receive”}
Событие:
{ guid:”25892e17-80f6-415f-9c657395632f0223”,command:”log”, data:
{start:”2015-02-11 09:00:00”, end: ”2015-02-11
09:05:00”}}
Возвращает модель, серийный номер купа,
если не определен – data:””
{ guid:”25892e17-80f6-415f-9c657395632f0223”, command:” model”, result: “ok”,
data: “SC8307, s/n 12345678”}
Имя порта купа, если не определен – data:”” {
guid:”25892e17-80f6-415f-9c65-7395632f0223”,
command:” port”, result: “ok”, data:
“/dev/ttyS0”}
Протокол купа, если не определен – data:”” {
guid:”25892e17-80f6-415f-9c65-7395632f0223”,
command:” protocol”, result: “ok”, data:
“ID003”}
Возвращает текущее состояние купа {
guid:”25892e17-80f6-415f-9c65-7395632f0223”,
command:” status”, result: “ok”, data:”Idle” }
или data:”Receiving”, data:”Stacking” – или
другие возможные варианты
Перезагрузка купа { guid:”25892e17-80f6-415f9c65-7395632f0223”, command:” reset”, result:
“ok” }
Переводит купюроприемник в состояние
готовности приема купюр на сумму не
большую указанной в data объекте
По факту приема каждой купюры генерируется
сообщение:
{ guid:”25892e17-80f6-415f-9c657395632f0223”, command:”received”, result:
“ok”, data:{nominal: 10} }
{ guid:”25892e17-80f6-415f-9c657395632f0223”, command:”received”, result:
“ok”, data:{nominal: 5} }
{ guid:”25892e17-80f6-415f-9c657395632f0223”, command:”received”, result:
“ok”, data:{nominal: 5} }
Останавливает прием купюр. Возвращает
результат-подтверждение остановки приема
купюр только по факту перехода купюрника в
состояние Idle.
{ guid:”25892e17-80f6-415f-9c657395632f0223”, command:”stoped”, result:
“ok”}
Возникает при изъятии кассеты (если такое
событие предусмотрено):
{ guid:”25892e17-80f6-415f-9c657395632f0223”, command:”open_cassette”,
result: “ok”}
Возвращает логи за указанный период:
{ guid:”25892e17-80f6-415f-9c657395632f0223”, command:”log”, result: “ok”,
data:[
{time:”2015-02-11 09:00:01”, text:”Connection
event catched”},
{ guid:”25892e17-80f6-415f-9c657395632f0223”,command:”bills”, data:
{start:”2015-02-11 09:00:00”, end: ”2015-02-11
09:05:00”}}
{time:”2015-02-11 09:00:01”, text:”Stacked bill
with nominal 10”}
{time:”2015-02-11 09:00:01”, text:”Bill jamed”}
]}
Возвращает коллекцию купюр принятых за
указанный период:
{ guid:”25892e17-80f6-415f-9c657395632f0223”, command:”bills”, result: “ok”,
data:[
{time:”2015-02-11 09:00:01”, value:20 },
{time:”2015-02-11 09:00:21”, value:5 },
{time:”2015-02-11 09:00:51”, value:5 }
]}
1/--страниц
Пожаловаться на содержимое документа