
PaperMono: список покупок на електронному папері для холодильника із синхронізацією з телефоном
Розробник Сімус Колі опублікував PaperMono Shopping List: прошивку, яка перетворює пристрій M5Stack PaperMono на список покупок на електронному папері й синхронізує його із сервером FastAPI та вебсторінкою на телефоні.
Незалежний розробник опублікував вихідний код списку покупок, який висить на дверцятах холодильника як дисплей на електронному папері й синхронізується з вебсторінкою на телефоні. Проєкт PaperMono Shopping List розрахований на M5Stack PaperMono: пристрій на базі ESP32-S3 із 3,97-дюймовим сенсорним екраном на електронному папері 480x800.
Прошивка під один пристрій
Прошивка є проєктом PlatformIO приблизно з 2400 рядків коду C++. Часткове оновлення екрана відбувається без звичного чорного блимання під час дотиків, прокручування чи набору тексту. Після кожних десяти часткових оновлень примусово виконується повне, щоб зменшити залишковий слід і захистити панель.
Працюють дотики, свайпи та бічні кнопки, а екранна клавіатура перемальовує лише ті частини, що змінюються під час набору. Живлення охоплює вимкнення кнопкою, резервний глибокий сон на випадок, коли USB-живлення заважає мікросхемі живлення вимкнутися, та автоматичне вимкнення за безпечної напруги батареї.
Wi-Fi щогодини, а зміни стоять у черзі у флешпам'яті
Час роботи радіомодуля короткий: Wi-Fi вмикається лише під час синхронізації. Синхронізація відбувається щогодини, раніше, якщо торкнутися екрана й остання синхронізація старша за п'ять хвилин, і одразу після редагування. Усе інше працює офлайн, а зміни стоять у черзі у флешпам'яті до наступної синхронізації.
Сервер FastAPI та необов'язкове сортування
Сервер написаний на Python із FastAPI та SQLite і обслуговує і HTTP API, і телефонний інтерфейс. Він пам'ятає, до якого відділу належить кожна позиція. Коли він уперше бачить нову назву, він може надіслати лише цю назву до Claude Code CLI, щоб визначити відділ. Якщо позицію потім перемістити вручну, виправлення зберігається. Розгортання із systemd і Docker описано в репозиторії, а класифікатор можна повністю вимкнути.
Особистий проєкт із чесно названими обмеженнями
Автор, Сімус Колі, називає його особистим проєктом, що працює на одному пристрої вдома, а не продуктом. Облікові дані Wi-Fi вкомпільовані у прошивку без налаштування на пристрої. Сервер не має автентифікації та має залишатися в локальній мережі або за зворотним проксі з автентифікацією, а протестовано лише PaperMono C153. Підтримку плати, драйвери екрана й дотику адаптовано з MonoMesh, іншої прошивки для того самого обладнання, а код випущено під GPLv3. Перед першим прошиванням радять зробити резервну копію флешпам'яті: там заводські калібрувальні дані пристрою.
SiTech — веброзробка з підтримкою AI
Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.