Skip to content

Latest commit

 

History

History
132 lines (96 loc) · 10.7 KB

ЧИТАЙТЕ.md

File metadata and controls

132 lines (96 loc) · 10.7 KB

DoxBox - фотобокс на биткойнах ⚡️ lightning

DoxBox печатает захваченные изображения после оплаты биткойнами через свой кошелек LNbits. Вы можете установить его на любой свадьбе, конференции, встрече или фестивале. Мы собрали его модульным образом, так что вы можете легко путешествовать с ним.

Требования к оборудованию

  • Raspberry Pi 4, работающий на операционной системе на базе Debian доступной на официальной странице программного обеспечения Raspberry Pi.

  • DSLR камера: Canon EOS 450D с SD-картой минимум на 1 ГБ. Если вы используете другую модель, убедитесь в совместимости с gphoto2 на официальном сайте.

  • Дисплей: Waveshare 10.4 дюймовый QLED Quantum Dot емкостной дисплей (1600 x 720).

  • Принтер: Xiaomi Instant Photo Printer 1S, поддерживает систему печати CUPS, фотобумага 6 дюймов.

  • LED: 4-канальная RGB LED лента в комплекте с макетной платой, соединительными кабелями и 4 мосфетами для управления.

  • Строительный материал: Три листа фанеры 80x80 см; доступ к лазерному резаку может быть полезен.

  • Крепежные материалы: 20 комплектов угловых магнитов (по 2 штуки в каждом), 40 винтов диаметром 4 мм и 120 гаек диаметром 4 мм для закрепления компонентов.

  • Цвет спрея: 1 баллон грунтовочной краски, 4 баллона основного цвета.

Пример потока программы:

Инструкции по настройке

Основные компоненты

  • main.py: Служит точкой входа в приложение, организует выполнение различных компонентов в зависимости от режимов работы.
  • app.py: Управляет графическим интерфейсом пользователя (GUI) приложения, облегчая взаимодействие с пользователем и отображая информацию.
  • switch.py: Обрабатывает внешние взаимодействия с API и выполняет конкретные действия на основе полученных данных, такие как активация других компонентов приложения.
  • img_capture.py: Взаимодействует с камерами для захвата изображений, их загрузки и управления файлами, используя gphoto2.
  • print.py (В разработке): Взаимодействует с принтерами с использованием CUPS для печати изображений, с функциональностью выбора принтеров и управления заданиями печати.
  • config.py: Содержит настройки конфигурации, используемые во всем приложении, такие как ключи API, имена устройств и пути к файлам.

Установка

  1. Клонируйте репозиторий: Начните с клонирования этого репозитория.

    git clone https://github.com/j0sh21/DoxBox.git
  2. Установите зависимости: Убедитесь, что Python установлен на вашей системе, установите необходимые пакеты Python.

    pip install -r requirements.txt

    Примечание: Некоторые компоненты могут требовать дополнительные зависимости на уровне системы (например, gphoto2, CUPS).

    • Если вы хотите автоматически установить дополнительные зависимости на уровне системы, запустите install.sh:
      cd DoxBox/install
      chmod u+x install.sh
      ./install.sh
  3. Настройка: Просмотрите и обновите config/cfg.ini с вашими конкретными настройками, такими как имена устройств, ключи API и пути к файлам.

    nano cfg.ini

Использование

Чтобы запустить приложение, перейдите в директорию проекта и выполните main.py:

python3 main.py

Для конкретных функциональностей, таких как захват изображения или печать, вы можете запустить соответствующие скрипты (например, python img_capture.py для захвата изображения).

Захват изображения: Убедитесь, что ваша камера подключена и распознана вашей системой, затем выполните:

python3 img_capture.py

Печать изображения: Обновите print.py с именем вашего принтера и путем к файлу изображения, затем выполните:

 python3 print.py

Журнал изменений для проекта DoxBox

Версия 0.1, выпущена 25 февраля 2024 года

Функции

  • Обновлен app.py для использования новых рамок и новых GIF.
  • Интегрированы новые GIF от @arbadacarbaYK, убраны пустые фоновые рамки и водяные знаки. У GIF обратного отсчета теперь одинаковое время между цифрами.
  • Добавлен self.isreplay для сброса счетчика циклов GIF только один раз.
  • Введены новые коды ошибок из switch.py в документацию на английском, немецком и португальском языках.
  • Реализовано новое состояние 3.5: переход к img_capture.py после завершения первого GIF с улыбкой.
  • Реализовано новое состояние 3.9: Фотография успешно передана с камеры, начата подготовка к печати.
  • Ускорено состояние 4: активируется раньше, чтобы начать печать до удаления фотографии с камеры.
  • Переработана обработка ошибок, специфичных для камеры, в img_capture.py.
  • Введены максимальные попытки повтора и переменные времена ожидания для ошибок, связанных с камерой.

Улучшения

  • Добавлена проверка сетевого подключения перед запросом API LNbits.
  • Улучшен и очищен стиль вывода консоли.
  • Скрыт курсор мыши для более чистого пользовательского интерфейса.
  • Улучшена ясность и детализация сообщений журнала.
  • Удалены поврежденные файлы и выполнена общая очистка.
  • Отрегулированы эффекты светодиодов для лучшей визуальной обратной связи.

Исправления

  • Исправлено def kill_process() для обеспечения правильного завершения процесса.
  • Исправлена проблема, при которой одновременно могли отображаться несколько GIF с улыбкой.
  • Устранена ошибка, при которой состояние 204 могло бесконечно висеть при проверке неудач печати.

Инфраструктура

  • Создана выходная папка для заданий печати. ЗАДАЧА: Автоматизировать создание папки с помощью os.mkdir вместо включения пустой папки в репозиторий.
  • ЗАДАЧА: Тонкая настройка функциональности check_print_job_status.

Участие

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

Лицензия

Этот проект лицензирован под лицензией MIT - см. файл LICENSE для подробностей. К проекту приветствуются вклады!

Благодарности

Особая благодарность Ben Arc за LNbits и всех сопровождающих внешние библиотеки и инструменты, также используемые в этом проекте.

⚡️ Поддержите этот проект, если вам нравится DoxBox ⚡️