Когда я задумался о покупке термопринтера для печати QR кодов, наклеек.
В процессе поисков наткнулся на термопринтер кошака (как позже выяснилось пингуется он LX-D02) – небольшое устройство с разрешением 200×200 точек, стоящее всего около 600 рублей.
Оценив все «за» и «против», я решил рискнуть и выбрал этот бюджетный вариант. Решение оказалось удачным: принтер действительно выполнял свою работу (печатал через приложение Funny Print из Play Market) стабильно и качественно, а его низкая цена позволила мне сосредоточиться на развитии, т.е. уйти от печати на обычном лазернике коды, не переплачивая за лишние функции.
Первое впечатление от термопринтера LX-D02 было скромным: как такое дешевое устройство может удовлетворить мои потребности? За 600 рублей ожидания были низкими, но устройство оказалось достойным. Вместо того чтобы тратить большие суммы на дорогие модели, я решил взять кошака LX-D02 и использовать его как базовое решение.
Осознав, что принтер способен выполнять базовые задачи – печать штрих-кодов, этикеток и небольших изображений – я задумался о том, как максимально эффективно интегрировать его в свою систему.
Так возникла идея: реализовать сервер IPP, который сможет принимать задания на печать с компьютера и направлять их на кошака (LX-D02) через Bluetooth. Это позволило бы не только автоматизировать процесс печати, но и сделать его совместимым с различными операционными системами и приложениями, используя стандартный протокол печати.
Я приступил к изучению протокола IPP и архитектуры BLE-соединений, написал асинхронный сервер, способный обрабатывать запросы печати и передавать данные на принтер. В процессе разработки я столкнулся со множеством интересных задач, связанных с обработкой изображений, передачей данных по Bluetooth и интеграцией с существующими системами печати.
Ну и конечно же я опубликовал исходный код работы термпопринтера и добавление как обычный принтер в систему. Если кому то что то не понятно спрашивайте 🙂
За один раз способен распечатать 10-15 этикеток, термо наклейки под него стоят 120р за 5 рулонов, но можно запихнуть любые которые влезут, а это 57мм ширина.
Проект был реализован за 3.5 дня.