Список параметров – TELNET

Параметры сессии:
ANSWERBACK

Ответ по запросу ENQ от сервера.

Допустимые значения:
[CR] – эмуляция Enter,
[TAB] – эмуляция табуляции,
[SN] – серийный номер,
[0xB] – набор байт, например [0x01] [0x02] [0x03],
[PAUSEx] – задержка в х мс,
[KEYCODE] – клавиша,
‘TEXT’ – строка,

Пример: ANSWERBACK: ‘HELLO’

AUTOLOGIN_CILY_ON_CONNECT

Набор (перечень) переданных на сервер команд и данных, выполняется один раз при старте сессии (еще одной интерпретацией автологина).

Формат: AUTOLOGIN_CILY_ON_CONNECT (‘string’): command_1 command_n

Допустимые значения command:
[CR] – эмуляция Enter,
[TAB] – эмуляция табуляции,
[SN] – серийный номер,
[0xB] – набор байт,
[PAUSEx] – задержка в х мс,
[KEYCODE] – клавиша,
‘TEXT’ – текст.

Пример: 
После подключения к серверу сделать паузу в 1 сек., передать логин, табуляцию, пароль, Enter, подождать 1 сек. отправить серийный номер терминала: AUTOLOGIN_CILY_ON_CONNECT: [PAUSE1000] ‘mylogin’ [TAB] ‘pass’ [CR] [PAUSE1000] [SN]

AUTOSTART

Имя сессии, которая должна запустится автоматически при старте программы. Может быть пустым.

Пример: 
(автоматически запускать сессию TEST)
AUTOSTART: TEST

CHARSET_NAME

Кодирование на серверной стороне. Значение параметра по дефолту или если пусто: UTF-8.

Возможные значения параметра:
https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html
Часто используются значения: UTF-8, koi8-r, windows-1251.

Пример: CHARSET_NAME: koi8-r

CONNECT_TIMEOUT

Таймер в секундах, в течение которых ожидается ответ от сервера. После завершения работы таймера отображается ошибка о недоступности сервера.

Пример: 30

KEEPALIVE

Функция включает периодическую отправку определенной в параметре последовательности байт на сервер для поддержки работы сетевого стека.

KEEPALIVE: [T,0xB]

Т – период отправки в секундах. Считается от любого последнего отправленного пакета на сервер.
0xB – набор байт, например [0x01] [0x02] [0x03]

Пример, в котором EMC каждые 30 секунд отправляет null на сервер (0х00):
KEEPALIVE: [30,0×00]

PREVENT_SLEEP

Параметр определяет поведение режима сна для экрана.

Принимает значение:
true – всегда включено,
false – соответствует настройкам сна в ОС.

ПримерPREVENT_SLEEP: true

SCANHELPER_PREFIX

Префикс штрихкода, который необходимо заменить с помощью сервиса Scan Helper.
Допустимо введение нескольких префиксов, с разделением с помощью запятой.

Пример

SCANHELPER_PREFIX: ‘WH’
На сервер <STX>Barcode<ETX>
Ответ: <STX>VALUE1|VALUEn<ETX>

SESSION

Используйте параметр SESSION для создания каждой новой сессии.

 

Синтаксис для TELNET:

     SESSION_TELNET: host:port session_name

 

Синтаксис для SSH:

     SESSION_SSH: host:port session_name ‘user’ ‘password’

 

Где:

     host – ip-адерес или DN-имя сервера,

     port – TCP-порт,

     session_name – имя сессии (выводится в списке доступных сессий пользователю и используется для создания override*).

     ‘user’ – логин пользователя SSH

     ‘password’ – пароль пользователя SSH

 

*Override это набор параметров, которые выполняются исключительно для указанной сессии.

 

Пример 1: Объявить две сессии My_Telnet_WMS и My_SSH_WMS

SESSION: od.sytecs.com.ua:2323 My_Telnet_WMS
SESSION: 127.0.0.1:22 MY LOCAL My_SSH_WMS ‘admin’ ‘pass’

 

Пример 2: Пример конфигурационного файла с override, где в двух сессиях будет использоваться разный размер шрифта:

[My_Telnet_WMS]
TEXT_SIZE: 20

 

[My_SSH_WMS]
TEXT_SIZE: 40

 

TERMINAL_COL_MARGIN

Расстояние в относительных единицах между колонками (между буквами в колонке), дефолт 0.

Пример: TERMINAL_COL_MARGIN: 3

TERMINAL_ROW_MARGIN

Расстояние в относительных единицах между строками (между буквами в строке), дефолт 0.

Пример: TERMINAL_ROW_MARGIN: 3

TERMINAL_TYPE

Определяет тип эмуляции, ожидаемой сервером.

Принимает значения:
VT220, VT100

По умолчанию VT220.

Пример: TERMINAL_TYPE: VT100

Внешний вид:
COLOR_SHEMA

Параметр определяет цвет элементов на экране в формате HEX 16Bit.

Формат: COLOR_SHEMA: BACKGROUND_COLOR, TEXT_COLOR, CURSOR_COLOR
Если не задано, то принимает значение: #000000, #33FF00, #33FF00

Пример: COLOR_SHEMA: #000000, #33FF00, #33FF00

CURSOR_BLINKING
Параметр определяет поведение курсора следующим образом:
true – курсор мерцает с частотой 1Hz
false– курсор имеет постоянный цвет текста

Пример: CURSOR_BLINKING: false

FULL_SCREEN_MODE

Управление заполнением экрана.

Принимает значение:
true – запуск в полноэкранном режиме (панель индикаторов ОС скрывается),
false – запуск в стандартном окне ОС.

Пример: FULL_SCREEN_MODE: true

SESSION_SCREEN_ORIENTATION

Управление ориентацией (поворотом) экрана

Допустимые значения:
A – позволить поворот экрана в сессии,
Р – зафиксировать в портретной ориентации,
L – зафиксировать в альбомной ориентации (включить в ОС автоповорот),
L2 – зафиксировать в альбомной перевернутой ориентации (включить в ОС автоповорот),
Значение по умолчанию или если не задано: P

Пример: SESSION_SCREEN_ORIENTATION: L2

SHOW_WLAN_INDICATOR

Задаем поведение индикатора (уровня сигнала).

Принимаем значения:
off – не выводится,
on – всегда отображается,
low – только, если покрытие отсутствует.

Пример: SHOW_WLAN_INDICATOR: low

TEXT_SIZE

Размер шрифта на терминале.

Принимает значение:
Пусто – размер шрифта соответствует дефолтному значению 28,
Число – фиксированный размер шрифта,
AUTO – размер шрифта подбирается автоматически в соответствии с правилами в параметрах,
TEXT_AUTOSIZE_X_UP_TO и TEXT_AUTOSIZE_Y_UP_TO

TEXT_AUTOSIZE_X_UP_TO

Параметр определяет границу растяжения текста вправо (координата Х). Задается в % от полной ширины экрана.

Принимает значение:
NUM – число соответствует % экрана, на котором будет размещен текст. Диапазон от 10 до 200 Если не указано, то 100,
KEYBOARD – в этом случае растяжение будет происходить к клавиатуре справа, если она есть.

При растяжении в любом случае отслеживается положение текста вниз по строкам, то есть растяжение вправо ограничится концом экрана внизу

Параметр не действует в случае значения VIRTUAL_KEYBOARD_STICK_TO AUTO и фиксированного значения FONT_SIZE

Пример: TEXT_AUTOSIZE_X_UP_TO: KEYBOARD

TEXT_AUTOSIZE_Y_UP_TO

Параметр определяет границу растяжения текста вниз (координата Y). Задается в % от полной высоты экрана.

Принимает значение:
NUM – число, соответствует % экрана, на котором будет размещен текст. Диапазон от 10 до 200. Если не указано, то 100,
KEYBOARD – в этом случае растяжение будет происходить к клавиатуре снизу, если она есть.

При растяжении в любом случае отслеживается положение текста вправо по колонкам, то есть растяжение вниз дополнительно ограничится концом экрана справа.

Параметр не действует в случае значения VIRTUAL_KEYBOARD_STICK_TO: AUTO и фиксированного значения FONT_SIZE

Пример: TEXT_AUTOSIZE_Y_UP_TO: 90

Сканер штрихкода:
BARCODE_PREFIX

Префикс, устанавливается перед значением отсканированного штрихкода.

Допустимые значения:
null – пусто (префикс не передается),
[CR] – эмуляция Enter,
[TAB] – эмуляция табуляции,
[SN] – серийный номер,
[0xB] – набор байт, например [0x01] [0x02] [0x03],
[PAUSEx] – задержка в х мс,
[KEYCODE] – клавиша,
‘TEXT’ – строка.

Допускается последовательность из нескольких значений.

Пример: BARCODE_PREFIX: ‘*’

BARCODE_TERMINATOR

Суффикс, устанавливается после сканирования штрихкода.

