Беспроводной монитор OctoPrint для 3D‑принтера
К чему служит этот монитор и зачем он нужен
Этот мини‑монитор позволяет отслеживать статус 3D‑печати без необходимости открывать веб‑интерфейс OctoPrint и запоминать IP‑адрес. Он подключается к OctoPrint через API и отображает ключевые параметры:
- прошедшее время печати;
- оставшееся время и прогресс‑бар;
- температура стола;
- температура сопла (инструмента);
- процент завершения работы;
- текущее время (24‑ч/AM‑PM);
- получение OTA‑обновлений прошивки;
- отображение погоды, когда принтер не печатает.
Устройство автоматически выключает экран при отключении принтера и включает при подключении. Это компактный Wi‑Fi монитор, который удобно размещать на рабочем столе, полке или рядом с принтером.

Кому подходит этот проект
- Хоббистам и энтузиастам 3D‑печати, кто хочет быстрый доступ к статусу печати.
- Малым мастерским и лабораториям, где несколько принтеров и нужно визуальное уведомление о состоянии.
- Образовательным классам для демонстрации API‑интеграции и IoT‑проекта.
Краткое определение: OctoPrint API — HTTP интерфейс OctoPrint, через который можно получать статус и управлять принтером программно.
Необходимые компоненты
- WEMOS D1 Mini (или совместимая плата ESP8266).
- OLED‑дисплей 0.96” или 1.3” с разрешением 128×64 (SSD1306 или SH1106).
- Кабель micro‑USB для питания и прошивки.
- OctoPrint‑сервер (Raspberry Pi или старый Android‑телефон с установленным OctoPrint).
- 3D‑напечатанный корпус (шаблоны доступны на Thingiverse или в репозитории проекта).
- Несколько джампер‑проводов для соединения SDA/SCL/VCC/GND.
Совет: для стабильной работы питания используйте качественный USB‑адаптер 5 В/1–2 А или Powerbank с постоянным питанием.
Шаг 1: Прошивка платы
- Зайдите на страницу релиза проекта «printer‑monitor» и скачайте подходящую прошивку: SSD1306 (0.96”) или SH1106 (1.3”).
- Установите драйвер CH340 для вашей операционной системы, если плата не определяется.
- Скачайте инструмент ESPHome Flasher с GitHub.
- Подключите D1 Mini к компьютеру через micro‑USB.
- Запустите ESPHomeFlasher, нажмите на иконку обновления списка последовательных портов и выберите COM‑порт.
- Нажмите “Browse” и укажите скачанный бинарный файл прошивки.
- Нажмите “Flash” и дождитесь завершения (несколько секунд до пары минут).
Альтернатива: можно скачать исходники проекта и редактировать их в Arduino IDE или ESPHome YAML, если требуется кастомизация. Пример минимального ESPHome‑скетча для SSD1306 (упрощённо):
esphome:
name: octoprint_monitor
platform: ESP8266
board: d1_mini
wifi:
ssid: "YOUR_SSID"
password: "YOUR_PASS"
i2c:
sda: D2
scl: D5
display:
- platform: ssd1306_i2c
model: "SSD1306 128x64"
address: 0x3C
lambda: |-
it.print(0, 0, id(font), "OctoPrint Monitor");
# Далее — интеграция с HTTP API для получения статусаПримечание: приведённый пример даёт основу; конкретная реализация в проекте использует дополнительные HTTP‑вызовы и форматирование для прогресс‑бара.
Шаг 2: Настройка Wi‑Fi и OctoPrint API
После прошивки устройство загрузится в режиме точки доступа (Access Point).
- В настройках Wi‑Fi вашего смартфона или ПК подключитесь к сети OctMon‑xxxxx.
- Откройте браузер и перейдите по адресу 192.168.244.1.
- Нажмите “Configure WI‑Fi”, выберите домашнюю сеть, введите пароль и сохраните.
- После перезагрузки устройство получит IP‑адрес в вашей сети — адрес появится в ESPHome Flasher.
- Перейдите на этот IP в браузере и откройте веб‑интерфейс монитора.
- Откройте меню и выберите “Configure”. Введите логин и пароль (по умолчанию admin/password) и войдите.
- Войдите в веб‑интерфейс OctoPrint, перейдите в “Settings” (иконка гаечного ключа) → “API”.
- Скопируйте API‑ключ OctoPrint и вставьте его в настройки OctoPrint Monitor вместе с IP‑адресом и портом (по умолчанию 80).
- При необходимости включите аутентификацию: укажите учётные данные OctoPrint в настройках монитора и сохраните.
- Дополнительно можно переключить ориентацию экрана (Flip display) и другие опции в меню.
Настройка погоды (опционально)
- В меню выберите “Weather”.
- Зарегистрируйтесь на OpenWeatherMap.org, перейдите в раздел API Keys и скопируйте ключ.
- Вставьте ключ в настройки монитора.
- В OpenWeatherMap найдите ваш город и скопируйте 7‑значный City ID из URL.
- Выберите метрические единицы и язык, сохраните. Монитор будет показывать погоду, когда принтер простоит в состоянии “idle”.
Шаг 3: Аппаратное подключение OLED к D1 Mini
Подключите дисплей к плате следующим образом:
- SDA → D2
- SCL → D5
- VCC → 5V
- GND → G
Примечание: некоторые OLED‑модули работают от 3.3 В; проверьте спецификацию дисплея. На большинстве модулей SSD1306 допустима подача 5 В через встроенный преобразователь.
После подключения подайте питание через micro‑USB и проверьте, отображается ли информация. Если экран пуст, проверьте адрес I2C (обычно 0x3C или 0x3D) и целостность соединений.
Используйте термоклей или двусторонний скотч для фиксации дисплея. Затем установите корпус и подключите питание — к Powerbank, USB‑адаптеру или порту на принтере, если есть доступный и стабильный 5 В источник.
Рекомендации по расположению и использованию
- Разместите монитор так, чтобы дисплей был виден из рабочей зоны.
- Избегайте прямого попадания расплавленного материала и филамента на электронику.
- Не оставляйте устройство под высокой температурой или во влажной среде.
Критерии приёмки
- Монитор успешно подключается к сети Wi‑Fi и получает IP‑адрес.
- Веб‑интерфейс монитора открывается и принимает API‑ключ OctoPrint.
- OLED корректно показывает статус печати, прогресс и температуры во время задачи.
- Экран выключается при отсутствии соединения с OctoPrint и включается при восстановлении.
- Обновления прошивки можно проводить OTA (если включено) или через ESPHome Flasher.
Тесты и приёмочные сценарии
- Проверка сети: отключите Wi‑Fi и убедитесь, что монитор уходит в режим AP.
- Подмена API‑ключа: вставьте неверный ключ — монитор должен показывать ошибку авторизации.
- Разрыв соединения: отключите принтер от сети — монитор должен уйти в режим ожидания.
- Нагрузка: запустите длительную печать и проверьте стабильность отображения температуры и времени.
Типовые проблемы и их решения
- OLED не светится: проверьте питание, SDA/SCL, адрес I2C. Попробуйте другой модуль.
- Прошивка не заливается: обновите драйвер CH340, переподключите плату, выберите правильный COM‑порт.
- API‑ошибка 401: проверьте, что ключ OctoPrint действителен и в настройках OctoPrint включены разрешения API.
- Нестабильный Wi‑Fi: переместите роутер ближе или используйте усилитель сигнала; при необходимости закрепите статический IP в роутере.
Безопасность и приватность
- Храните API‑ключ OctoPrint в секрете — не публикуйте его.
- Если устройство доступно из внешней сети, используйте VPN или защищённый проброс портов; по возможности держите OctoPrint за NAT и не открывайте порты без необходимости.
- Регулярно обновляйте прошивку монитора и OctoPrint для закрытия уязвимостей.
- Для общественных или учебных сетей рассмотрите отдельную VLAN для IoT‑устройств.
Альтернативные подходы
- Использовать полноценный Raspberry Pi Zero W с маленьким HDMI‑или SPI‑дисплеем и полноценным браузером Kiosk для отображения OctoPrint веб‑интерфейса.
- Интеграция уведомлений через Telegram/Pushbullet вместо физического дисплея.
- Готовые коммерческие панели на базе ESP32 с сенсорным экраном для локального управления.
Уровни зрелости проекта
- Уровень 1 — прототип: базовая прошивка, отображение статуса и температуры.
- Уровень 2 — стабильный: поддержка OTA, настройки через веб‑интерфейс, отображение погоды.
- Уровень 3 — продвинутый: шифрование трафика, авторизация, несколько профилей принтеров, кастомные виджеты.
Роль‑ориентированные чеклисты
Для хоббиста:
- Проверить питание и провода.
- Прошить базовую прошивку и подключить к Wi‑Fi.
- Вставить API‑ключ и протестировать простую печать.
Для администратора мастерской:
- Настроить отдельную VLAN для IoT.
- Установить монитор на стабильное питание.
- Регулярно проверять обновления прошивки и бэкап настроек.
Для преподавателя:
- Подготовить демонстрационный образ с короткой инструкцией.
- Преподавать базовые HTTP‑запросы к OctoPrint API как практическое занятие.
Пошаговый SOP для быстрой сборки (коротко)
- Подготовьте плату и OLED.
- Прошейте флеш через ESPHome Flasher.
- Подключитесь к AP, введите Wi‑Fi и сохраните.
- Вставьте API‑ключ OctoPrint и IP‑адрес.
- Подключите OLED и проверьте отображение.
- Закрепите в корпусе и подключите к питанию.
Мини‑методология для кастомизации интерфейса
- Определите набор виджетов (время, прогресс, температура, погода).
- Настройте ESPHome/прошивку для получения JSON‑ответов из OctoPrint (/api/job и /api/printer).
- Парсите значения и отрисовывайте текст/бар на OLED.
- Добавьте таймауты и повторы при ошибках сети.
Пример запроса к OctoPrint API (curl):
curl -H "X-Api-Key: YOUR_API_KEY" http://OCTOPRINT_IP/api/jobОтвет содержит JSON с полями progress, state, estimatedTime и др. Разбор этих полей позволяет отрисовать прогресс‑бар и оставшееся время.
Шаблон проверки перед отправкой в эксплуатацию
- Прошивка актуальна.
- Wi‑Fi стабильно держит соединение 24 часа.
- OLED показывает корректные значения в режиме печати и idling.
- Защита доступа к настройкам настроена (сменён admin‑пароль).
- Источник питания проверен на устойчивую выдачу 5 В.
Короткая галерея крайних случаев
- Принтер меняет IP по DHCP: назначьте статический IP или резервирование по MAC в роутере.
- Несовместимый дисплей: используйте прошивку SH1106 или SSD1306 в зависимости от модуля.
- Низкая яркость/контраст: отрегулируйте в прошивке или вручную через веб‑панель, если опция доступна.
Заключение
Беспроводной монитор для OctoPrint — недорогой и полезный проект для любого, кто часто печатает на 3D‑принтере. Он экономит время и обеспечивает визуальный контроль состояния печати без необходимости постоянно проверять веб‑интерфейс. Проект легко модифицируется: можно добавить уведомления, поддержать несколько принтеров, интегрировать голосовые оповещения или расширить дисплей информации.
Ключевые рекомендации: держите API‑ключ в безопасности, используйте надёжное питание и проверяйте совместимость OLED‑модуля с прошивкой.
Важно: перед началом убедитесь, что вы понимаете базовые концепции работы с ESP‑платами и безопасной сетевой конфигурации.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента