Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Case study: photoframe 3.0.0

Описание и применение

Проект photoframe был обновлён до Python 3, интегрирован с Immich как источником фотографий и выпущен стабильный релиз v3.0.0 с SD‑картой. Память на Pi 3B+ сократилась вдвое, поддерживаются несколько версий Raspberry Pi OS и 32/64‑битные архитектуры.

Задача

Google’s Photos Library API was cut to only allow access to photos an app uploaded itself, leaving the photoframe project without a photo source; the base code was stuck in Python 2 and the Raspberry Pi OS had dropped the tvservice tool; the author lacked time to port, install, and test across Pi models and screens.

Результат

Photoframe was successfully migrated to Python 3, integrated Immich as the photo source, and released a stable v3.0.0 with a flashable SD card image. Memory usage was halved on a Pi 3B+, and the project now supports multiple Raspberry Pi OS releases and both 32‑bit and 64‑bit architectures.

Рабочий процесс

  • Forked the original project in September 2025 and added Immich support.
  • Implemented Python 3 migration and updated display handling.
  • Created a hardware gate rule: nothing is pushed, tagged, released, or sent upstream until it has run on Pi hardware.
  • Built a headless Lite SD card image using a fork of pi-gen and tested it on a Pi Zero W and Pi 3B+.
  • Performed release candidate testing (rc1 on Pi 3B+, rc2 on Pi 4) and fixed bugs related to credentials logging, shutdown button, and config.txt writes.
  • Released v3.0.0 on October 6, 2026 after verifying all changes on Pi hardware.
  • Maintained a migration script to upgrade existing installations from the original project to v3.0.0.
  • Opened and reviewed 30 issues and 13 pull requests between rc2 and the stable release.
  • Documented known issues and planned fixes for version 3.1.

Доказательства

Google cut the Photos Library API down to photos an app uploaded itself, and the frame had nothing left to read.

Источник

The release discipline was not optional, and it came from one bad morning in April: nothing gets pushed, tagged, released, or sent upstream until it has run on Pi hardware.

Источник

Peak memory on an 800x480 panel went from about 1,061 MB to about 494 MB.

Источник

The image’s web UI had no login. pi-gen put the credentials file under /boot/firmware; photoframe looked in /boot.

Источник

  • Дата записи: 2026-10-07T20:40:52.885Z