Нативный HomeKit датчик DHT11 и виртуальная кнопка

27 января 2021, 16:37

Лежащий без дела модуль DTH ESP-01S не давал покоя, и все-таки очень хотелось из него сделать нативный датчик температуры/влажности с виртуальным переключателем (ну или WiFi кнопкой) для HomeKit (на спруте уже есть подобная статья, но с той прошивкой, после обрыва питания, датчик не отвечает). 

DHT11 подключается к GPIO2 и есть еще свободный GPIO0 для кнопки переключателя. На самом модуле уже есть кнопка (которая "звонится" на GPIO0), но она не работает как обычное замыкание GPIO0 на землю.
Схему подключения к конвертеру выбрал такую: 

1600x_image.png?1611062243

Прошивался с помощью esptool стандартной RavenCore прошивкой fullhaaboot.bin.
Стираем и прошиваем, не забывая при каждом подключении соединять GPIO0 на землю.

cd c:\esptool
esptool.py --port COM13 erase_flash
cd c:\esptool
esptool.py --port COM13 --baud 115200 write_flash -fs 1MB -fm dout -ff 40m 0x0 fullhaaboot.bin

Процесс конфигурации устройства

После прошивки, подключаем к модулю и подаем питание. 
Перед подключением к ней, необходимо скопировать JSON Config в буфер обмена для вставки его в настройках (я себе его в сообщении телеграм отправил и просто скопировал).
По сути, это просто модифицированный вариант  JSON Config для Sonoff Basic. Просто добавлен датчик DHT11 на GPIO2 с опросом каждые 4 секунды и коррекцией температуры на 10 градусов (какой-то кривой попался датчик). Возможно, у вас будет датчик лучшего качества и тогда нужно изменить значение Z.

{ "c":{ "l":13, "b":[ { "g":0, "t":5  } ] }, "a":[ { "0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]},"b":[{"g":0}]}, { "t": 24, "b": [], "g": 2, "j": 4, "z": -10}]}

После подачи питания, ждем появления точки доступа (имя сети будет в виде - HAA******) для последующей настройки. 

1600x_image.png?1611062244

ВНИМАНИЕ! Изначально очень важно правильно все настроить, иначе придется прошивать заново! Как корректно сбросить настройки прошитого, я так и не нашел.

1600x_image.png?1611062246

  • JSON Config.
  • Auto OTA Updates.
  • WiFi conection mode.
  • Затем необходимо указать домашнюю сеть Wi-Fi и ввести пароль от нее, после чего нажимаем на кнопку «Save» и ждем около 10 минут, пока загрузиться OTA обновление с интернета.

После, в приложении "Дом" уже добавляете новый аксессуар, который будет называться так же, как и SSID вашей ESP-01 (HAA******). Код сопряжения стандартный для RavenCore - 021-82-017.

Процесс сопряжения с Apple HomeKit

1600x_image.png?1611062243
1600x_image.png?1611062243
1600x_image.png?1611062248
1600x_image.png?1611062249
1600x_image.png?1611062250
1600x_image.png?1611062253
1600x_image.png?1611062254
1600x_image.png?1611062255

Виртуальная кнопка

Кнопку прикрутил напрямую на замыкание GPIO0 с землей. При нажатии, отлично переключается в HomeKit. Вообще суть добавления этой кнопки - это дополнительный выключатель света для ребенка, который пока еще не достает до выключателя на стене, а переносить подрозетник ниже не хотелось. 

В приложении "Дом" кнопка и выключатель света объединяются четырьмя автоматизациями.

1600x_image.png?1611062256
1600x_image.png?1611062257
1600x_image.png?1611062259
1600x_image.png?1611062260

Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @SprutAI

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. (Alecseyyy)
    (Alecseyyy) 3 месяца назад
    1000x_image.jpg?16118142461000x_image.jpg?1611814290

    DTTH11 ????? Серьезно???? Зачем покупать эту помойку? Он не работает от слова совсем! 


    • Дмитрий Брылев (fuzytsfcrew)
      Дмитрий Брылев (fuzytsfcrew) 3 месяца назад

      Помойка покупалась года 4 назад и просто лежала без дела. Никто ж не запрещает на  GPIO2 вместо него поставить 18В20 или DHT22 (просто json потом подправить)

      Суть статьи - сам выносной выключатель (ну и доведения до рабочего состояния этого модуля из статьи, которая уже была на сайте)

  2. Жданов Павел (cybercat)
    Жданов Павел (cybercat) 3 месяца назад

    Да, лучшая прошивка для 8266 под HomeKit. Недавно там появилась поддержка I2C и я даже прикупил MCP2301, но все никак руки не доходят...

  3. Павел Ник (bj_tracer)
    Павел Ник (bj_tracer) отредактировано 3 месяца назад

    некоторый скрины не актуальные - в версии haa 4.9.0 Хосе отказался от каптивы и теперь нужно ручками на страничку девайса заходить

    +забываем, что у есп-01 есть еще GPIO 3 и 4 - пины RX/TX. 3 вообще прекрасно работает. 4 не пробовал тк некоторые писали, что он может нестабильно работать с датчиками, как триггер кнопки скорее всего проблем не будет ;)

    DHT-11 не рекомендуется каждые 4 сек опрашивать, может повиснуть
    ему норм 30 сек будет

  4. Павел Ник (bj_tracer)
    Павел Ник (bj_tracer) 3 месяца назад

    "Как корректно сбросить настройки прошитого, я так и не нашел."
    Для входа в сетап у вас в начале json в разделе конфигурации прописана кнопка:

    "c":{ "l":13, "b":[ { "g":0, "t":5  } ]

    Те удержание вашего выключателя (притягивание GPIO 0 к массе) до полной загрузки вводит устройство в сетап - откл\вкл питание и нажимаем кнопку в течение 3х сек после этого, держим пока не моргнет светодиод передачи данных. Теперь на устройство можно зайти через браузер по его адресу и поправить конфиг.
    Вроде бы при некорректном конфиге в разделе аксессуаров устройство сами будет уходить в сетап (вы его не увидите при добавлении в ХК, только к ви-фи своему сможете подключить).

    Если не прописать такой конфиг, то есть встроенный механизм:
    " To enter setup mode, you must quickly toggle any action switch/button 8 times (physical or from Home App). You can secure this method by declaring a time after device boot to perform it. 

    If the device's configured WiFi network is unavailable when entering setup mode it will switch to AP mode and you will need to connect directly to it via the generated SSID e.g. HAA-XXXXXX (where XXXXXX are the last six characters of its Ethernet MAC address), and then open URL in a web browser:

    http://192.168.4.1:4567

    Emergency Setup Mode: If a device has its power cut or freezes within 2 seconds of boot, next time it boots it will go directly to setup mode."





    • Дмитрий Брылев (fuzytsfcrew)
      Дмитрий Брылев (fuzytsfcrew) 3 месяца назад

      Сколько не пытался ввести его в сетап - никак не получалось. Может дребезг контактов на выключателе...

      • Павел Ник (bj_tracer)
        Павел Ник (bj_tracer) 3 месяца назад

        У вас физический выключатель для ребенка кнопкой или нормальным перекидным сделан?

        Может стоит его повесить на пин rx (gpio3), а кнопку сброса убрать внутрь и не прописывать ее в аксессуары, оставить только в начальном конфиге для входа в сетап.

  5. (JeyT)
    (JeyT) 2 месяца назад

    Всем привет.

    Попробовал перепрошить свой ESP01, прошивается норм, но вафля не появляется, в чем может быть беда?

    Подскажите плиз

    1000x_image.jpg?1614008108
К списку статей

Устройства в материале

Sonoff Basic

Производитель: ITEAD

ESP-01

Производитель: Espressif Systems
Заказать на:

Датчик температуры/влажности DHT11

Производитель: noname
Заказать на:
JD

Скидки для сообщества

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

Тематические чаты

DIY

Похожие статьи

09 ноября 2018, 20:54
Кейс создания умного дома без каких либо прокладок в виде Raspberry pi
17 декабря 2019, 17:49
Универсальный привод для автоматического удаленного открытия окон с простой интеграцией в умные дома.
04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
15 октября 2018, 09:05
Прошивка для Sonoff c нативным HomeKit
02 ноября 2018, 12:14
Кнопка звонка с уведомлениями в HomeKit
15 ноября 2018, 09:42
Способы автоматизации механических ворот
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
01 октября 2018, 07:43
Нативный HomeKit на ESP8266
30 августа 2019, 07:28
Несколько нетривиальных способов использования датчика открытия окон/дверей от Xiaomi/Aqara.
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit