Принт сервер своими руками arduino

Обновлено: 07.07.2024

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

Термопринтер – это доступное и экономически эффективное решение для печати небольших чеков или квитанций. Это простое в интеграции решение доступно везде. В принтере используется термохромная бумага, особый тип бумаги, которая при воздействии определенного количества тепла становится черного цвета. Для печати на этой бумаге термопринтер использует специальный процесс нагрева. Головка принтера нагревается специальным электрооборудованием для поддержания определенной температуры. Когда термобумага проходит через его головку, ее тепловое покрытие чернеет там, где головка нагрета.

В данном руководстве мы будем связывать термопринтер с платой Arduino Uno. Проект будет работать следующим образом:

Характеристики и подключение принтера

Мы используем термопринтер CSN A1 от Cashino, который легко доступен, а цена не слишком высока.

Модель термопринтера

Модель термопринтера

Если мы посмотрим его спецификацию на официальном сайте, то увидим таблицу с подробными характеристиками.

Характеристики термопринтера
ПечатьМетод печатиТепловая линия
Скорость печати50-80 мм/с
Разрешение8 точек/мм, 384 точки/строка
Эффективная ширина печати48 мм
СимволыНабор символовASCII, GB2312-80 (китайский)
Шрифт печатиANK: (8x16, 9x17, 9x24, 12x24), GBK: (16x16, 24x24)
Характеристики бумагиТип бумагиТермобумага
Ширина бумаги57,5 ± 0,5 мм
Диаметр рулона бумагимаксимум 40 мм
НадежностьMCBF5 миллионов линий
ИнтерфейсПоследовательный (RS-232, TTL), USB
Источник питанияПостоянное напряжение 5В–9В/12В
Физические характеристикиРазмеры (ширина x глубина x высота)76,8 x 77,4 x 47,7 мм
Размер поверхности под установку72,8 x 73,26 мм
ЦветБежевый/черный
Окружающая средаРабочая температура5°C – 560°C
Влажность воздуха при работе10% – 80%
Температура хранения-20°C – 60°C
Влажность воздуха при хранении10% – 90%

На обратной стороне принтера мы видим следующие разъемы.

Разъемы термопринтера

Разъемы термопринтера

Разъем TTL обеспечивает соединение Rx/Tx для связи с микроконтроллерным блоком. Мы также можем использовать интерфейс RS232 для связи с принтером. Разъем питания предназначен для подачи питания на принтер, а кнопка используется для тестирования принтера. Когда на принтер подано питание, если мы нажмем кнопку самотестирования, принтер распечатает лист, на котором будут распечатаны характеристики и образцы строк. Лист самотестирования показан ниже.

Лист самотестирования термопринтера

Лист самотестирования термопринтера

Как мы видим, для связи с микроконтроллерным блоком принтер использует скорость 9600 бит/с. Принтер может печатать символы ASCII. Взаимодействие очень простое, мы можем напечатать что угодно, просто используя UART и передавая через него строку или символ.

Принтер работает от блока питания 5–9В, мы будем использовать источник питания 9В 2А, который может запитать как принтер, так и Arduino Uno. Принтеру требуется ток более 1,5 А для нагрева головки. Это является его недостатком, так как он потребляет огромный ток во время процесса печати.

Что нам понадобится

Чтобы выполнить данный проект, нам понадобится следующее:

    ; ; ;
  1. компьютер с Arduino IDE;
  2. резистор 10 кОм;
  3. тактильная кнопка;
  4. термопринтер CSN A1 с рулоном бумаги;
  5. источник питания 9В 2А.

Принципиальная схема и пояснения

Схема управления принтером с помощью Arduino Uno показана ниже.

Схема подключения термопринтера к Arduino Uno

Схема подключения термопринтера к Arduino Uno

Схема проста. Мы используем резистор для обеспечения состояния по умолчанию на входном выводе кнопки D2. Когда кнопка нажата, уровень на D2 станет высоким, а это условие используется для запуска печати. Для питания термопринтера и платы Arduino используется один источник питания 9В 2А. Важно проверить полярность источника питания перед его подключением к плате Arduino Uno. У данного источника используется разъем баррель с положительным выводом в центре.

Мы собрали схему на макетной плате и проверили ее.

Собранный макет Результат тестирования схемы

Программа Arduino

Полный код программы Arduino и демонстрационное видео приведены в конце статьи. Здесь мы объясним несколько важных фрагментов кода.

Во-первых, мы объявляемы выводы кнопки (вывод 2) и светодиода на плате (вывод 13).

Затем устанавливаются несколько переменных для задержки для устранения дребезга контактов и состояния нажатия кнопки.

В функции setup мы настроили вывод светодиода на выход, а вывод кнопки на вход. Также мы настроили UART на скорость 9600 бит/с.

В основном цикле мы сначала проверяем, нажата ли кнопка, затем снова ждем некоторое время и снова проверяем, действительно ли кнопка нажата; если кнопка всё еще нажата даже после задержки, мы печатаем настроенные строки в UART, то есть на термопринтере.

В начале печати мы зажигаем светодиод на плате, а после печати гасим его.

Смотрите полный код Arduino и демонстрационное видео ниже.

Схема самодельного струйного принтера на Arduino

Схема самодельного принтера на Arduino

Положение печатной головки задается вручную (управляя осью Z принтера), а контроллер Arduino управляет перемещением головки принтера в плоскости X/Y при помощи двух шаговых двигателей, выдавая команды на печать специальными управляющими импульсами (передаются через две микросхемы ULN2803, которые преобразуют 5В от пинов контроллера в нужный уровень 18В).

Комментарии ( 0 )

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

В роли принт-сервера могут выступать роутеры с портами для подключения USB-устройств. Принт-серверы продаются в виде отдельных устройств с портами USB и Ethernet. А некоторые продвинутые модели принтеров сами по себе обладают поддержкой беспроводной печати.

Также принт-сервер можно сделать своими руками при помощи одноплатного компьютера Raspberry Pi и сервера печати CUPS (Common UNIX Printing System). Созданию принт-сервера на основе Raspberry Pi и посвящена эта статья.

Что нам понадобится

Для осуществления описываемых в этой статье действий понадобится:

Установка и настройка принт-сервера CUPS

Пакет CUPS включен в стандартные репозитории Debian, поэтому для установки нужно просто выполнить консольную команду:

В дополнение к CUPS установим еще Foomatic.

Выражаясь привычным для пользователя Windows языком можно сказать, что Foomatic — это такая база драйверов для принтеров, существенно расширяющая стандартную базу драйверов CUPS:

Теперь добавим пользователя pi в группу lpadmin, позволяющую управлять принтерами:

И отредактируем файл конфигурации:

С настройками CUPS по умолчанию административный веб-интерфейс доступен только локально, т.е. заходить в него можно только с самой Raspberry Pi. Сделаем так, чтобы он был доступен с любого устройства по локальной сети. Для этого нужно найти найти и закомментировать строку Listen localhost:631, а также добавить новую строку Port 631:

Думаю, что по тексту понятно что меняется при этом изменении настроек: если по умолчанию CUPS слушал назначенный для себя порт 631 только с локальной машины, то теперь он будет слушать обращения к этому порту с любого устройства.

Установка и настройка принт-сервера CUPS на Raspberry Pi 3

Теперь нужно добавить еще несколько новых строк в этом же файле, чтобы открыть доступ к админ-панели по локальной сети.

Если не сделать этого, то при попытке зайти в веб-интерфейс будет отображаться ошибка 403 Forbidden:

Установка и настройка принт-сервера CUPS на Raspberry Pi 3

На этом настройка завершена. Перезапустим CUPS для применения сделанных изменений:

Подключение принтера к принт-серверу CUPS

Принт-сервер CUPS установлен и настроен, теперь осталось подключить к нему наш принтер.


Убеждаемся, что принтер включен и подсоединен к Raspberry Pi по USB, после чего заходим в веб-интерфейс CUPS:

Установка и настройка принт-сервера CUPS на Raspberry Pi 3

Установка и настройка принт-сервера CUPS на Raspberry Pi 3

Установка и настройка принт-сервера CUPS на Raspberry Pi 3

Нужно выбрать из списка драйвер для своей модели принтера, но если таковых нет — скорее всего подойдет драйвер от соседней модели того же модельного ряда. В этом примере я устанавливаю драйвер от модели HL-2135 на принтер HL-2132.

Установка и настройка принт-сервера CUPS на Raspberry Pi 3

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

Тут еще раз хочу обратить внимание на важность установки пакета Foomatic, упоминаемого в начале этой инструкции. Без него шанс не обнаружить драйвера для своего принтера в списке довольно велики, т.к. стандартный набор драйверов CUPS весьма скуден.

Подключение сетевого принтера к Windows-устройству

Предположим, что установка драйвера для подключенного к принт-серверу CUPS принтера прошла успешно. Теперь нужно подружить с этим принтером компьютер, работающий под управлением Windows.

Забываем вообще про наличие Samba. Вместо этого переходим в веб-интерфейс CUPS на страницу нашего принтера:

Установка и настройка принт-сервера CUPS на Raspberry Pi 3

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

Установка и настройка принт-сервера CUPS на Raspberry Pi 3

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

Доступ к сетевому принтеру с устройств под управлением iOS

Любым принтером, расшаренным через принт-сервер CUPS, можно пользоваться с любого iOS-устройства, а также с компьютеров Mac вообще без установки драйверов.

Это обусловлено тем, что CUPS поддерживает созданную корпорацией Apple технологию беспроводной печати AirPrint:

Установка и настройка принт-сервера CUPS на Raspberry Pi 3

Вот так выглядит окно печати на айфоне.

Что тут еще сказать? Принтер просто обнаруживается и просто работает.

Добавляем в систему PDF-принтер

Отдельно напишу о том, как подключить к принт-серверу CUPS виртуальный PDF-принтер.

Что есть PDF-принтер? Это виртуальное устройство, которое добавляется в систему как обычный принтер и при отправке документа на печать генерирует из него pdf-файл. Использовать PDF-принтер удобно для сохранения статей из интернета или отдельных страниц многостраничного документа в виде отдельного файла.

Для установки PDF-принтера нужно установить отдельный пакет:

Затем создать на Raspberry Pi папку для хранения получаемых pdf-файлов и прописать к ней права доступа:

И отредактировать файл конфигурации:

В нем нас интересуют следующие строки:

Первые 3 строки меняют пути сохранения pdf-файлов в созданную нами директорию на внешнем носителе, а четвертая строка меняет формат генерации названия выдаваемого файла. Дело в том, что с настройкой по умолчанию CUPS-PDF не осиливает длинные русскоязычные названия документов и в результате не сохраняет сгенерированные pdf-файлы на диск. После изменения этой настройки проблема уходит.

После чего остается перезагрузить сервер CUPS:

А затем установить новый принтер и подключить его к компьютеру под Windows, эти шаги идентичны шагам по установке и подключению обычного принтера, описанным выше.

Заключение

Вот так за полчаса времени можно создать принт-сервер.

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

Кстати, принт-серверы промышленного производства стоят примерно столько же, сколько и сам Raspberry Pi. Только покупая принт-сервер вы получаете устройство с одной единственной функцией, а Raspberry Pi — многозадачное устройство, способное помимо сетевого доступа к принтерам еще и хранить ваш медиаконтент, и выступать в качестве приватного облака, и электронную библиотеку на себе держать, и выполнять еще много полезных функций.

Необходимость в распечатке большого количества материалов и неудобство громоздкой конструкции приводят пользователей к размышлениям, как сделать Wi-Fi принтер из обычного принтера. Существует несколько вариантов решения проблемы.

Что такое принт сервер Wi-Fi


Wi-Fi принт-сервер

Принт-сервер Wi-Fi (Wi-Fi print server) или сервер печати — это независимое устройство для работы с сетью с минимальным размером. Он относится к промежуточным девайсам, помогающим провести соединение локальной сети и МФУ.

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

Важно! К достоинствам принт-сервера Wi-Fi для МФУ относят отсутствие постоянного работающего вторичного компьютера, а к недостаткам — необходимость приобретения дополнительного оборудования.


Общие характеристики

Как сделать принт сервер Wi-Fi

Как правильно сделать принтер Wi-Fi? Для создания подобного автономного устройства понадобится приобрести:

  • роутер, поддерживающий принт-сервер и обладающий на корпусе USB-разъемом (для присоединения внешних гаджетов);
  • персональный компьютер, с которого будет проходить настойка устройства;
  • принтер с дополнительными девайсами, в которые входит установочный диск, USB-кабель и пр.

Важно! Присоединение принтера может проходить как через мобильные ПК (ноутбуки и нетбуки), так и стационарный компьютер (при условии его соединения через кабель к маршрутизатору). Но если устройство не поддерживает функционал беспроводной печати, то работа через периферийный доступ не получиться.

Перед настройкой устройства необходимо провести активизацию поддержку принт-сервера на самом маршрутизаторе. Для этого нужно:

Важно! После точного выполнения вышеуказанных действий по отладке принт-сервера для принтера с USB Wi-Fi, необходимо провести сохранение всех внесенных изменений.


Варианты связки с роутером

Возможно ли сделать Wi-Fi принтер из обычного принтера

Для легкого ориентирования в настройках принтеров нужно разобраться в разнообразии интерфейса устройств. Существует несколько вариантов, у каждого из них — свое предназначение.

  • При проводном порте USB — присоединение принтера к устройству происходит напрямую, через высокоскоростную шину. По умолчанию в связке находится ноутбук или ПК и роутер. Хозяев такой техник в первую очередь интересует, как проводить печать не только с компьютера, но и иных мобильных устройств.
  • При Ethernet — он бывает только в дорогих устройствах, предназначен для подключения к концентратору МФУ. Технология полностью удовлетворяет потребности своих владельцев.
  • При технологии вай-фай — практически у всех современных моделей присутствует Wi-Fi модуль для принтера, но не во всех случаях он работоспособен. Фирменное программное обеспечение иногда отказывается функционировать на смартфоне или планшете.

Чтобы провести включение МФУ в локальную сеть в роли самостоятельного устройства, нужно оснастить его интерфейсом для работы в сети (Wi-Fi адаптер для принтера). К простым и удачным решениям относят беспроводную технологию. Производители предлагают большое количество принт-серверов на выбор: от дешевых до дорогих, при помощи которых локальный принтер легко преобразуется в общедоступный.

Важно! Виртуальная технология (с вай-фай адаптером для принтера) позволяет пользоваться дополнительными возможностями: распечатывать документы с мобильного, отправлять задания через электронную почту, выполнять действие через интернет. Достаточно выбрать подходящий по функциональности принт-сервер и установить его.


Установка принтера

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

Открытым доступом для печати может воспользоваться любой пользователь сети. Удобство такого подхода заключается в отсутствии необходимости подключать каждое из имеющихся дома устройств отдельно.

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

Открытый доступ печати через технологию вай-фай производится по пошаговому алгоритму:


Подключение МФУ

Важно! Для виндовс-девайсов существует общее правило: на ПК должен быть установлен авторизированный Хром. Этот же аккаунт используется и для оборудования.

Проверка работоспособности проводится по стандартному принципу: документация открывается в приложении и отправляется на печать. После отправки файла произойдет автоматическое открытие вкладки Хрома, в которой необходимо уточнить имя периферийного оборудования. В остальном процедура проходит аналогично стандартной: выбирается вид бумаги, формат, цветное или черно-белое исполнение и пр.


Виртуальный принтер Гугл

Как подключиться к удаленному принтеру через интернет

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

Специалисты рекомендуют провести отладку за два этапа: от настройки самого персонального компьютера, к которому подключено МФУ (через кабель) до допуска к сети вторичного устройства, с правом распечатки документов.

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

Настройка для эксплуатации по сети

Важно! Точная настройка позволит сделать принтер общедоступным для всех доверенных мобильных устройств и ПК, которые подключены при помощи вай-фай.


Открытый доступ к принтеру

Отладка ноутбука для удаленной печати

Важно! После процедуры в списке подключенных к компьютеру устройств появится новый принтер. На него можно отправлять любые документы через удаленный доступ, через сеть, для печати.

Приобретение дополнительной аппаратуры позволит создать из устаревшего МФУ современный девайс, которым можно пользоваться через вай-фай. Отдельные пользователи предпочитают смену старой аппаратуры на новейшую, с уже задействованным в ней функционалом. Принт-сервер Wi-Fi для МФУ — универсальное решение для недорогих устройств с ограниченными возможностями.

Всем привет!
Сегодня у нас статья немного другого плана. Понадобилось заиметь дома сетевой принтер. Чтобы печатать с ноутбука и не держать включенным десктоп.


Печатаю я только текст и мне критична скорость, по-этому лазерный чёрно-белый принтер - мой идеал. Посмотрев ради интереса цены на новые принтеры с WI-FI, Ethernet и WEB-мордой, я купил Raspberry Pi и положил её на свой проверенный в боях Samsung ml-2525w.


Дальше мы втыкаем флешку в малинку, подключаем ethernet и питание. Через секунд ~30 идём на роутер и смотрим какой IP выдан малинке. Узнали - заходим на неё по SSH. Если под Win, то потребуется putty, если с Linux то пишем что-то в духе "ssh pi@192.168.0.10".
По дефолту, пользователь "pi" и пароль "raspberry".

Дальше стоит где-нибудь почитать про raspi-config.
Выполняем на малинке следующие команды, чтобы обновить пакеты:
aptitude update
aptitude install -f
aptitude upgrade

Теперь ставим принт-сервер.

aptitude install cups

После этого можно заходить в веб морду принт сервера из локалки по адресу http:// :631
Cups настраивается легко и в сети полно инструкций на русском языке. Если нужного драйвера не найдётся, то нужно выполнить на малинке "aptitude install priner-driver-all" - это установит пакет с драйверами для принтеров.

Принт-сервер на Raspberry Pi готов =) для wifi я использую свисток от TP-Link. Но у него проблемы с драйверами, так что, мой опыт с ним, надеюсь, вам не понадобится, так что выбирайте свисток поддерживаемый из коробки.


Не пропустите обновления! Подписывайтесь на нашу группу Вконтакте и страницу в Instagram.
Так же у нас есть Telegram канал.
Вам понравился наш материал? Поделитесь с коллегами!

Читайте также: