tthRelay — делаем полоумное WiFi реле на ESP8266

  • Цена: $4
  • Хотите реле которое умеет контролировать нагреватели, холодильники, кондиционеры, увлажнители, осушители, включать электроприборы по расписанию и много чего еще? Тогда прошу под cut…

    За $4 вы получите:

    — ручной режим, включение/выключение

    — по времени от чч: мм до чч: мм

    — по температуре (охлаждение/обогрев) с регулируемым гистерезисом и приоритетом по времени от чч до чч

    — по влажности (увлажнитель/осушитель) с регулируемым гистерезисом и приоритетом по времени от чч до чч

    — поддержка нормально разомкнутого/нормально замкнутого реле

    — режим эмуляции кнопки без фиксации, с регулируемым временем нажатия от 150 миллисекунд до 500 миллисекунд и шагом 50 миллисекунд

    — поддержка сенсоров AHT1x/AHT2x и HTU2xD/SHT2x/Si70xx

    — регистратор температуры и влажности на SPI флэш-память с графиками, до 400 КБ (этого достаточно для хранения годового отчета с шагом 30 минут)

    — при выходе из строя датчика, реле переходит в выключенное состояние и рабочими остаются только режим по времени и ручной

    — если подключены два датчика с разными адресами и один выходит из строя, то во время перезагрузки второй датчик будет использован автоматически

    — hostname WiFi клиента используется в качестве ID реле, в сети может находиться не ограниченное количество реле при условии, что все они имеют разные hostname

    — web интерфейс (Bootstrap + jQuery)

    — автоматическая синхронизация с NTP серверами или в ручную со временем из браузера

    — автоматически переход с летнего на зимнее и обратно

    Реле предоставляется «КАК ЕСТЬ» без каких-либо гарантий. Не оставляйте без присмотра. Автор, не несет ни какой ответственности если у вас что-то пошло не так.

    Для сборки нам понадобятся:

    1. Один модуль на ESP8266. Например WeMos Mini D1 за $1.83

    2. Реле на 5в с обвязкой, например Single channel relay module 5v, за $0.54

    3. Цифровой датчик температуры и влажности AHT1x/AHT2x или HTU2xD/SHT2x/Si70xx, например AHT10 за $0.97

    Качаем мой проект с GitHub и соединяем весть зоопарк по схеме.

    tthRelay - делаем полоумное WiFi реле на ESP8266

    Чтобы реле не давало помехи при переключении, питать устройство лучше по топологии звезда (не используя USB порт WeMos Mini D1). У ESP8266 только два нормальных пина ведущих себя адекватно во время загрузки — это GPIO4/D2 и GPIO5/D1. Все остальные меняют свое состояние. Подробно об этом тут. Чтобы предотвратить ложные срабатывания реле, во время старта ESP8266, нужно добавить RC фильтр 680Ом/220мкФ с постоянной времени длиннее чем переходные процессы на GPIO.

    Прошиваем ESP8266 с помощью Flash Download Tools. Предварительно выставив:

    — SPI speed 80MHz

    — SPI Mode QIO

    — Flash Size 32Mbit

    — поставить галку DoNotChgBin

    — адрес для fw_latest.bin 0x00000

    — адрес для fs_latest.bin 0x200000

    tthRelay - делаем полоумное WiFi реле на ESP8266

    Настройка:

    Если вы все сделали правильно, то после прошивки и нажатия reset у вас должна появится новая точка доступа tthRelay. Подключитесь к ней введя пароль 12345678. После удачного подключения введите в браузере 192.168.4.1 и в появившемся окне User name: admin и Password: 12345678.

    Базовые настройки Access Point Config, Server Config, Station Config и NTP Config аналогичны прошлому проекту — MatrixClock. Повторяться не буду, читаем там. В конце не забываем нажать на Save и Reboot.

    После того как реле подключится к вашему роутеру — WiFi точка доступа tthRelay пропадет. Теперь чтобы попасть в вебморду, на машине с Windows 10, в браузере набираем http://tthRelay.local/. На Android и Win7 используйте IP-адрес реле вместо mDNS. Его можно найти в логах UART на скорости 115200 бит/с или в админке вашего роутера.

    Идем в Sensor или Settings -> Sensor Config выбираем тип сенсора, порты и скорость обмена согласно схеме. Жмем Save и Reboot. Внимание — чем выше скорость, тем короче должны быть провода от сенсора до ESP8266. Рекомендуемые частоты 100KHz..400KHz, на очень длинных проводах допускается 10KHz. Учтите, что на низких скоростях датчику приходится работать дольше и он начинает разогревать сам себя искажая результаты.

    tthRelay - делаем полоумное WiFi реле на ESP8266

    Если вы все сделали правильно на главной странице появится информация о текущей температуре, относительной влажности, точки росы и абсолютной влажности.

    tthRelay - делаем полоумное WiFi реле на ESP8266

    Заходим во вкладку Relay или Settings -> Relay Config выбираем режим — ручной, по времени, по температуре или по влажности. Дальше выбираем время и дни недели для Time mode, желаемую температуру, гистерезис, время для Temperature mode и желаемую влажность, гистерезис, время для Humidity mode. В подменю Advance настраиваем порт к которому подключено реле, полярность сигнала для срабатывания реле, выбираем длительность импульса если нужна эмуляции кнопки без фиксации. Жмем Save и Reboot.

    tthRelay - делаем полоумное WiFi реле на ESP8266

    tthRelay - делаем полоумное WiFi реле на ESP8266

    Если нужен журнал с графиками изменения температуры и влажности идем в Settings -> Recorder Config выбираем частоту выборки, жмем Save и Reboot. Максимальный размер журнала 400КБ. Этого достаточно для хранения годового отчета с шагом 30 минут. После его заполнения он автоматический стирается и на его место пишется новый. Для тех кто любит все хранить есть кнопка Backup data. Формат записи очень простой и не является секретом, если будет нужно расскажу.

    tthRelay - делаем полоумное WiFi реле на ESP8266

    Для просмотра графиков кликаем на Settings -> Recorder Data

    tthRelay - делаем полоумное WiFi реле на ESP8266

    Данная прошивка также должна работать на Sonoff Basic R1 (первой ревизии) и Sonoff TH10/TH16 с сенсором Si7021. С небольшой доработкой можно использовать WiFi Relay module на ESP-01S. Нужно заменить флеш с 1МВ на 4МБ и добавить RC фильтр. Как и куда подключать датчик смотри readme на Github.

    tthRelay - делаем полоумное WiFi реле на ESP8266

    tthRelay - делаем полоумное WiFi реле на ESP8266

    Внимание: Для ускорения работы сервера, в проекте используются очень агрессивны настройки кеширования HTML и JavaScript. Браузер только первый раз читает эти файлы с tthRelay и сохраняет себе в кеш. Про последующие обновление fs_latest.bin он ничего не знает и вместо новых HTML и JavaScript, с вероятностью 100%, будет тянуть старые из кеша. Обязательно чистите кеш после обновления файловой системы.

    UDP: Где исходники? Их не будет. Есть только скомпилированные бинарники. Лицензия arduino (именно в ней написан проект) позволяет не открывать исходный код. То что я сам у себя своровал библиотеки HTU2xD_SHT2x_Si70xx и AHTxx принято к сведению и виновные будут наказаны.

    UDP: Полоумное WiFi реле ч.2 — тут.

Оцените статью
Добавить комментарий