Настольные приложения для часов ESP32 nixie

Часы ESP32 в стиле Nixie, которые имитируют теплое оранжевое свечение настоящих ламп IN-14 на OLED-панелях и одновременно показывают время и погоду, постоянно обсуждаются на форумах мейкеров. В прошлом месяце проект на XDA показал, как весь проект можно собрать на столе менее чем за тридцать долларов. Лучшие приложения для создания часов ESP32 в стиле Nixie — это те, которые скрывают сложность инструментария ESP32 и позволяют нам сосредоточиться на коде дисплея.

Мы собрали восемь настольных приложений, которые охватывают прошивку микроконтроллера, схемы подключения, обновления OTA и интеграцию с API погоды, которые связывают весь проект воедино. Каждое из них работает на Windows, macOS и Linux (некоторые только на Linux), и у каждого есть работающий бесплатный вариант.

На что обратить внимание при выборе приложения для ESP32

Проект часов ESP32 делится на несколько отдельных этапов: написание микропрограммы, прошивка через USB или OTA, подключение дисплея, интеграция с API погоды и мониторинг устройства после его подключения. При выборе приложений мы обращаем внимание на:

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

Приложение Лучше всего для Бесплатный план Платформы
ESPHome Конфигурационная микропрограмма Бесплатно, открытый исходный код Windows, macOS, Linux
Arduino IDE Микропрограмма для начинающих Бесплатно Windows, macOS, Linux
PlatformIO IDE для опытных пользователей Бесплатно, платный уровень Windows, macOS, Linux
VS Code Хост для PlatformIO Бесплатно, открытый исходный код Windows, macOS, Linux
Home Assistant Интеграция во время выполнения Бесплатно, открытый исходный код Windows, macOS, Linux
Fritzing Схемы подключения Платный Windows, macOS, Linux
MQTT Explorer Отладка на уровне сообщений Бесплатно Windows, macOS, Linux
OpenWeatherMap API и панель управления погоды Бесплатный уровень Веб (кроссплатформа)

1. ESPHome, лучше всего для конфигурационной микропрограммы

ESPHome — это самый быстрый способ запустить часы ESP32 в стиле Nixie, если написание C++ не является целью. Настройте все устройство в файле YAML (драйвер дисплея, часы реального времени, датчик погоды, цель OTA), и ESPHome для сборки часов ESP32 в стиле Nixie обрабатывает компиляцию и шаг прошивки. Он также автоматически генерирует устройство Home Assistant.

Где это не получается: пользовательские эффекты отображения (анимированные переходы трубок, кривые затемнения) иногда требуют люков выхода на C++. Добавление блока lambda работает, но нарушает идеал только на YAML.

Цены:

Итог: лучший выбор, если часы будут жить внутри установки Home Assistant. Начните отсюда.

Загрузить: ESPHome | GitHub

2. Arduino IDE, лучше всего для начинающих

Arduino IDE — это классический способ начать разработку на ESP32. Arduino IDE для проектов часов Nixie работает, потому что большинство учебных пособий и примеров сообщества ориентированы на него, и его менеджер библиотек хорошо обрабатывает варианты плат ESP32 с версии 2.0.

Где это не получается: редактор базовый. Управление более чем несколькими исходными файлами становится неудобным, а последовательный монитор не имеет фильтрации.

Цены:

Итог: идеально подходит для первой сборки часов ESP32. Переходите на PlatformIO, когда набросок перерастет в один файл.

Загрузить: arduino.cc

3. PlatformIO, лучше всего для IDE опытного пользователя

PlatformIO работает внутри VS Code и предоставляет нам надлежащее управление многофайловыми проектами, модульные тесты и блокировку зависимостей. PlatformIO для сборок часов ESP32 в стиле Nixie — это то, на что мы переходим, когда проект имеет более одного экрана или конечного автомата.

Где это не получается: кривая обучения круче, чем Arduino IDE. Примеры сообщества чаще ориентированы на Arduino IDE, поэтому портирование иногда необходимо.

Цены:

Итог: правильный инструмент для серьезной сборки. Используйте вместе с VS Code.

Загрузить: platformio.org

4. VS Code, лучше всего как хост для PlatformIO

VS Code — это место, где PlatformIO, плагин редактора ESPHome и экспорт диаграмм Fritzing сходятся. VS Code для разработки часов ESP32 важен как интегрированный дом, а не как автономный инструмент.

Где это не получается: рынок расширений шумный. Получение чистой установки означает отключение расширений, которые вы думали, что нужны.

Цены:

Итог: если PlatformIO установлен, VS Code уже там.

Загрузить: code.visualstudio.com | vscodium.com

5. Home Assistant, лучше всего для интеграции во время выполнения

Home Assistant — это место, где часы становятся частью более широкой системы: трубки тускнеют, когда свет в комнате гаснет, погодная панель обновляется с местного датчика вместо Интернета. Home Assistant для интеграции часов ESP32 работает, потому что устройства, созданные ESPHome, автоматически отображаются как сущности первого уровня.

Где это не получается: чрезмерно, если часы автономны и целью является просто дисплей. Стоимость настройки — это полный сервер домашней автоматизации.

Цены:

Итог: стоит настроить, если часы — одно из нескольких самодельных устройств в доме.

Загрузить: home-assistant.io

6. Fritzing, лучше всего для схем подключения

Fritzing преобразует эскиз макета в общую диаграмму, которую будущий я (или друг, перестраивающий проект) может действительно понять. Fritzing для подключения часов ESP32 четко документирует назначение выводов и экспортирует SVG для журнала сборки.

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

Цены:

Платформы: Windows, macOS, Linux (исходные сборки), Debian и Ubuntu (пакеты)

Итог: небольшая плата за схему подключения, которая экономит целый вечер. Стоит один раз.

Загрузить: fritzing.org

7. MQTT Explorer, лучше всего для отладки на уровне сообщений

MQTT Explorer показывает каждую сохраненную тему, которую часы публикуют и потребляют, когда они сопряжены с Home Assistant. MQTT Explorer для отладки ESP32 — это то, что мы открываем, когда погодная панель становится пустой и нам нужно знать, получает ли брокер обновления вообще.

Где это не получается: поддерживаемое ветвление исходного проекта — это место, где приземляются последние обновления. Некоторые загрузки по-прежнему указывают на старую неподдерживаемую версию.

Цены:

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

Итог: инструмент отладки, который нам не был нужен, пока он нам был. Установите его заранее.

Загрузить: mqtt-explorer.com | GitHub

8. OpenWeatherMap, лучше всего для API погоды

OpenWeatherMap — это источник погоды с бесплатным уровнем, на который нацелены большинство проектов часов ESP32. OpenWeatherMap для погодных панелей часов ESP32 — это безопасное значение по умолчанию: широкое покрытие, щедрый бесплатный уровень и как сообщество-поддерживаемые библиотеки ESP32, так и встроенная интеграция ESPHome.

Где это не получается: предел запросов бесплатного уровня составляет 60 вызовов в минуту и 1000 в день, что хорошо для одних часов, но быстро взрывается, если проект опрашивает слишком агрессивно.

Цены:

Итог: бесплатный уровень охватывает любое разумное использование часов. Следите за предельным количеством вызовов.

Загрузить: openweathermap.org

Как выбрать правильный

Если это первая сборка и Home Assistant уже запущен: ESPHome от начала до конца.

Если это первая сборка и Home Assistant отсутствует: Arduino IDE для рабочего эскиза, затем перейдите на PlatformIO, когда коду потребуется структура.

Если документация по подключению имеет значение (журнал сборки, пост на Hackaday): Fritzing рано, не в конце.

Если погодная панель ведет себя неправильно после развертывания: MQTT Explorer чтобы увидеть, что устройство действительно публикует.

Если серьезной сборке нужна надлежащая изоляция сборки и CI: PlatformIO с VS Code.

FAQ

Нужны ли нам ESPHome или Arduino IDE, оба? Выберите один для микропрограммы. ESPHome быстрее, если часы будут устройством Home Assistant. Arduino IDE быстрее, если вы хотите писать и повторять пользовательский код на C++ без абстракции YAML.

Действительно ли Fritzing стоит платить? Для одноразовой сборки часов, вероятно, нет. Если вы размещаете сборку в Интернете или планируете ссылаться на подключение через шесть месяцев, диаграмма стоит восемь долларов.

Какой API погоды лучше всего работает на ESP32? OpenWeatherMap имеет самое широкое сообщество и чистейшие примеры ESP32. Tomorrow.io и WeatherAPI оба работают, но имеют более тонкое охватывают ESP32.

Могу ли я использовать ту же установку для других проектов ESP32? Да. ESPHome, PlatformIO и Home Assistant масштабируются от часов к дюжине датчиков без изменения инструментария.

Работают ли эти приложения на Linux? Все они. ESPHome работает как пакет Python, Arduino IDE и PlatformIO поставляются с собственными сборками Linux, а Home Assistant работает чище под Docker на Linux.

Должен ли ESP32 быть в сети для работы часов? Время может быть сохранено модулем RTC автономно. Погодная панель требует подключения к сети для получения обновлений. Установите кэш и откат “последнего обновления”, чтобы дисплей никогда не становился пустым при отключении Wi-Fi.