kostyaer78
New member
Доброго!
Столкнулся с проблемой, ещё не всё диагностировал и перепробовал, сам на работе, но тема покоя не дает..
В общем имеется ESP-01 с прошивкой ESPEasy MEGA, ШИМ контроллер PCA9685 по i2c шине.
Цель управлять из majordomo по MQTT нагрузками, на данный момент реализовано 5 ШИМ для включения и диммирования светодиодных лент и 4 реле, осталось 7 незадействованных портов.
Всё работает, ленточки диммируются, релюшки щёлкают... но только первые несколько переключений.. далее начинает переключать не те нагрузки или параллельно включать несколько, а то и вообще начинает дергать ноги самой еспешки, а не шим контроллера... получается дернет gpio0 или gpio2 и соответственно связь по i2c с контроллером теряется.
Реализовал так:
В девайсах создал Generic - MQTT Import, там подписал на топики из majordomo. В rules создал правила- при изменении значения такого-то топика отправлять команду шим-контроллеру с значением из топика.
В логах еспешки видно- получил значение из топика- отправил его шим контроллеру... и заодно дернул ногу самой еспешки или отправил значение того же шим но ноге еспешки..
Команды по HTTP отрабатывает без проблем, лишнего ничего не дергает и не путает, но на HTTP команды бывает задумывается и отклик бывает через 30 секунд..
Ещё один глюк есть, после загрузки esp включаются все 16 портов шим-контроллера, надо включить\выключить любой порт шим-контроллера и после этого порты перейдут в ноль.. А так получается подал питание и сразу всё нагрузки скоммутировались... создал правило- после загрузки esp передернуть 0 порт контроллера..
Сейчас в голову пришло может я зря девайс "Generic - MQTT Import" обозвал "pwm" т.к. у самой еспэшки есть такая команда...
Rules:
Что я не так сделал?
Столкнулся с проблемой, ещё не всё диагностировал и перепробовал, сам на работе, но тема покоя не дает..
В общем имеется ESP-01 с прошивкой ESPEasy MEGA, ШИМ контроллер PCA9685 по i2c шине.
Цель управлять из majordomo по MQTT нагрузками, на данный момент реализовано 5 ШИМ для включения и диммирования светодиодных лент и 4 реле, осталось 7 незадействованных портов.
Всё работает, ленточки диммируются, релюшки щёлкают... но только первые несколько переключений.. далее начинает переключать не те нагрузки или параллельно включать несколько, а то и вообще начинает дергать ноги самой еспешки, а не шим контроллера... получается дернет gpio0 или gpio2 и соответственно связь по i2c с контроллером теряется.
Реализовал так:
В девайсах создал Generic - MQTT Import, там подписал на топики из majordomo. В rules создал правила- при изменении значения такого-то топика отправлять команду шим-контроллеру с значением из топика.
В логах еспешки видно- получил значение из топика- отправил его шим контроллеру... и заодно дернул ногу самой еспешки или отправил значение того же шим но ноге еспешки..
Команды по HTTP отрабатывает без проблем, лишнего ничего не дергает и не путает, но на HTTP команды бывает задумывается и отклик бывает через 30 секунд..
Ещё один глюк есть, после загрузки esp включаются все 16 портов шим-контроллера, надо включить\выключить любой порт шим-контроллера и после этого порты перейдут в ноль.. А так получается подал питание и сразу всё нагрузки скоммутировались... создал правило- после загрузки esp передернуть 0 порт контроллера..
Сейчас в голову пришло может я зря девайс "Generic - MQTT Import" обозвал "pwm" т.к. у самой еспэшки есть такая команда...
Rules:
Код:
on pwm#1 do //запуск при изменении в топике 1
PCAPWM,0,[pwm#1] //команда ШИМ-контроллеру порт 0 с значением из топика
endon
on pwm#2 do //запуск при изменении в топике 2
PCAPWM,1,[pwm#2] //команда ШИМ-контроллеру порт 1 с значением из топика
endon
и т.д.