• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESPEasy Mega + PCA9685 ШИМ контроллер

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:
Код:
on pwm#1 do //запуск при изменении в топике 1
PCAPWM,0,[pwm#1]  //команда ШИМ-контроллеру порт 0 с значением из топика
endon

on pwm#2 do //запуск при изменении в топике 2
PCAPWM,1,[pwm#2] //команда ШИМ-контроллеру порт 1 с значением из топика
endon

и т.д.
Что я не так сделал?
 

nikolz

Well-known member
я бы разделил задачу на две части.
полагаю догадались какие
и отладил их отдельно
потом соединил
 

kostyaer78

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

Тему победил! Как и предполагал из-за названия "pwm", но самое интересное не в названии устройства, а в пути mqtt топика.. было /sw/pwm/1 и т.д..
 
Сверху Снизу