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, имена устройств и пути к файлам.
-
Клонируйте репозиторий: Начните с клонирования этого репозитория.
git clone https://github.com/j0sh21/DoxBox.git
-
Установите зависимости: Убедитесь, что Python установлен на вашей системе, установите необходимые пакеты Python.
pip install -r requirements.txt
Примечание: Некоторые компоненты могут требовать дополнительные зависимости на уровне системы (например, gphoto2, CUPS).
- Если вы хотите автоматически установить дополнительные зависимости на уровне системы, запустите install.sh:
cd DoxBox/install chmod u+x install.sh ./install.sh
- Если вы хотите автоматически установить дополнительные зависимости на уровне системы, запустите install.sh:
-
Настройка: Просмотрите и обновите 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
- Обновлен
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 ⚡️