Допустимые значения:
null – пусто (суффикс не передается),
[CR] – эмуляция Enter,
[TAB] – эмуляция табуляции,
[SN] – серийный номер,
[0xB] – набор байт, например [0x01] [0x02] [0x03],
[PAUSEx] – задержка в х мс,
[KEYCODE] – клавиша,
‘TEXT’ – строка.

Допускается последовательность из нескольких значений.

Пример: BARCODE_TERMINATOR: [TAB] [PAUSE500] [CR]

BARCODE_TO_COMMAND

Функция преобразования отсканированного штрихкода в команду серверу. Предназначена для автоматизации перемещений по меню или операций с использованием штрихкодов, как источников ввода.

Формат: BARCODE_TO_COMMAND(‘CHAR’): command_1 command_n

‘TEXT’ – текст-триггер, содержащаяся в штрихкоде, (например: ‘return’),
{command} – команда или их последовательность.

В случае если сканер подключен как эмулятор клавиатуры, TEXT имеет ограничения: используйте одну латинскую букву в нижнем регистре.

Допустимые значения command:
null – пусто (суффикс не передается),
[CR] – эмуляция Enter,
[TAB] – эмуляция табуляции,
[SN] – серийный номер,
[0xB] – набор байт, например [0x01] [0x02] [0x03],
[PAUSEx] – задержка в х мс,
[KEYCODE] – клавиша,
‘TEXT’ – строка.

Пример: 
Если введено символ t, то эмулировать передачу буквы CR на сервер:
BARCODE_TO_COMMAND(‘t’): [CR]

BARCODE_TYPE

Допустимые кодирования штрихкода (те, что не в списке не будут сканироваться).

Допустимые значения: [ALL] – все типы (в данной версии другие параметры не предусмотрены).

Пример: BARCODE_TYPE: [ALL]

BARCODE_WEIGHT_RULE

Параметр задает правила обработки штрихкодов, которые имеют определенный префикс Р:

BARCODE_WEIGHT_RULE(‘P’)

 

Доступны следующие правила обработки:

1. Добавление префикса 

APPEND_STRING(‘Value’)
где Value – текст.

Пример: в котором отсканированный штрихкод 2000000345 преобразуется в 000002000000345

BARCODE_WEIGHT_RULE(‘2’): APPEND_STRING(‘00000’)

 

2. Отделение части кода (например, весовой)

EXTRACT_WEIGHT_BY_MASK(‘Mask’)
где Mask – формат маски:
* – любой символ
А – артикул
К – весовая часть в кг
G – весовая часть в граммах

Пример маски: ’21AAAAAKKGGG’

Пример: в котором из отсканированного весового штрихкода 2912345600888 будет изъято весовую часть 00.888 и передан на сервер:

BARCODE_WEIGHT_RULE(‘2’): EXTRACT_WEIGHT_BY_MASK(‘2*AAAAAKKGGG’)

TRIGGER_TIMEOUT

Таймер в сек., задает время активации сканера для виртуального триггера (клавиша на клавиатуре или плавающая клавиша сканирования). Если не задано, то 5 сек.

Пример: TRIGGER_TIMEOUT: 5

Виртуальная клавиатура:
VIRTUAL_KEYBOARD

Включение виртуальной клавиатуры. Клавиатуры переключаются свайпом (если включено несколько клавиатур).

Принимает значение:

[ALL]

Режим демонстрации всех существующих типов клавиатур. При этом имя клавиатуры появляться посередине экрана.

[name]

Укажите название виртуальной клавиатуры, которую следует использовать. Можно включить несколько сразу, разделив их пробелом (см. пример ниже).

Пример: 
Включить функциональную, цифровую и ASCII клавиатуры:
VIRTUAL_KEYBOARD: [FN] [NUM] [ASCII]

VIRTUAL_KEYBOARD_HEIGHT

Параметр задает высоту клавиатуры в % относительно полной высоты экрана (параметр действует только в портретной ориентации).

Значение по дефолту: 35.

Пример: VIRTUAL_KEYBOARD_HEIGHT: 35

VIRTUAL_KEYBOARD_LOCK

Блокировка клавиатуры на экране.

Принимает значение:
true – виртуальная клавиатура зафиксирована и не прячется,

false – виртуальная клавиатура прячется по нажатию на клавишу.

Пример: 
Прятать клавиатуру и выводить по нажатию на иконку:
VIRTUAL_KEYBOARD_LOCK: false

VIRTUAL_KEYBOARD_STICK_TO

Параметр определяет, где будет появляться клавиатура в альбомной ориентации (L, L2).

Принимает значение:
BOTTOM – снизу,
RIGHT – справа (дефолтное значение),
MANUAL – длительным нажатием на иконку клавиатуры   более 3 секунд положение изменится с BOTTOM на RIGHT и наоборот в альбомной ориентации L, L2. Это дефолтное значение параметра.

Пример: VIRTUAL_KEYBOARD_STICK_TO: MANUAL

VIRTUAL_KEYBOARD_TRANSPARENCY

Параметр определяет степень прозрачности клавиатуры в %.

Значение по дефолту: 80.

Пример: VIRTUAL_KEYBOARD_TRANSPARENCY: 80

VIRTUAL_KEYBOARD_WIDTH

Параметр задает ширину клавиатуры в % относительно полной ширины экрана (параметр действует только в альбомной ориентации).

Значение по дефолту35.

Пример: VIRTUAL_KEYBOARD_WIDTH: 35

Клавиатурные макросы:
KEYCODE

С помощью клавиатурных переназначений (макросов) повышается эргономика работы оператора. Переназначения действуют только для аппаратных кнопок устройства.

Макрос для любой данной клавиши является записью в одну строку следующего формата:
keyName(my description): {command}

keyName(my description) – системный код и присвоенное понятное имя (my description). Системный код можно узнать, запустив в меню программу KEY SCANCODES, где отображаются значения keyName клавиш, на которые происходит нажатие.

Пример: KEYCODE_F1(Кнопка F1)

