Инструменты пользователя

Инструменты сайта


iot:firmware:tasmota:amica:nodemcu:v3:esp12-e:aceline:tfjx-940

Механический вентилятор в умном доме

Сперва модернизации подвергся напольный вентилятор с электронным управлением. Теперь же, я намеренно приобрел вентилятор именно с механическим управлением… и да, переделать механическое управление в «умное» электронное, намного проще, чем просто электронное в «умное»! – нет колхоза и условностей.

Комплектующие

  1. Плата ESP12-E @ NodeMCU;
  2. релейный модуль на 2 канала1);
  3. активный низкоуровневый зуммер;
  4. светодиод 2.4 в.;
  5. резистор 47R;
  6. БП 5 в., 700 мА2);
  7. макетная плата.

Аппаратная часть

В этом месте самое мудреное, это адаптировать кнопки вентилятора к новым условиям…

В моем случае пришлось полностью выбросить все, кроме самих пластиковых колпачков, и на макетной плате развести 3 тактовые кнопки и DIP-светодиод.

На мой притязательный вкус, получилось прекрасно!

Далее пайка и сборка, где все максимально банально.

:!: На фото нет реле, т.к. оно тут… Увы, жду из Китая двойное, а сейчас, какое было, то и воткнул. m(

UPD. Наконец-то пришел двойной релейный модуль! Подключил и упаковал, теперь снаружи ничего лишнего. 8-)

Соединения

Function NodeMCU3) (ESP-12E) Relay Buttons Buzzer PSU
LED D0 (GPIO16) W064)
3V3 L065)
Buzzer TX (GPIO01) I/O
3V3 VCC
Button 0 D6 (GPIO12) I06
Button 1 D7 (GPIO13) O06
Button 2 D5 (GPIO14) U06
Speed 1 D2 (GPIO04) IN1
Speed 2 D1 (GPIO05) IN2
Common VIN VCC +5v
GND GND S06 GND GND

Программная часть

Для работы логики, необходимо собрать прошивку с поддержкой команды «Subscribe»:

#ifndef SUPPORT_MQTT_EVENT
#define SUPPORT_MQTT_EVENT
#endif

Прошивка

Процедура прошивки стандартная, описана тут.

Настройка

  1. Добавляем и активируем шаблон

    Backlog Template {"NAME":"Aceline TFJX-940","GPIO":[0,512,576,0,256,257,0,0,32,33,34,0,320,0],"FLAG":0,"BASE":18}; Module 0
  2. настраиваем блокировку реле, чтобы исключить возможность включения обоих реле одновременно

    Backlog Interlock 1,2; Interlock 1; PowerOnState 0
  3. переименовываем кнопки в веб-интерфейсе

    Backlog WebButton1 Скорость 1; WebButton2 Скорость 2

    Настольный вентилятор с Tasmota

  4. переименовываем устройство

    Backlog DeviceName Table Fan; FriendlyName1 Настольный вентилятор
  5. группируем топики

    Backlog Topic tablefan_%06X; FullTopic %topic%/%prefix%/
  6. настраиваем и включаем MQTT

    Backlog MqttHost 192.168.XXX.XXX; MqttPort 1883; MqttUser RGEHrther; MqttPassword FGTRtGFER; SetOption3 1
  7. настраиваем кнопки

    Backlog SetOption73 1; SetOption1 1; SetOption32 20; SetOption13 1
  8. добавляем прочие настройки

    Backlog Timezone +10:00; TelePeriod 0; SetOption128 0

Правила

  1. Группа правил 1

    Rule1
    ON Button1#State=10 DO Event PowerOff=1 ENDON
    ON Button2#State=10 DO Power1 1 ENDON
    ON Button3#State=10 DO Power2 1 ENDON
    ON Power1#State=1 DO Backlog Event PowerOn=50; LedPower1 1; RuleTimer1 10 ENDON
    ON Power2#State=1 DO Backlog Event PowerOn=100; Event Buzzer; LedPower1 1; RuleTimer2 10 ENDON
    ON Event#PowerOn DO Backlog Var2 %value%; Add1 1; Var3 1; Event Buzzer ENDON
    ON Event#PowerOff==%Var1% DO Backlog Power0 0; Buzzer 1,7; LedPower1 0; Var2 0; Var3 0; RuleTimer0 0 ENDON
    ON Event#Blink DO Backlog Delay 3; LedPower1 2; Delay 3; LedPower1 2 ENDON
    ON Event#Buzzer DO Backlog LedPower1 2; Buzzer 1,2; Delay 1; LedPower1 2; Delay 3 ENDON
    ON Power1#State=0 DO Backlog Sub1 1; RuleTimer1 0 ENDON
    ON Power2#State=0 DO Backlog Sub1 1; RuleTimer2 0 ENDON
    ON Rules#Timer=1 DO Backlog Event Blink; RuleTimer1 10 ENDON
    ON Rules#Timer=2 DO Backlog Event Blink; Event Blink; RuleTimer2 10 ENDON
  2. группа правил 2

    Rule2
    ON Event#GetFanPower==1 DO Event SiriPower=0 ENDON
    ON Event#GetFanPower==0 DO Event PowerOff=1 ENDON
    ON Event#SiriPower==%Var3% DO Power1 1 ENDON
    ON Event#GetFanSpeed>50 DO Backlog Var3 1; Power2 1 BREAK
    ON Event#GetFanSpeed>0 DO Backlog Var3 1; Power1 1 BREAK
    ON Var2#State DO Publish %topic%/stat/FANSPEED %value% ENDON
    ON Var3#State DO Publish %topic%/stat/FANPOWER %value% ENDON
  3. группа правил 3

    Rule3
    ON System#Init DO Backlog Var1 0; Var2 0; Var3 0 ENDON
    ON Mqtt#Connected DO Backlog Power1#State; Power2#State;
    Subscribe GetFanSpeed, tablefan_0C6DFD/cmnd/FanSpeed;
    Subscribe GetFanPower, tablefan_0C6DFD/cmnd/FanPower;
    Publish %topic%/stat/FANSPEED %Var2%;
    Publish %topic%/stat/FANPOWER %Var3%; ENDON
  4. включение правил

    Backlog Rule1 1; Rule2 1; Rule3 1

Демонстрация

1)
Под рукой оказался только на 4… жду из Китая нормальный.
2)
Закончились, пришлось разбирать какую-то USB зарядку…
4)
Катод (-) светодиода.
5)
Анод (+) светодиода.

Обсуждение

Ваш комментарий:
F N Y D M U H V O R Z Q C​ G Y N
 
Последнее изменение: 2023/10/27 22:12 — Николай Солошин