Skip to content

PavelZaytcev22/JAVA_API_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

📄 Умный принтер с мобильным управлением

🧑‍💻Авторы

  • Зайцев Павел (PavelZaytsev22)
  • Казанцев Антон (tuchkaSoul)
  • Коняев Александр (alexkonru)

🎯 Цель проекта

Создание системы беспроводной печати, включающей:

  • Умный принтер, подключенный к серверу (Raspberry Pi+ виртуальная машина).
  • Мобильное приложение для Android, обеспечивающее управление печатью и предпросмотр документов.

🏗 Архитектура системы

1. (Raspberry Pi / VM)

Центральный узел, обрабатывающий запросы от Android-приложения. Функции сервера:

  • 📥 Приём файлов от Android-приложения.
  • 🗂 Передача файлов в очередь печати CUPS.
  • 📊 Получение информации о состоянии принтера из CUPS.
  • ⚙️ Настройки печати (копии, формат бумаги, цвет/ч/б, двусторонка) из CUPS
  • 🌐 API для обмена с мобильным приложением (REST).

2. Умный принтер

Используется обычный принтер, подключённый к серверу.
Способы подключения:

  • USB — для локального подключения к Raspberry Pi/серверу.
  • Сеть (Wi-Fi/Ethernet) — если принтер поддерживает сетевую печать.

3. Мобильное приложение (Android, Java)

Функции:

  • 📂 Выбор файла для печати.

  • 👀 Предпросмотр документа (PDF, изображения).

  • 📤 Отправка файла на сервер.

  • 🗃 Просмотр очереди печати.

  • 📡 Проверка статуса принтера.

  • 🔔 Уведомления о состоянии печати.

  • ⚙️ Настройка параметров печати (кол-во копий, цветность, двусторонняя печать).

  • Прямая печать из облачных сервисов (Google Drive, Dropbox, Яндекс.Диск).

  • Сканирование и отправка в облако.

  • Распознавание текста (OCR) перед печатью.


⚙️ Функциональные требования

  • Беспроводное подключение (Wi-Fi).
  • Поддержка форматов: PDF, изображения, текст(Word и т.д).
  • Управление очередью печати.
  • Отображение статуса принтера и очереди.
  • Возможность просмотра подключённых устройств.

🔧 Технические требования

  • ОС сервера: Raspberry Pi OS (или аналог).
  • Язык сервера: Python
  • Обмен данными: REST API / gRPC.
  • Библиотеки для предпросмотра на Android: PDFRenderer, MuPDF или аналоги.
  • Протокол печати: стандартный CUPS или кастомный (при отсутствии поддержки у принтера).

📊 Распределение функций

✅ CUPS (сервер печати в Linux)

  • Управление драйверами принтера.
  • Формирование и обработка очереди печати.
  • Управление протоколами печати (IPP).
  • Отслеживание базового статуса печати.

📱 Android + серверное API (наше решение)

  • Авторизация пользователей.
  • Предпросмотр документов (PDF/изображения).
  • Интеграция с облачными сервисами (Google Drive, Dropbox, Яндекс.Диск).
  • Отправка файлов с телефона на сервер.
  • Управление очередью (удаление, приоритет, отмена заданий).
  • Управление параметрами печати с телефона (двусторонняя печать, цветность, качество).
  • Push-уведомления о состоянии печати.
  • Хранение истории печати (на сервере).

🚀 Этапы разработки

  1. Настройка CUPS и подключение принтера.
  2. Разработка API для обмена Android ↔ сервер (Flask/FastAPI).
  3. Создание Android-приложения (выбор файлов, предпросмотр, отправка).
  4. Добавление управления очередью и статуса принтера.
  5. Интеграция облачных сервисов.
  6. Push-уведомления и история печати.
  7. Тестирование и отладка системы.

📌 Возможные улучшения

  • Печать по расписанию.
  • Управление несколькими принтерами через один сервер.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •