Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WS] Реалізація протоколу сканування #2

Open
5HT opened this issue Aug 10, 2021 · 0 comments
Open

[WS] Реалізація протоколу сканування #2

5HT opened this issue Aug 10, 2021 · 0 comments
Assignees
Labels
Виробництво Стадія виробництва: реалізація зауваження або функціональності та виправлення помилки Функціональність Радуватиме користувача, бажано реалізувати

Comments

@5HT
Copy link
Member

5HT commented Aug 10, 2021

Для захоплення зображень від сканера пропонується 3-арний CSV протокол з наступним заголовком:

Функція-запит,TWAIN Пристрій,Ім'я профілю,Виклики функцій перед скануванням

Четверте поле Виклики функцій перед скануванням містить виклики розділені +, а самі виклики складаються з імені та (опціонально) параметрів, перед кожним з яких стоїть -. Наприклад:

SCAN,DS-530,maxim,AUTOSCAN+AUTOFEED
SCAN,DS-530,"",AUTOSCAN-1+COLOR-BW+DPI-300+PAGES-20

У випадку коли третє поле Ім'я профілю пусте, тоді просто цей профіль в агенті не застосовується перед скануванням.
Коли четверте поле пусте, тоді додаткові налаштування поверх профілю не застосовуються. Коли і третє і четверте поля пусті, це означає що ніякі налаштування CAPABILITIES не будуть застосовуватися перед скануванням:

SCAN,DS-530,,

Перелік доступних сканерів

LIST,,,

Виклики функцій перед скануванням в сутності — це формат профілю сканування. Його теж можна передавати по мережі за допомогою протоколу CAP з наступним заголовком:

Приклади:

SET,DS-530,maxim,AUTOSCAN-1+COLOR-BW+DPI-300+PAGES-20
GET,DS-530,maxim,""

При виклику функції GET приходить повідомлення PROFILE:

PROFILE,DS-530,maxim,AUTOSCAN-1+COLOR-BW+DPI-300+PAGES-20

Транспорт

У якості транспорту використовується протокол WebSocket, веб-сервер який його реалізує знаходиться у модулі ws.exe.

> ws = new WebSocket("ws://127.0.0.1:50220")
> ws.onmessage = function (evt) { 
    // сюди приходить відсканований файл
    console.log(evt.data);
  }
> ws.send('SCAN,DS-530,,AUTOSCAN+AUTOFEED')
@5HT 5HT added Функціональність Радуватиме користувача, бажано реалізувати Виробництво Стадія виробництва: реалізація зауваження або функціональності та виправлення помилки labels Aug 10, 2021
@5HT 5HT added this to the День Незалежності milestone Aug 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Виробництво Стадія виробництва: реалізація зауваження або функціональності та виправлення помилки Функціональність Радуватиме користувача, бажано реалізувати
Projects
None yet
Development

No branches or pull requests

2 participants