Инструменты разработки Thonny для e-ink

Inky Impression на Pi Pico Plus 2 W, работающий от батареи — отличная идея, но на программном обеспечении большинство создателей проектов застревают. Цикл обновления, который занимает 25 секунд и потребляет два ампера, разряжает LiPo за выходные. Мы изучили семь инструментов, которые помогают соблюдать энергетический бюджет, но при этом обеспечивают полноценный дашбоард, от IDE Python, которые упрощают глубокий сон, до серверов дашбоардов, которые генерируют кадры, которые может перерисовать маломощный дисплей.

На что обратить внимание при выборе стека разработки для e-ink

Батарейные e-ink проекты имеют специфический набор ограничений, и выбранные вами инструменты либо помогают вам их соблюдать, либо препятствуют.

Быстрое сравнение

Инструмент Лучше всего для Платформы Бесплатно Стартовая цена Примечания
Thonny MicroPython новичков на Pi Pico Windows, macOS, Linux Да Бесплатно Открытый исходный код
Arduino IDE C++ сборка на ESP32/RP2040 Windows, macOS, Linux Да Бесплатно Открытый исходный код
PlatformIO Серьезная кросс-платформенная работа в VS Code Windows, macOS, Linux Да $15/мес (команды) Открытое ядро
MicroPython Среда выполнения, на которой работает всё Работает на устройстве Да Бесплатно Лицензия MIT
Home Assistant Обслуживание кадров с домашнего сервера Работает на сервере Да Бесплатно (Green от ~$99 оборудования) Открытый исходный код
MagicMirror² Готовый модульный дашбоард Работает на сервере Да Бесплатно Лицензия MIT
Node-RED Подключение данных датчиков к кадрам дисплея Работает на сервере Да Бесплатно Apache 2.0

1. Thonny, лучше всего для MicroPython на Pi Pico

Thonny — это IDE, с которой начинаются проекты Pi Pico, и это справедливо. Она загружает прошивку MicroPython, открывает REPL на плате и позволяет сохранять main.py прямо на устройство без этапа сборки. Для e-ink проекта важная деталь — Thonny легко позволяет использовать machine.lightsleep(seconds * 1000) и machine.deepsleep(...), пока отладчик остается подключенным на стороне хоста, поэтому вы можете итерировать логику пробуждения без извлечения USB каждый раз. Панель графиков — хороший бонус для отслеживания напряжения батареи.

Где она уступает: Нет правильного C++ набора инструментов, поэтому если ваш проект перерастет MicroPython, вам придется переехать. Отладка после жесткого сбоя по-прежнему означает чтение трассировки исключения вручную.

Цена: Бесплатно, лицензия MIT. Нет платного уровня.

Платформы: Windows, macOS, Linux.

Скачать: Thonny | GitHub

Нижняя строка: Начните отсюда. Если ваш проект останется на Python, вам никогда не придется уходить.

2. Arduino IDE, лучше всего для C++ на ESP32 и RP2040

Arduino IDE — это самый быстрый способ скомпилировать прошивку Pico e-ink на C++ и получить размер менее 40 кБ. Для Inky Impression специально библиотеки Arduino_GFX и GxEPD2 охватывают большую часть линейки дисплеев Pimoroni, и вы получаете настоящие прерывания и DMA для более быстрого подталкивания кадров, чем может управлять MicroPython. Менеджер плат вносит ядро Earle Philhower для Pico, которое вам нужно, если вам важна коэкзистенция USB и Wi-Fi на Pico W и Pico Plus 2 W.

Где он уступает: Редактор базовый по стандартам 2026 года. Последовательный монитор нормальный, но любой серьезный рефакторинг выталкивает вас.

Цена: Бесплатно.

Платформы: Windows, macOS, Linux.

Скачать: Arduino IDE | GitHub (arduino-ide)

Нижняя строка: Выберите это, если вам нужна последняя миля жизни батареи и вам комфортно на C++.

3. PlatformIO, лучше всего для правильной структуры проекта

PlatformIO живет внутри VS Code и рассматривает работу с микроконтроллерами как нормальное программное обеспечение: platformio.ini, папка src/, файл блокировки для версий библиотек. Для e-ink дашбоарда, который забирает отрендеренный кадр через Wi-Fi, управление зависимостями PlatformIO держит GxEPD2, стек Wi-Fi и HTTP-клиент на версиях, которые действительно компилируются вместе, что является тем несчастьем, которое Arduino IDE передает вам при обновлении ядра. Он нацелен как на RP2040, так и на ESP32-C6 из одной конфигурации.

Где он уступает: Реестр меньше, чем в Arduino, и несколько специфических для Pimoroni библиотек нуждаются в URL-адресе lib_deps git вместо пакета.

Цена: Бесплатное открытое ядро. PlatformIO Labs (организационные дашбоарды, инсайты RTOS) начинаются с $15 за место в месяц.

Платформы: Windows, macOS, Linux (через VS Code).

Скачать: PlatformIO | VS Code Marketplace

Нижняя строка: Правильный выбор, когда ваша прошивка имеет больше одного файла.

4. MicroPython, среда выполнения, стоящая вложения

MicroPython — это не приложение, это среда выполнения, которая превращает Pi Pico в то, для чего вы пишете скрипты. Порт Pico Plus 2 W поддерживает Wi-Fi через network.WLAN, HTTPS через urequests и запись буфера кадра достаточно быстро для частичного обновления на Inky pHAT. Функции глубокого сна действительно снижают ток ниже 1 мА на RP2350, что вам нужно на месяцы батареи. Форки сообщества добавляют Bluetooth LE и немного лучшее поведение файловой системы после коричневого сбоя.

Где он уступает: Запуск занимает пару секунд, что пожирает ваш энергетический бюджет при частых циклах пробуждения. Для обновления каждые 30 секунд C всё ещё ответ.

Цена: Бесплатно, лицензия MIT.

Платформы: Работает на устройстве.

Скачать: MicroPython | GitHub

Нижняя строка: Среда выполнения по умолчанию для чего-либо, работающего от батареи на RP2040 или RP2350.

5. Home Assistant, лучше всего для обслуживания кадра дашбоарда

Как только ваш Pico может забрать PNG через Wi-Fi и нарисовать его, вам нужно что-то на стороне сервера для создания этого PNG. Home Assistant — очевидный выбор, потому что у него уже есть данные датчиков, календарь и погода, которые вам, вероятно, нужны на дашбоарде. Его дашбоарды Lovelace могут быть сняты на скриншот на стороне сервера в разрешение, удобное для Pico, с использованием аддона browser_mod, или вы можете создать пользовательский шаблон, который отрендеривает точный PNG, который запрашивает Pico. Home Assistant Green делает это практичным без полной домашней лаборатории.

Где она уступает: Первоначальная настройка — реальная работа. Ожидайте полдня, прежде чем первый кадр приземлится на дисплей.

Цена: Бесплатное программное обеспечение. Home Assistant Green оборудование начинается примерно с $99. Облачный удаленный доступ Nabu Casa составляет $6,50 в месяц, если он вам нужен.

Платформы: Работает на любом сервере (Linux, macOS, Windows через Docker или на оборудовании Home Assistant Green / Yellow).

Скачать: Home Assistant | GitHub

Нижняя строка: Если вы уже запускаете Home Assistant, это кратчайший путь к хорошему дашбоарду.

6. MagicMirror², лучше всего, когда вы хотите готовый дашбоард

MagicMirror² был построен для двусторонних зеркал, но экосистема модулей, погода, календарь, транзит, новости, а также множество разовых модулей сообщества — это именно то, что нужно батарейному e-ink дисплею. Укажите headless Chromium на экземпляр MagicMirror, сделайте его скриншот в вашем целевом разрешении, пропустите его через дизеринг Флойда-Стейнберга, и у вас есть кадр, который Pico может нарисовать за шесть секунд. Макет в JSON, поэтому разные кадры Pico могут отрендеривать различные регионы одного и того же экземпляра.

Где он уступает: MagicMirror ожидает работать на 60 кадрах в секунду за стеклом. Получение чистого скриншота одного кадра требует небольшой оболочки headless-Chrome.

Цена: Бесплатно, лицензия MIT.

Платформы: Работает на Node.js на любом сервере. Также работает на Raspberry Pi OS.

Скачать: MagicMirror² | GitHub

Нижняя строка: Выберите это, если вы хотите работающий дашбоард к ужину и готовы написать скрипт для шага скриншота.

7. Node-RED, лучше всего для подключения потоков датчиков к кадру

Если ваш e-ink дисплей показывает что-то более пользовательское, чем “погода и календарь”, Node-RED — это место, где живет сантехника. Перетащите вход MQTT от датчиков, блок функции для преобразования, узел отрендеривания изображения для создания PNG и конечную точку HTTP, которую опрашивает Pico. Для батарейной сборки Node-RED также может выставить поле next_wake_seconds, которое Pico соблюдает, поэтому тихий период позволяет устройству спать дольше вместо опроса по фиксированному графику.

Где он уступает: Среда выполнения Node.js тяжелее, чем то, что вы будете запускать на Pi Zero, если это сервер. Предпочитайте его машине домашней лаборатории, а не тому же Pi, который хост дисплея.

Цена: Бесплатно, Apache 2.0. Node-RED Dashboard 2.0 также бесплатен.

Платформы: Любой хост Node.js (Linux, macOS, Windows). Хорошо работает на Raspberry Pi 4 или лучше.

Скачать: Node-RED | GitHub

Нижняя строка: Клей между данными датчика и кадром, который рисует ваш дисплей.

Как выбрать правильный инструмент

Если это ваш первый батарейный e-ink проект, установите Thonny и MicroPython на Pico, затем обслуживайте статический PNG с любого веб-сервера. Это кратчайший цикл к первому свету, и тот, на котором большинство проектов ломаются.

Как только дисплей работает, поместите дашбоард в Home Assistant, если вы уже его запускаете. Если нет, MagicMirror² устанавливается вечером, и библиотека модулей сделает большую часть того, что вам нужно.

Перейдите в Arduino IDE или PlatformIO только тогда, когда ваша версия MicroPython не может попасть в целевой сон. Это обычно происходит примерно при двухминутном интервале обновления на маленьком LiPo. Для более длительных интервалов Python в порядке и проще передать позже.

Node-RED входит в картину, когда кадр становится условным по живым данным, обнаружению присутствия, ценам энергии или семейному календарю с фильтрами для каждого человека. Ниже этой сложности это излишне.

Часто задаваемые вопросы

Может ли Pi Pico Plus 2 W действительно запустить Inky Impression от батареи?

Да, это именно то, что показала недавняя сборка XDA. Трюк не в Pico, это в токе обновления дисплея и интервале пробуждения. 7,3-дюймовое впечатление потребляет около 100 мА в течение шести или семи секунд во время полного обновления, затем снижается до микроампер. На 2000 мAh LiPo с 30-минутным обновлением вы смотрите на недели на один заряд.

Нужен ли мне Home Assistant, или MagicMirror² достаточно?

MagicMirror² достаточно для погоды, календаря, транзита и новостей. Добавьте Home Assistant, когда вы хотите, чтобы дисплей отражал физическое состояние, открыта ли дверь гаража, уехал ли последний человек, закончилась ли посудомоечная машина. Если вы уже запускаете Home Assistant, используйте его и пропустите MagicMirror².

Почему не запустить всё на самом Pi Pico?

Pico может отрендеривать простой текст и значки непосредственно, но в тот момент, когда вам нужен полностью стилизованный дашбоард, вы переиспользуете HTML и CSS на микроконтроллере. Предварительное отрендеривание PNG на надлежащей машине и наличие того, как Pico рисует его — это паттерн, который масштабируется.

Достаточно ли медлен MicroPython, чтобы иметь значение для срока службы батареи?

Запуск длится пару секунд, что имеет значение при коротких интервалах пробуждения. При интервале 15 минут или больше разница между MicroPython и C невидима на датчике батареи.

Какую библиотеку драйвера дисплея мне использовать?

Для большинства плат Pimoroni Inky официальная библиотека Pimoroni MicroPython охватывает всё. На C++ на Arduino или PlatformIO, GxEPD2 поддерживает самый широкий диапазон панелей с наименьшей суматохой.