82. Rice, R. G. (2012). Health and safety aspects of ozone processing. In: Ozone in Food Processing. 1st ed., pp. 265-288. O'Donnell, C., Tiwari, B. K., Cullen, P. J. and Rice, R.G., Eds. Blackwell Publishing Ltd., Chichester.
УДК 004.356.2
Горбачев Иван Алексеевич Gorbachev Ivan Alexeyevich, Калымбеков Шынгыс Kalymbekov Shyngys, Дохов Даниил Олегович Dokhov Daniil Olegovich Студент Student
Санкт-Петербургский политехнический университет Петра Великого Peter the Great St. Petersburg Polytechnic University
ПРИНТ-СЕРВЕР НА ОСНОВЕ RASPBERRY PI
PRINT SERVER BASED ON RASPBERRY PI
Аннотация: в статье изложена сущность подхода к созданию принт-сервера на основе одноплатного компьютера Raspberry Pi, предназначенного для печати файлов по сети Wi-fi с устройств, на операционных системах iOS, macOS, Android и Windows. Была создана структурная схема и алгоритм работы принт-сервера, создана электрическая схема. Установлено программное обеспечения и выполнено его конфигурирование. Было выполнено тестирование нагрузки на процессор.
Abstract: the article describes the essence of the approach to creating a print server based on a single-board computer Raspberry Pi, designed to print files over a Wi-fi network from devices running on iOS, macOS, Android and Windows operating systems. A block diagram and an algorithm for the print server were created, electrical circuit created. The software has been installed and configured. CPU load testing has been performed.
VIII Международная научно-практическая конференция Ключевые слова: принтер, принт-сервер, raspberry pi, печать, android, ios, windows,
macos.
Key words: printer, print-server, raspberry pi, print, android, ios, windows, macos.
Разработаем структурную схему принт-сервера на базе одноплатного компьютера (рис. 1).
Принтер
USB 2.0
802.11 ас Wi-Fi
Источник micro -USB Одноплатный Маршрутизатор
питания w компьютер Ч г
Рис. 1. Структурная схема принт-сервера
Подключение одноплатного компьютера к локальной сети происходит посредством Wi-Fi, но еще есть возможность подключения через Ethernet. Питание одноплатного компьютера происходит через кабель micro--USB, а принтер подсоединяется через интерфейс USB 2.0.
Далее составим алгоритм работы принт-сервера. После запуска системы и демона одноплатный компьютер переходит в режим ожидания задания. При поступлении задания происходит обработка файла и его последующая печать. После чего принт-сервер снова переходит в режим ожидания (рис. 2).
Рис. 2. Алгоритм работы
Схема электрических соединений принт-сервера на основе одноплатного компьютера Raspberry Pi 3B+ (рис. 3).
Рис. 3. Схема электрических соединений
VIII Международная научно-практическая конференция Для питания одноплатного компьютера достаточно блока питания на 500
мА. Для блока питания используется кабель USB A M - MicroUSB M. Для
подключения принтера можно использовать стандартный USB кабель USB A M
- USB B M.
Назначение контактов USB 2.0:
Усс (+5V, Vcc — Voltage Collector Collector) +5 Вольт постоянного напряжения относительно GND. Для USB 2.0 максимальный ток — 500 mA. D- (-Data). D+ (+Data).
GND — общий провод, «земля», «минус», 0 Вольт.
Выполним расчет экономической составляющей. Будет рассматриваться офис с 10 кабинетами, и в каждом стоит принтер, для удобства сотрудников. Рассмотрим принтер со сканером со средним значением цены и качества за 2700р, где скорость печати страниц 8 страниц в минуту. Таким образом, цена всех принтеров (Cost) у каждого сотрудника:
С = п • s + р, (1)
где п - количество принтеров или МФУ в шт; s - цена устройства в руб; р - цена принт-сервера в руб.
Исходя из формулы (1) вычисляем стоимость десяти принтеров:
С = 10-2700 + 0 = 27000 В данном случае принт-сервер не используется, поэтому р = 0. Теперь будет рассматриваться ситуация, что планируется купить 1 мощный МФУ вместо 10 слабых принтеров со сканерами. По техническому заданию принт-сервер стоит 4000, но, если использовать плату Zero W, цена -1000. Рассмотрим МФУ так же со средним соотношением цены/качества за 7800 со скоростью печати 22 страницы в минуту. Допустим, чтобы оптимизировать расходы на закупку принтеров, будет куплен только 1 такой МФУ.
Цена, при использовании Raspberry Pi 3B+ исходя из формулы (1): С3В+ = 1 • 7800 + 4000 = 11800
«Вопросы развития современной науки и техники» Цена, при использовании Raspberry Pi Zero W исходя из формулы (1):
Czero = 1 • 7800 + 1000 = 8800 Соотношение цены при закупке 10 принтеров со сканерами к цене МФУ с Raspberry Pi 3В+ получается:
С 27000
= 2,3
Сзв+ 11800
Соотношение цены при закупке 10 принтеров со сканерами к цене МФУ с Raspberry Pi Zero W получается:
С 27000
= 3
Czero 8800
Далее рассмотрим программную реализацию. В Linux все компоненты системы показаны в виде пакетов. Операции, которые связанны с различными изменениями состава системы, а именно проверка, установка, обновление компонентов, удаление - происходят над пакетами.
Перед установкой любого программного обеспечения на Raspberry требуется последняя версия всех пакетов программ в ОС Raspbian, поскольку во время установки программа ставит свою последнюю версию, которая основывается на самых новых версиях различных пакетов.
Команда «sudo apt-get update» обеспечивает обновление базы данных версий программ. Например, если установлена программа abc версии 1.1, то после этой команды система будет знать, что уже есть версия 1.2.
Далее, чтобы установить новые версии программного обеспечения требуется команда: «sudo apt-get upgrade». После выполнения этой команды произойдет обновление пакетов до их последних версий.
Теперь рассмотрим установку программного обеспечения на одноплатный компьютер Raspberry Pi.
Первый шаг - нужно установить программу CUPS, которая будет отвечать за сетевую печать.
Команда «sudo apt-get install cups» устанавливает программное обеспечение CUPS.
VIII Международная научно-практическая конференция Второй шаг - после установки требуется записать пользователей, которые имеют доступ к управлению принтером через CUPS. Для этого используется команда «sudo usermod -a -G lpadmin pi».
-G - дополнительные группы для пользователя.
-a - добавить пользователя в дополнительные группы из параметра -G, а не заменять им текущее значение.
Эта команда добавит пользователя pi в группу lpadmin. Эта группа создана CUPS для того, чтобы система могла определить, кто может изменять настройки принтера. Далее по умолчанию, чтобы открыть веб-интерфейс CUPS надо зайти в браузер и прописать localhost:631.
При желании можно расширить или ограничить доступ к интерфейсу администратора CUPS. Для этого, по пути «sudo nano /etc/cups/cupsd.conf» находится файл конфигурации. По умолчанию доступ разрешен только через браузер Raspberry Pi:
# Слушать соединения только с локального устройства Listen localhost:631
Для доступа с конкретных устройств можно изменить строку: #Слушать подключения только с этого IP адреса Listen 192.168.5.67:631
Либо же разрешить доступ со всех адресов к CUPS путем добавления строк: #Слушать все IP адреса Port 631
Далее, чтобы попасть на панель администрирования с другого устройства требуется быть подключенным к одной Wi-fi сети с одноплатным компьютером Raspberry Pi и ввести в строку браузера «http://ip-адрес-raspberry-pi:631». IP адрес одноплатного компьютера Raspberry Pi можно узнать с помощью команды hostname -I.
Для того, чтобы можно было осуществить печать с устройств Apple, которые поддерживают технологию AirPrint нам необходимо ввести определенную команду. Команда «sudo apt-get install avahi-daemon»
«Вопросы развития современной науки и техники» устанавливает систему Avahi-daemon. Avahi-daemon это система, которая обеспечивает обнаружение в локальной сети различных сервисов. Например, становятся доступны сетевые принтеры.
Samba - это программное обеспечение, которое обеспечивает обмен файлами и работу с общими ресурсами между устройствами под управлением Linux/Unix и операционной системой Windows.
Первый шаг - установить Samba. Команда «sudo apt-get install samba» устанавливает Samba на Raspberry.
Второй шаг - настройка конфигурации программы. Чтобы попасть в файл конфигурации нужно ввести следующую команду «sudo nano /etc/samba/smb.conf». Это переправит в конфигурационный файл Samba, где требуется дать разрешение на печать для гостевого захода, изменив параметр c guest ok=no на guest ok = yes в графе [printers].
Третий шаг - перезапуск Samba командой service smbd restart.
Далее настроим Raspberry Pi для печати с Android устройств.
Основная задача - это установка бесплатного приложения PrintBot с официального магазина приложений Android. После установки выбираем доступный сетевой принтер Raspberry. Однако бесплатно печатать можно только PDF файлы размером до 3-х страниц или 3 изображения в месяц. Для снятия ограничений потребуется оплатить данное приложение.
Далее рассмотрим нагрузку на процессор Raspberry Pi, при выдаче задания на печать.
Вводим команду top в консоль, чтобы вывести диспетчер задач Linux. Далее выдаем задание на печать файла с устройства под управлением macOS. Печатаем слово Hello. Далее видим, что запускается драйвер Gutenprint и далее Raspberry Pi выполняет растрирование (рис.4). Gutenprint, ранее называвшийся Gimp-Print, представляет собой набор драйверов принтера, который может использоваться с наиболее распространенными системами печати UNIX и Linux, включая CUPS, lpr, LPRng или другие. Rastertogutenpr - Это фильтр CUPS, который преобразует данные CUPS в данные для конкретного принтера [1].
VIII Международная научно-практическая конференция
Рис. 4. Растрирование
Таким образом, видим, что растрирование загружает одно из ядер на 100%. Делаем вывод, что принт-сервер разгружает процессор основного компьютера, так как преобразование документов в формат данных для печати происходит в принт-сервере, а не на основном ПК позволяя сосредоточить ПК на других задачах.
Далее, исходя из расчетов экономической составляющей видно, что в 3 раза больше средств компании можно сэкономить при использовании достаточно мощного для своей цены МФУ с принт-сервером на основе одноплатного компьютера Raspberry Pi Zero W.
Также, для обеспечения максимальной безопасности, но и для удобства работы с панелью администрирования CUPS, лучше всего указывать IP определенного устройства, с которого будет осуществляться настройка принт-сервера.
В итоге был разработан подход к созданию принт-сервера на основе одноплатного компьютера Raspberry Pi, работающий с операционными системами iOS, macOS, Android, Windows.
Библиографический список:
1. Gutenprint 5.2 User's manual [Электронный ресурс]. - Режим доступа: http://gimp-print.sourceforge.net/gutenprint-users-manual.pdf (дата обращения 20.06.2021).
© И.А. Горбачев, Ш. Калымбеков, Д.О. Дохов, 2021