Перейти к содержимому

Руководство

Раздел: Печать чеков

Настройка чекового принтера Epson с чеками и логотипом

С Epson Server Direct Print или Star CloudPRNT принтер сам забирает чеки с нашего сервера по HTTPS – с ID и паролем, без проброса портов и без ПК у стойки. Руководство охватывает всё: от подходящего принтера до первого чека с логотипом клуба. Оно также показывает маршруты печати, которые отправляют чеки заказов на кухню и в бар, экран заказов и что делать, если не получается. Недорогие чековые принтеры ESC/POS с отрезчиком подключаются через небольшой прокси печати – по USB или сети, как Docker-контейнер, например на Raspberry Pi.

7 минут чтения

Сначала: что нужно знать

  • Принтер опрашивает наш сервер каждые несколько секунд. Поэтому чеки приходят с задержкой в несколько секунд – в зависимости от заданного интервала.
  • Адрес опроса содержит секретный ключ. Кто его знает, получает чеки этого принтера. Не передавайте его; в случае сомнений создайте новый.
  • Список подходящих моделей взят из документации Epson. Более старые устройства TM-i и TM-DT часто тоже поддерживают Server Direct Print, но только начиная с определённой версии прошивки.

Что нужно

  • Чековый принтер Epson с Server Direct Print и сетевым подключением (LAN или Wi-Fi), например TM-m30III, TM-m30II-H/-NT/-S/-SL, TM-m50/TM-m50II, TM-T88VII, TM-T88VI, TM-L100, TM-H6000V, TM-T70II-DT2, TM-T88VI-DT2.
  • Доступ в интернет для принтера – достаточно обычного роутера, проброс портов не нужен.
  • Термобумага шириной 80 или 58 мм, подходящая для принтера. Чековые принтеры и экраны заказов настраиваются только здесь, а не в админ-разделе WebApp или приложения.
  • Учётная запись владельца или администратора клуба в разделе «Администрирование» (/admin).

Добавить принтер в /admin

  1. Откройте /admin, выберите слева список и перейдите в «Работа» → «Чековые принтеры».
  2. Нажмите «Добавить чековый принтер» и введите название, например «Стойка».
  3. В поле «Список» выберите список (или оставьте пустым для всех) и в поле «Ширина бумаги» – 80 мм или 58 мм.
  4. В разделе «Что печатает этот принтер?» отметьте, что печатается автоматически: «Кассовые чеки», «Z-отчёт» и «Чеки заказов» – подробнее в разделе «Маршруты печати» ниже. Без отметок принтер печатает только тестовые страницы и явно выбранные чеки.
  5. Нажмите «Сохранить». Окно остаётся открытым и показывает адрес опроса, «ID (пользователь)» и пароль – пароль только сейчас: скопируйте его кнопкой «Копировать пароль». «Новый адрес» и «Новый пароль» делают прежние недействительными.

Настройка на принтере

  1. Узнайте IP-адрес принтера: при выключенном принтере удерживайте кнопку подачи (FEED) и включите его – на листе состояния будет IP-адрес.
  2. Откройте http://IP-адрес в браузере компьютера в той же сети – это веб-интерфейс принтера (Web Config, на старых устройствах EpsonNet Config). Перейдите в «Advanced Settings» → «Administrator Login» и войдите: на новых моделях пароль – серийный номер принтера (пользователь, если спросят, «epson»). У моделей TM-i и TM-DT тот же путь.
  3. Сначала обновите корневые сертификаты принтера: наш сервер использует сертификат Let's Encrypt (цепочка YR1 → ISRG Root YR → ISRG Root X1). Старые списки сертификатов в принтере его не знают – тогда https:// молча не работает, и до нас не доходит ни один запрос. Откройте «Advanced Settings» → «Network Security» → «Root Certificate Update» и нажмите «Update»; принтер загрузит актуальный список от Epson. Либо импортируйте в «Network Security» → «CA Certificate» PEM-файлы «ISRG Root X1» и «ISRG Root YR» с letsencrypt.org/certificates.
  4. Откройте «TMI Settings» → «Server Direct Print» и установите «Server Direct Print» (в руководстве Epson «Use Server Direct Print») в «Enable».
  5. Введите в «URL» скопированный адрес, в «Interval» 5 секунд, а в поля «ID» и «Password» – пользователя и пароль из /admin. Принтер входит с ними по HTTP Digest, как описано в руководстве Epson; наш сервер принимает Digest и Basic. Без верных данных он отвечает «401», и принтер ничего не получает. Меньше 5 секунд ничего не даёт: наш сервер принимает не более одного запроса каждые 400 мс на принтер.
  6. Нажмите «Apply», а затем в «TM-i Settings» (адрес /webconfig-i) – «Apply & Restart»: только тогда принтер применит Server Direct Print и перезагрузится. После этого выйдите через «Administrator Logout»: пока кто-то вошёл как администратор, принтер находится в режиме настройки и ничего не печатает.
  7. В /admin нажмите «Тестовая печать» в строке принтера. Тестовый чек придёт при следующем опросе – то есть не позже чем примерно через 5 секунд, – а в столбце «Статус» появится «последний контакт» со временем.

Как вариант: принтеры Star с CloudPRNT

  1. Вместо Epson подойдёт и чековый принтер Star с CloudPRNT, например TSP143IV, TSP100IV, mC-Print3 или mC-Print2. При добавлении выберите «Star CloudPRNT (принтер сам забирает чеки)».
  2. Откройте веб-интерфейс принтера Star (IP-адрес из самотеста) и войдите как администратор.
  3. Включите CloudPRNT, в «Server URL» введите адрес из /admin, интервал опроса 5–10 секунд, а в аутентификации (Basic) – пользователя и пароль из /admin.
  4. Сохраните, перезапустите принтер и нажмите «Пробная печать» в /admin. При первом обращении сервер запоминает MAC-адрес принтера; другое устройство с тем же адресом отклоняется.

Недорогие чековые принтеры через прокси печати (USB или сеть)

  1. Вместо принтера Epson или Star с облачной функцией подойдёт и недорогой чековый принтер ESC/POS – по USB или в сети, например Epson TM-T20, Xprinter, Munbyn или Rongta. Нужен автоматический отрезчик: каждый чек заканчивается отрезом. Принтеры без отрезчика (с отрывной кромкой, многие мобильные 58 мм) не поддерживаются.
  2. Для этого в сети клуба работает небольшой прокси печати в Docker-контейнере – на Raspberry Pi (в том числе старых моделях начиная с Pi 2; Pi 1 и первый Pi Zero не подходят), NAS или ПК. Он сам подключается к нашему серверу, проброс портов не нужен.
  3. В /admin откройте «Работа» → «Чековые принтеры» → «Прокси печати», введите название и нажмите «Подключить прокси». Токен устройства показывается только сейчас. Если принтер подключён к прокси по USB, отметьте «Принтер по USB на прокси (/dev/usb/lp0)». Скопируйте готовую команду запуска (docker run …) кнопкой «Копировать команду». Либо вкладка «docker compose» показывает те же настройки в виде docker-compose.yml: скопируйте их кнопкой «Копировать YAML», сохраните в папке и выполните там «docker compose up -d».
  4. Выполните команду на Raspberry Pi или компьютере. При первом запуске Docker сам загрузит образ drinklist/print-proxy с Docker Hub (https://hub.docker.com/r/drinklist/print-proxy, для amd64, arm64 и arm/v7). Контейнер сам перезапускается после перезагрузки или отключения питания; вскоре прокси в /admin будет «подключён». Совет: с добавкой --test-print и IP-адресом принтера (или /dev/usb/lp0) образ печатает тестовую страницу без сервера – так можно проверить кабель, адрес и отрезчик.
  5. Затем добавьте принтер: подключение «Прокси печати: недорогой принтер ESC/POS по USB или сети (Docker, Raspberry Pi)», выберите прокси и в «Подключение к прокси» сеть (IP-адрес принтера в сети клуба, порт 9100) или USB (/dev/usb/lp0). Отметьте «У принтера есть автоматический отрезчик», сохраните и нажмите «Пробная печать». Маршруты печати, повторная печать и задания работают как у любого другого принтера.
  6. Если прокси не подключён (питание, интернет), чеки ждут и печатаются, как только он снова в сети – чеки старше двух часов уже не печатаются, повторная печать остаётся возможной. Колонка «Статус» показывает отсутствие бумаги или открытую крышку, если принтер это сообщает; многие недорогие принтеры этого не делают. «Новый токен» делает старый недействительным, «Убрать» окончательно отключает прокси.

Маршруты печати: еда на кухню, напитки на бар

  1. В разделе «Что печатает этот принтер?» каждый принтер определяет, что печатает автоматически: «Кассовые чеки» после каждой продажи за наличные, «Z-отчёт» при закрытии кассы и «Чеки заказов» для новых заказов через QR. Несколько принтеров могут печатать одно и то же, например чеки на баре и в офисе.
  2. Кухня: добавьте принтер «Кухня», отметьте «Чеки заказов» и в поле «Только эти группы товаров (категории)» выберите категорию блюд, например «Еда» – так, как она указана у товаров.
  3. Бар: у принтера «Бар» отметьте «Кассовые чеки» и «Чеки заказов», а также «Все остальные товары (категория без своего принтера)». Без категории и без этой отметки принтер печатает каждый заказ целиком.
  4. Заказ из 2 пива и 1 шницеля теперь даёт два чека: шницель на кухне, пиво на баре – каждый с номером заказа, столом или точкой, временем, гостем и заметками. Позиции без подходящего принтера не печатаются. По желанию есть «Цены на чеке заказа» и «Печатать отменённые заказы как чек отмены».
  5. Кнопка «Маршруты печати» показывает обзор: какой документ для какого списка и группы товаров выходит на каком принтере. Если у принтера не выбран список, поле «Для списка» в окне принтера ограничивает его маршруты одним списком.

Экран заказов вместо чеков: для кухни и бара

  1. Откройте «Работа» → «Экраны заказов» и нажмите «Добавить экран заказов». Имя, например «Кухня», и как у принтера «Только эти группы товаров (категории)» или «Все остальные товары (категория без своего принтера)» – экраны и принтеры подчиняются одним правилам.
  2. Откройте ссылку или QR-код на планшете или ТВ и выберите «На экран «Домой»». Экран запустится как отдельное приложение без входа, во весь экран, и не будет гаснуть. Одно касание включает звук новых заказов.
  3. Каждый открытый заказ показан большой плиткой с номером, столом или точкой, гостем, заметками и только позициями для этого экрана. Время идёт, и плитка становится жёлтой после «Жёлтый через минут» и красной после «Красный через минут».
  4. Нажмите «В работе», чтобы взять заказ (бар видит его взятым), и «Готово», чтобы убрать его с этого экрана, – 10 секунд можно «Отменить». Выдача и оплата остаются на баре. «Новая ссылка» делает старую недействительной, например если планшет потерян.

Логотип для чеков, PDF и ТВ-экрана

  1. В /admin откройте «Организация» → «Основные данные» и прокрутите до раздела «Логотип».
  2. Нажмите «Загрузить логотип» и выберите изображение JPG или PNG до 2 МБ. Оно автоматически поворачивается и уменьшается.
  3. Выберите, где показывать логотип: «На чеках (принтер), сверху по центру», «На экране ТВ/проектора, сверху справа» и «В PDF клуба, сверху справа (чеки, выписки, отчёты)».
  4. Совет: чековый принтер печатает только чёрным по белому, поэтому логотип переводится в точки. Лучше всего на чеке выглядит простой логотип с чёткими контурами и высоким контрастом на светлом фоне.

Печать чеков

  • Чек содержит логотип, позиции с буквой ставки НДС, скидки и ценовые правила, итог, способ оплаты и НДС по ставкам.
  • «Журналы и счета» → «Журнал платежей»: «Печать чека» в строке платежа отправляет чек на выбранный принтер, без выбора – на первый принтер с «Кассовые чеки». PDF-чек по-прежнему доступен.
  • «Работа» → «Касса и Z-отчёт»: «Печать Z-отчёта» в строке закрытой кассовой смены печатает Z-отчёт на бумаге.
  • «Работа» → «Чековые принтеры» → «Задания»: все задания со статусом и ошибкой. «Напечатать снова» печатает чек ещё раз.

Если не получается

  • В столбце «Статус» по-прежнему «ещё ни разу не опрашивал»: адрес не введён или введён неверно, Server Direct Print не включён или принтер не выходит в интернет. Проверьте также дату и время на принтере – если они неверны, соединение HTTPS не устанавливается. Если не удаётся войти в веб-интерфейс, сбросьте принтер к заводским настройкам кнопкой FEED, как описано в руководстве Epson.
  • Задания остаются «ожидает» или «отправлено»: принтер включён, бумага есть, крышка закрыта? Принтер забирает задания при следующем опросе; без ответа они отправляются повторно и после нескольких попыток помечаются как неудачные. Если /admin показывает у принтера «Создайте новый пароль (нужно для Epson)», пароль создан до перехода на Digest: создайте новый и введите его в принтере.
  • Ошибка с сообщением принтера: обычно кончилась бумага или открыта крышка. Устраните причину – задание будет отправлено снова автоматически.
  • Текст обрезан или слишком узкий: ширина бумаги в /admin должна совпадать с заправленной бумагой (80 или 58 мм).
  • Неправильные буквы или спецсимволы: проверьте, что прошивка принтера обновлена – старые версии поддерживают не все кодировки.

Epson: поиск неисправностей из практики

  • На сервер не приходит ни одного запроса, хотя всё введено: чаще всего принтер не знает сертификат Let's Encrypt нашего сервера (встречалось на TM-m30III с прошивкой TM-i 01.39 и корневыми сертификатами 02.03). Выполните «Advanced Settings» → «Network Security» → «Root Certificate Update» → «Update» или импортируйте «ISRG Root X1» и «ISRG Root YR» (letsencrypt.org/certificates) в «Network Security» → «CA Certificate». Затем «Apply & Restart» в «TM-i Settings».
  • Изменённые настройки не действуют: Server Direct Print применяет изменения только после «Apply & Restart» в «TM-i Settings» (/webconfig-i).
  • Принтер печатает листок «WebConfig Start» и больше ничего: кто-то вошёл в веб-интерфейс как администратор, и принтер находится в режиме настройки. Всегда выходите через «Administrator Logout».
  • Самотест печатается, но из сети ничего не выходит – даже ePOS или порт 9100 принимают данные без печати: зависла внутренняя связь между сетевой частью и печатающим механизмом. Отключите питание примерно на 30 секунд.
  • Вводите адрес с https://, а не http://: запросы по http:// перенаправляются, а Epson не следует перенаправлениям.
  • В /admin в «Работа» → «Чековые принтеры» поле «Letzter Kontakt» (последний контакт) в окне принтера показывает последние запросы с результатом; эта диагностика выводится на немецком. «Anmeldung angefordert (401 – bei Digest normal)» (запрошен вход) – нормально для первого запроса. При «Digest-Anmeldung falsch (ID/Passwort prüfen)» (неверный вход Digest) создайте новый пароль и введите его в принтере. Если там «seit dem letzten Serverstart kein Abruf angekommen» (ни одного запроса с последнего запуска сервера), принтер не достигает нашего сервера – проверьте https://, корневые сертификаты и сеть.

Не получилось?

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