Самодельная HomeKit-погодная станция на ESP8266, совместимая с Elgato Eve Degree
Важно: если вам нужно только отображать температуру и влажность — OLED-дисплей опционален. Для интеграции барометрии и высоты потребуется BME280 и приложение Eve для HomeKit.
Краткое описание проекта

Этот проект имитирует поведение официального датчика Elgato Eve Degree, но собирается из доступных компонентов. Аппарат распознаётся Apple Home как устройство типа Eve Degree и передаёт температуру, влажность и барометрическое давление в HomeKit. Подходит для локальной автоматизации и интеграции с Home Assistant.
Факты в одном предложении:
- Стоимость комплектующих — обычно менее $10 при покупке модулей оптом или на распродажах.
- Для прошивки используются публичные бинарные файлы (rboot.bin, blank_config.bin, main.bin).
- Стандартная скорость прошивки: 115200 бод.
- Код для добавления в Home: 02182017.
Что потребуется
Краткий перечень компонентов и альтернатив:
- Плата D1 Mini или NodeMCU (ESP8266). Альтернатива: Wemos D1.
- Сенсор BME280 (температура, влажность, барометрическое давление). Альтернатива: BMP280 (без влажности).
- OLED-дисплей SSD1306 0.96” или 1.3” (128×64) — опционально, служит для локального отображения.
- Несколько перемычек (Dupont), при необходимости пайка — припой и паяльник.
- Micro USB кабель и 5V USB-адаптер питания.
- ПК с macOS или Windows для прошивки.
- Корпус: 3D-печатный бокс (например, дизайн с Printables) или готовый корпус.
Примечание по питанию: устройство рассчитано на 5V через micro-USB; при переходе на батарейное питание потребуется схема для понижения/стабилизации и использовать режим глубокого сна (если прошивка это поддерживает).
Подготовка и прошивка прошивки HomeKid
Пояснение терминов: прошивка — это программное обеспечение, записываемое в флеш-память микроконтроллера, которое управляет его поведением.
Перед началом: убедитесь, что у вас загружены файлы прошивки (rboot.bin, blank_config.bin, main.bin) из репозитория, выбранного автором прошивки HomeKid.
На macOS
- Скачайте NodeMCU-PyFlasher.dmg с GitHub и установите программу.
- Подключите D1 Mini/NodeMCU к macOS через micro-USB и выберите соответствующий последовательный порт (Serial port) в PyFlasher.
- Нажмите Browse и укажите файл main.bin.
- В поле скорости (Baud Rate) выберите 115200.
- Выберите режим прошивки Quad I/O (QIO).
- Поставьте опцию Erase Flash и подтвердите yes, wipes all data.
- Нажмите Flash NodeMCU и дождитесь завершения. После успешной записи отключите питание и переходите к настройке сети.
На Windows
- Подключите плату к компьютеру через micro-USB.
- Скачайте Espressif Flash Download Tool и распакуйте архив.
- Запустите файл flash_download_tool_xx.exe.
- В поле Chip Type выберите ESP8266 и нажмите ОК.
- Отметьте первые три чекбокса и заполните поля так:
- Адрес 0x0000 — файл rboot.bin.
- Адрес 0x1000 — файл blank_config.bin.
- Адрес 0x2000 — файл main.bin.
- Установите параметры:
- Baud Rate: 115200
- Flash Size: 4MB
- Flash Mode: DIO или QIO
- SPI Speed: 40MHz
- Выберите COM-порт, к которому подключена плата, и нажмите Start. Процесс занимает до двух минут. После успешной записи отключите питание и переходите к подключению сети.

Важно: опция «Erase Flash» удалит ранее записанные настройки. Если вы перепрошиваете повторно, не забывайте сохранить необходимые конфигурации заранее.
Подключение к Wi‑Fi сети
- После прошивки подключите плату к питанию.
- На iPhone или другом iOS-устройстве откройте «Настройки» → «Wi‑Fi» и подключитесь к точке доступа HomeKid-XXXX.
- Пароль: 12345678.
- В появившемся окне настройки введите данные вашей домашней сети (SSID и пароль) и нажмите «Подключиться» (Join).
- Устройство автоматически прекратит режим точки доступа и подключится к вашей WLAN.
Если пароль введён неверно, через некоторое время точка доступа HomeKid снова появится — повторите ввод с правильным паролем.
Подключение компонентов — схема и пояснения

Рекомендуемая распиновка (I2C):
- D1 (GPIO5) → SCL (BME280)
- D2 (GPIO4) → SDA (BME280)
- D5 (GPIO14) → SDA (SSD1306 OLED)
- D7 (GPIO13) → SCL (SSD1306 OLED)
- 3.3V → VCC/VIN (BME280 и SSD1306)
- G (GND) → GND (BME280 и SSD1306)
Примечания и советы:
- BME280 работает по интерфейсу I2C; проверьте, что адреса устройств не конфликтуют (обычные адреса: 0x76 или 0x77 для BME280, 0x3C для SSD1306). Если используются оба устройства на одном I2C-шине, можно подключить их к тем же линиям SDA/SCL, используя одни и те же SDA и SCL пины платы (D1/D2). В приведённой распиновке OLED подключён к другим GPIO — это делается для избежания конфликта с конкретной прошивкой; следуйте схеме, указанной в репо прошивки.
- Питание: используйте 3.3V с платы D1 Mini. Не подавайте 5V напрямую на VCC модулей, если они не рассчитаны.
- Если дисплей не отображает данные, проверьте подтягивающие резисторы I2C и адрес устройства.
Добавление погодной станции в приложение Apple Home (HomeKit)
- Подключите устройство к питанию.
- Откройте приложение «Дом» на iPhone, iPad или Mac.
- Нажмите «+» и выберите «Добавить аксессуар».
- Нажмите «Другие действия…» (More Actions…) и выберите обнаруженное устройство датчика температуры/влажности.
- Нажмите «Добавить в любом случае» (Add Anyway) и введите код: 02182017. Нажмите «Продолжить».
- Выберите комнату/местоположение и нажмите «Продолжить» → «Готово».
После добавления датчик появится в выбранной комнате. Для просмотра барометрического давления и высоты рекомендуем установить приложение Eve для HomeKit — оно отображает данные более наглядно.
Отладка и распространённые проблемы
Когда повторная прошивка необходима:
- Точка доступа HomeKid-xxxx не видна в настройках Wi‑Fi.
- Датчик не отображается в приложении Home.
Действия:
- Отключите питание и переподключите плату.
- Проверьте правильность соединений и целостность проводов.
- Если проблема сохраняется — заново зачистите флеш и прошейте устройство согласно разделу прошивки.
Классический чек-лист для диагностики:
- Питание подаётся (LED на плате мигает).
- COM-порт видим в системе (для прошивки).
- Файлы прошивки целы (проверить контрольную сумму при наличии).
- Правильно указаны адреса и размер флеша (4MB).
Mermaid — блок принятия решений при проблемах:
flowchart TD
A[Не видно HomeKid-xxxx в Wi‑Fi] --> B{Питание есть?}
B -- Нет --> C[Проверить кабель и адаптер]
B -- Да --> D{Прошивка завершилась успешно?}
D -- Нет --> E[Перепрошить устройство]
D -- Да --> F{Конфликт I2C?}
F -- Да --> G[Проверить адреса устройств и провода SDA/SCL]
F -- Нет --> H[Сброс настроек Wi‑Fi и повторная настройка]Альтернативные подходы и расширения
- Использовать ESP32 вместо ESP8266 для большей гибкости (больше GPIO, Bluetooth). Требует соответствующей прошивки.
- Применить только BME280 и общую шину I2C для OLED и сенсора (сэкономит провода).
- Организовать питание от батареи с режимом глубокого сна и редкой отправкой данных (экономия энергии; требуется поддержка в прошивке).
- Интегрировать в Home Assistant через MQTT или через HomeKit Accessory Protocol (HAP) при использовании соответствующей прошивки/моста.
Рекомендации по монтажу и корпусу
- Поместите датчик в место с хорошей циркуляцией воздуха, вдали от прямого солнечного света и источников тепла (батарей, обогревателя).
- Если корпус 3D-печатный, предусмотрите вентиляционные отверстия и сеточку от пыли.
- Для уличного применения требуется влагозащищённый корпус и герметизация кабелей.
Краткое руководство установки корпуса:
- Разместите плату и модули на монтажной плате или в стойках, чтобы не было контакта компонентов друг с другом.
- Закрепите BME280 так, чтобы его отверстия для давления были доступны (не закрывайте герметично).
- Поместите разъём micro-USB на доступном краю для удобства питания и прошивки.
Критерии приёмки
- Устройство создаёт точку доступа HomeKid-XXXX после прошивки.
- Устройство подключается к домашней Wi‑Fi сети при вводе правильного пароля.
- Температура и влажность отображаются в приложении Home в указанной комнате.
- Барометрическое давление и высота доступны в приложении Eve (при установке).
Тестовые сценарии и приёмка
- Проверка прошивки: подключить к компьютеру, проверить COM-порт и скорость 115200, прошить и убедиться, что процесс завершился без ошибок.
- Проверка Wi‑Fi: подключиться к AP HomeKid-XXXX, ввести SSID/пароль домашней сети — устройство должно подключиться без зацикливания.
- Проверка HomeKit: добавить аксессуар в приложение Home используя код 02182017 — аксессуар виден, значения обновляются.
- Проверка питания: устройство стабильно работает при 5V USB без перезагрузок.
Безопасность и приватность
- Данная сборка использует локальное подключение к вашей домашней сети. Убедитесь, что ваша Wi‑Fi сеть защищена надёжным паролем и WPA2/3.
- Не размещайте устройство в публичных сетях и не раскрывайте код HomeKit третьим лицам.
- При использовании интеграции через облачные сервисы учитывайте их политику хранения данных.
Обслуживание и калибровка
- Для точности измерений сравните показания BME280 с эталонным термометром/барометром и при необходимости выполните калибровку в программной части (если прошивка поддерживает поправки).
- Периодически протирайте корпус и проверяйте разъёмы питания.
Часто задаваемые вопросы
Вопрос: Что делать, если Home не видит устройство? Ответ: Проверьте питание, сеть, попробуйте снова прошить и убедитесь, что вы используете правильный код 02182017.
Вопрос: Могу ли я использовать другой датчик вместо BME280? Ответ: Да, можно использовать BMP280 (без влажности) или отдельные датчики температуры и влажности, но потребуется адаптация прошивки.
Вопрос: Можно ли добавить несколько таких станций в один дом? Ответ: Да. Каждое устройство добавляется как отдельный аксессуар в Home. Следите за уникальностью имён и местоположений.
Заключение
Этот проект даёт недорогой и гибкий способ получить локальную погодную станцию, интегрированную в Apple Home и в экосистемы умного дома. Вы получаете контроль над данными и возможность расширения функционала (автоматизации, оповещений, интеграции с Home Assistant) без зависимости от коммерческих облачных сервисов.
Важно: перед использованием на улице обеспечьте влагозащиту и защиту от прямого солнечного воздействия.
Короткая передача для социальных сетей: простая и доступная инструкция по созданию HomeKit-совместимой погодной станции на ESP8266 с BME280, прошивкой HomeKid и интеграцией в приложение Apple Home.
Похожие материалы
Изменение размера фото в Adobe Premiere Pro
Nearby Sharing в Windows 10: быстрый обмен файлами
Медиа‑источник не отображается в OBS — как исправить
Поменять папку для скриншотов в One UI 5.1
Собрать мощный дешёвый ПК из серверных комплектующих