Ребятушки всем привет. Сегодня речь пойдет о очень крутом, офигительно качественном и быстром термопринтере HS-K21C от HSPOS TECHNOLOGY. Для тех кто не знаком с термопринтерами или не читал предыдущую статью предлагаю немного разобраться с чем мы имеем дело.
Пролог
Термопринтер – это небольшое настольное устройство, главной особенностью которого является печать символов или изображений на термобумаге. Способ печати заключается в использовании специальной накалённой головки, которая буквально выжигает текст на бумаге. Температура головки доходит до 200 градусов Цельсия. В местах воздействия бумага темнеет и получается необходимый текст. Сфера применения этого устройства довольно велика – это изготовление этикеток, различных билетов и непосредственно создание штрих-кодов.
Обычный обыватель, сталкивается с термопринтерами на каждом шагу. Кассовые аппараты, банкоматы, инфокиоски. Это список можно продолжать бесконечно.
Те кто хоть немного увлекается электроникой и знаком с Arduino и Raspberry Pi, волей не волей сталкивались с проектами связанными с термопринтерами. Наверное самым известным источником таких проектов выступают два ресурса Adafruit и Hackster.io Они даже выпускаю термопринтеры под своим брендом. И понятное дело за бренд берут нехилую накрутку.
Термопринтер HS-K21C от HSPOS TECHNOLOGY
После небольшой неудачи с термопринтером от Adafruit и написании статьи о моих злоключениях. На меня в Instagram вышли ребята из конкурирующей компании HSPOS TECHNOLOGY по производству термопринтеров в Китае. Вообщем они утверждали, что их термопринтеры лишены всех тех недостатков, которые я описал в статье о принтере JP-QR701-TTL от компании GOOJPRT Xiamen JP Printer и они готовы выслать мне образец для тестов.
Я с удовольствием согласился. Они задали пару наводящих вопросов. Ибо ассортимент у них просто огромный. В итоге мы определились, что мне необходим термопринтер с питанием 12v, интерфейсами usb и uart-ttl, поддержкой Unix и Windows. И в довершении как вишенка на торте, с автоматической резкой бумаги. И вот через неделю термопринтер у меня на столе. Для тех кто не любит читать видос в конце статьи.
Первое включение
Принтер при включении ничего не выдает и ничего не печатает. Внешних кнопок нет. На внутренней стороне печатной платы есть светодиод индикации питания и кнопка для автоматической прокрутки бумаги. Прокрутка бумаги вручную при помощи специального ролика. И если про автоматическую резку бумаги я уже знал, то автоматическая подача бумаги для меня была настоящим сюрпризом.
Схема подключения очень простая. Все разъемы подписаны. Остается только подать питание 12v и подключить термопринтер через выбранный интерфейс usb или rs232.
Важное замечание. При печати принтер потребляет большой ток, поэтому необходимо предусмотреть блок питания с большим амперажем, не менее 3А. И самое важное если вы хотите подключить термопринтер к Raspberry Pi или Arduino, необходимо выбирать термопринтер с RS232/UART-TTL.
Тестовая страница распечатана, скорость подключения Baudrate 19200 (кстати по дефолту из коробки она составляет 9600) Все теперь можно начинать взаимодействие с термопринтером.
Для начала подключимся к термопринтеру через USB-TTL адаптер. Кстати подойдет любой. Можно на FT232, CH340 или на худой конец CP2102.
Есть стандартная утилита для работы и настройки термопринтера. Ее можно скачать на сайте производителя. Она универсальная для всех термопринтеров от этого производителя. Можно выбрать порт подключения. Изменить кодовую страницу, скорость подключения, имя принтера, размер шрифта. Распечатать тестовую страницу, проверить как обрезается бумага. Еще одной особенностью, является возможность загрузить изображение логотипа. Ну это когда на чеке выводиться логотип компании или бренда. Однако в HSPOS пошли дальше и реализовали конвертер изображений в бинарный код для последующей загрузки в память термопринтера. Кстати это не отличительная особенность только этих термопринтеров, этой функцией обладают практически все термопринтеры, но во всех них нужно загружать логотип в бинарном формате. И использовать внешний конвертер.
Позже на сайте производителя я увидел ролик с более интересной версией утилиты для настройки. Написал в службу поддержки и ребята выслали мне утилиту для настройки и теста, плюс SDK для разработчиков и драйвера.
Настройки в принципе те же. Можно выбрать порт подключения. Изменить кодовую страницу, скорость подключения, имя принтера, размер шрифта. Распечатать тестовую страницу, проверить как обрезается бумага, загрузить изображение логотипа.
Самое классное что принтер нативно поддерживает печать в на русском в кодировке UTF-8, т.е. нет необходимости колхозить всякого рода перекодировщики из одной кодировки в другую. Главное определиться к чему вы подключаете термопринтер и в какой кодировке оно работает. Термопринтер поддерживает огромное количество кодировок, что позволяет ему заслуженно считаться одним из самых лучших в мире.
По этой ссылке можете найти все программы для настройки термопринтера под винду. Драйвера. Описание. Команды POS / ESC и SDK для Linux и Windows.
Arduino. Raspberry Pi. PC
Процесс и схемы подключения термопринтера к Arduino, Raspberry Pi, PC хорошо описаны в предыдущей статье, поэтому приводить тут схемы не вижу смысла. Порядок подключения библиотек к Arduino и Raspberry Pi хорошо описаны на сайте Adafruit. Правда все на английском и немного скомкано, поэтому у меня есть одно предложение для вас. Но об этом в конце статьи.
И так. Подключим термопринтер к Raspberry Pi и распечатаем пару стандартных примеров из библиотеки Adafruit.
Я уже писал, что термопринтер может нативно печатать на русском языке. Этот текст я распечатал прямо из окна терминала в Raspberry Pi. При этом с английским все тоже в порядке.
При помощи библиотек от Adafruit и Python легко можно распечатать графику (например Судоку) или сгенерированный графический шрифт, которого нет в кодовой таблице термопринтера. Внизу пример разработки приложения на Python. Получение прогноза погоды онлайн с сервера Dark Weather посредством API и вывод прогноза на термопринтер.
Действительно возможности на самом деле безграничны. Запросто можно выводить изображения, логотипы, фотографии. Конечно качество ограничено возможностями термопринтера, необходимо понимать, что термопринтер создавался совсем для других целей.
Ниже видос со стандартными тестами термопринтера и распечатка примеров из библиотеки Adafruit для Python.
Друзья. Если вам понравилась эта статья, поделитесь ей в социальных сетях. Обязательно напишите комментарий если у вас возникли вопросы. Мне важно ваше мнение. И поддержите проект монеткой на страничке Donate.