{command– последовательность вызовов, которые передаются на сервер.

Допустимые значения:
null – пусто (суффикс не передается),
[CR] – эмуляция Enter,
[ESC] – escape,
[TAB] – эмуляция табуляции,
[SN] – серийный номер,
[0xB] – набор байт, например [0x01] [0x02] [0x03],
[PAUSEx] – задержка в х мс,
[KEYCODE] – клавиша,
‘TEXT’ – строка.

Примеры:
По нажатию на F1 на сервер передать код клавиши 3:
KEYCODE_F1(F1): [KEYCODE_3]

По нажатию на F1 на сервер передать TAB (соответствует 09 в ASCII таблицы см. дополнение А):
KEYCODE_F1(F1): [0х09]

По нажатию на F1 на сервер передать строку TEXT :
KEYCODE_F1(F1): ‘TEXT’

По нажатию на F1 на сервер передать команду TAB (эмулируется нажатие на клавишу TAB):
KEYCODE_F1(F1): [TAB]

Команды также можно передать как байты, то есть две записи ниже равнозначны:
KEYCODE_F1(F1): [TAB]
KEYCODE_F1(F1): [0х09]

Макросы могут собираться в последовательность. Последовательности следует разделять пробелами для удобства написания. Отсутствие пробелов не является ошибкой. Макрос не будет выполняться, если какой-то элемент внутри имеет некорректную запись. Количество строк не ограничивается.

По нажатию F1 передать логин, табуляцию, пароль, Enter (CR), подождать 1 сек., отправить CR LF:
KEYCODE_F1(F1): ‘mylogin’ [TAB] ‘pass’ [CR] [PAUSE1000] [0x0D] [0x0].

 

Таблица ESC-команд

Комбинация Команда HEX
Ctrl+A SOH 0x01
Ctrl+B STX 0x02
Ctrl+C ETX 0x03
Ctrl+D EOT 0x04 
Ctrl+E ENQ 0x05 
Ctrl+F ACK 0x06
Ctrl+G BEL 0x07
Ctrl+H BS 0x08
Ctrl+I TAB 0x09
Ctrl+J LF 0x0A
Ctrl+K VT 0x0B
Ctrl+L FF 0x0C
Ctrl+M CR 0x0D
Ctrl+N SO 0x0E
Ctrl+O SI 0x0F
Ctrl+P DLE 0x10
Ctrl+Q DC1 0x11
Ctrl+R DC2 0x12
Ctrl+S DC3 0x13
Ctrl+T DC4 0x14
Ctrl+U NAK 0x15
Ctrl+V SYN 0x16
Ctrl+W ETB 0x17
Ctrl+X CAN 0x18
Ctrl+Y EM 0x19
Ctrl+Z SUB 0x1A
Ctrl+[ ESC 0x1B
Ctrl+\ FS 0x1C
Ctrl+] GS 0x1D
Ctrl+^ RS 0x1E
Ctrl+_ US 0x1F
Ctrl+? DEL 0x7F

 

Специальные функции:
AUTO_REPLY

Автоответ сервера при появлении определенных параметров строки.

Формат: AUTO_REPLY(‘string’): command_1 command_n

Допустимые значения command:
[CR] – эмуляция Enter,
[TAB] – эмуляция табуляции,
[SN] – серийный номер,
[0xB] – набор байт,
[PAUSEx] – задержка в х мс.

Пример: 
[0x01] [0x02] [0x03],
[PAUSEx] – задержка в х мс,
[KEYCODE] – клавиша,
‘TEXT’ – текст.

Пример 1: 
При появлении на экране поля ввода “Терминал:”, передать серийный номер терминала и Enter:
AUTO_REPLY(‘Терминал:’): [SN] [CR]

Пример 2:
При появлении на экране поля ввода “Login:” выполнить паузу в 1 с, передать логин, табуляцию, пароль, Enter:
AUTO_REPLY(‘Login:’): [PAUSE1000] ‘mylogin’ [TAB] ‘mypass’ [CR] [PAUSE1000] [SN]

CALCULATOR

Функция “Калькулятор” служит для подсчета суммы веса из отсканированных весовых кодов одного артикула и передачи этой суммы в строку ввода.

1. Включение функции: 

CALCULATOR_ENABLE(‘P’): [AUTO] или [KEYCODE_F]
где P – префикс штрихкода, для которого включается калькулятор,
AUTO – автоматическое включение калькулятора по префиксу,
KEYCODE_F – код кнопки ручного включения калькулятора при нажатии на клавишу.

Пример: CALCULATOR_ENABLE(‘2’):  [KEYCODE_F3]

 

2. Задание маски весового штрихкода:

CALCULATOR_MASK: ‘Mask’
где Mask – формат маски:
*  – любой символ,
А – артикул,
К – весовая часть в кг,
G – весовая часть в граммах.

Пример: CALCULATOR_MASK: ‘2*AAAAAKKGGG’

 

3. Настройка функциональной клавиши для подтверждения и для отмены:

CALCULATOR_CONFIRM_KEY(‘Text’): [KEYCODE_F]
CALCULATOR_CANCEL_KEY(‘Text’): [KEYCODE_F]
где Text –  название кнопки, заданное пользователем,
KEYCODE_F – код кнопки действия.

Пример:
CALCULATOR_CONFIRM_KEY(‘F5 ОК √’): [KEYCODE_F5]
CALCULATOR_CANCEL_KEY(‘F6  CANCEL X’): [KEYCODE_F6]

 

4. Настройка текста блокирующего сообщения, при сканировании иного артикула (за шаблон принимается первый отсканированный артикул):

CALCULATOR_WARNING_TEXT: ‘Text’
где Text –  показываемый пользователю текст предупреждения.

Пример: CALCULATOR_WARNING_TEXT: ‘НЕВЕРНЫЙ ПРОДУКТ!’

 

Полный пример:
CALCULATOR_ENABLE(‘2’):  [KEYCODE_F3]
CALCULATOR_MASK: ‘2*AAAAAKKGGG’
CALCULATOR_CONFIRM_KEY(‘F5 ОК √’): [KEYCODE_F5]
CALCULATOR_CANCEL_KEY(‘F6  CANCEL X’): [KEYCODE_F6]
CALCULATOR_WARNING_TEXT: ‘НЕВЕРНЫЙ ПРОДУКТ!’

 

PREVENT_DOUBLE_TAP

Используется, если на устройстве наблюдается двойной ввод при нажатии клавиш клавиатуры. Данную особенность замечено на терминалах производителя UROVO.

Принимает значение:
true – применить,
false – отключено.

Значение по дефолту: false

Пример: PREVENT_DOUBLE_TAP: true

SCANHELPER_HOST

Адрес и порт сервиса подмены отсканированных штрихкодов на данные сервера.
Используется, если необходимо вместо штрихкода передавать Telnet-серверу определенное значение, которое присылает TCP-сервер.
Формат соответствует спецификации Scan Helper 1.1:

Пакет на сервер: <STX>BARCODE<ETX>
Ответ сервера: <STX>Value1|ValueN<ETX>
ЕМС обрабатывает символ| как \n

ПримерSCANHELPER_HOST: 10.0.0.100:9000

UPDATE_URL

Ссылка на http-сервер, перейдя по которой можно загрузить apk-файл новой версии приложения EMC.

Пример:
По ссылке всегда доступна последняя версия приложения:
UPDATE_URL: https://sytecs.com.ua/user/emc/com.enterprisemobilityclient.te.apk