MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Molostov
Сообщения: 50
Зарегистрирован: Пт янв 17, 2014 1:47 am
Откуда: Карпинск, Свердловская область
Благодарил (а): 135 раз
Поблагодарили: 12 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Molostov » Сб мар 09, 2019 11:09 am

У меня вот такое правило есть

Код: Выделить всё

input=01
output=R02

final=true

event=lclick
action=toggle
timeout=600s
По долгому клику включает выход на 600 секунд. За этим сама ардуина следит. Также можно включить командой типа http://192.168.2.100:80/objects/?object ... m&m=switch& (192.168.2.100 адрес Алисы). Вроде и для самого megalight есть подобная команда.
Yashalta
Сообщения: 315
Зарегистрирован: Вс май 20, 2018 9:27 am
Благодарил (а): 160 раз
Поблагодарили: 29 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Yashalta » Ср мар 13, 2019 5:33 pm

Molostov писал(а):
Пт фев 08, 2019 1:15 am
Давайте уточним: L298 - это не двигатель, а управляющий драйвер для двигателя, но работать будет.
Я бы на вашем месте посмотрел вот на подобный этому модуль:
https://ru.aliexpress.com/item/4-MOSFET ... c4fafb2-22
Мосфеты еще не пришли а вот "Управляющий драйвер для двигателя" пришел! Так же у меня есть б/п на 12v и купил светодиодную лампу на 12v, ниже фото.
Изображение
В этой статье подробно с примером про этот "Управляющий драйвер для двигатель" http://robot-kit.ru/article_info.php?articles_id=22
C Управляющим двигателем я вроде разобрался куда и что подключать из выше указанной статьи...

У меня вопрос с какого пина подавать управляющий сигнал на "Управляющий драйвер для двигателя" что бы мой диммер вкл/выкл и изменял интенсивность света на светодиодной лампе? если правила димера у меня такие
Изображение
Я правильно понимаю это должен быть пин 8?
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение olehs » Ср мар 13, 2019 5:42 pm

с 8-го
За это сообщение автора olehs поблагодарил:
Yashalta (Ср мар 13, 2019 8:21 pm)
Рейтинг: 1.16%
Yashalta
Сообщения: 315
Зарегистрирован: Вс май 20, 2018 9:27 am
Благодарил (а): 160 раз
Поблагодарили: 29 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Yashalta » Чт мар 14, 2019 4:05 pm

olehs писал(а):
Ср мар 13, 2019 5:42 pm
с 8-го
Есть ли возможность изменить "Dimmer value" которое ровно (0-255) на свое? в процессе экспериментов выяснилось, что при помощи "Управляющий драйвера для двигателя" было бы хорошо если бы "Dimmer value" был бы в диапазоне от (1-65)!
Я попробовал самостоятельно найти решение и в папке Rules - HOLDDOWN - строку condition=RLED&!RDIR&VLED>10 привел к такому виду condition=RLED&!RDIR&VLED>1 но, в итоге у меня уменьшает в "0"!
вот видео моих экспериментов https://youtu.be/4IrZ8D4sQ6M
sorry за качество!
Yashalta
Сообщения: 315
Зарегистрирован: Вс май 20, 2018 9:27 am
Благодарил (а): 160 раз
Поблагодарили: 29 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Yashalta » Сб мар 23, 2019 1:42 pm

Подскажите, не могу подключить 2-й контроллер! Я проделал эти шаги

1. Добавил новый класс "MegaLight2" http://piccy.info/view3/13057118/eeaf24 ... 954bb5db7/
2. В методах "Computer" добавил новый метод "setRelayState2" http://piccy.info/view3/13057124/2aab11 ... 2fdad3430/
В котором указал, что бы он получал сведения от класса "MegaLight2".
3 Новому контролеру указал новый IP (192.168.18.109) отличный от первого "MegaLight" у первого IP (192.168.18.110) и другой Mac адрес. И все благополучно работает и это видно из терминала http://piccy.info/view3/13057137/c5cf67 ... 94ab05d1c/
4. Если запустить программу Arduino и в ней открыть "Монитор последовательного порта" то, видно, что все работает и адекватно реагирует на те или иные действия кнопкой! http://piccy.info/view3/13057144/f24469 ... 50ae3f8f2/
5. В свойствах "Computer" добавил новое свойство MegaLight2URL и его прописал в методе "refresh" класса "setRelayState2"http://piccy.info/view3/13057162/d6e7da ... dabc3dc0b/
6. Добавил метод "switch" http://piccy.info/view3/13057165/4d3787 ... e294d3813/
7. Добавил метод "turnOff" http://piccy.info/view3/13057173/f788f7 ... 41ce47d69/
8. Добавил метод "turnOn" http://piccy.info/view3/13057175/0397c1 ... 6daa7cf28/
9. Объекту к примеру "Sauna" в поле "ID" присвоил значение "1", это название нужного файла из папки "Output" http://piccy.info/view3/13057187/372a37 ... 3995c517c/

Ниже команды работают и это видно как свойствах объекта "Sauna_r10.status" так и в программе Arduino в "Мониторе последовательного порта".

Код: Выделить всё

$handle = fopen("http://192.168.18.109/state?c=set&n=1&o=0", "r");
setGlobal("Sauna_r10.status", "0");
и
$handle = fopen("http://192.168.18.109/state?c=set&n=1&o=1", "r");
setGlobal("Sauna_r10.status", "1");

Но, MD не получает информацию с контроллера если включать/выключать с настенного выключателя, куда копать уже и не знаю!
Yashalta
Сообщения: 315
Зарегистрирован: Вс май 20, 2018 9:27 am
Благодарил (а): 160 раз
Поблагодарили: 29 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Yashalta » Вс мар 24, 2019 12:33 pm

Сегодня все переделал и сейчас на данный момент ситуация у меня такая.
У меня 2 контроллера укадого свой "IP" и свой mac-адрес. Первый контроллер управляет только "Диммером", второй только светом в сауне. Это сделал для удобства экспериментов, после добавлю остальные нужности. Оба работают, проверенно! НО, работают только в объекте "Rеlаys" в классе "MegaLight" ! Я про это http://piccy.info/view3/13057118/eeaf24 ... 954bb5db7/
Я "подсовывал" по очереди с обоих контроллеров сведения в свойства объекта "ID" и все прекрасно работает!

Но, если я проделывал тоже самое только с классом "MegaLight2" то, не работает! Нет, обратной связи от настенного выключателя!
Я конечно могу все накидать в один класс "MegaLight" с обоих контроллеров и не париться но, хочется найти причину! Ну, если не найду решение то, так и сделаю.
karsotrade
Сообщения: 113
Зарегистрирован: Пт июн 09, 2017 11:18 pm
Благодарил (а): 17 раз
Поблагодарили: 13 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение karsotrade » Вс мар 24, 2019 1:47 pm

Вы изменили в самом скетче, в вкладке ml2events строку: Streamprint(client, "GET /objects/?object=ThisComputer&op=m&m=setRelayState2"); ?
Нужно указать setRelayState2 для второго контроллера.
За это сообщение автора karsotrade поблагодарил:
Yashalta (Вс мар 24, 2019 6:01 pm)
Рейтинг: 1.16%
Yashalta
Сообщения: 315
Зарегистрирован: Вс май 20, 2018 9:27 am
Благодарил (а): 160 раз
Поблагодарили: 29 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение Yashalta » Вс апр 14, 2019 12:10 pm

olehs писал(а):
Сб ноя 28, 2015 4:28 pm
Состояние кнопок в МЖД не передается. Но можно создать виртуальный выход (с пином 0, хотя можно и с реальным), а на него назначить изменение состояния при нажатии кнопки. В таком случае MegaLight будет передавать в МЖД состояние этого реле как обычно.
А можно поподробнее?
Я хочу получать состояние реле после того как появляется интеренет если его отключили.
В описании сказано, что бы получить состояния реле делаем запрос в виде
http://megalight/state?c=get&n=1
в моем случае
http://192.168.18.110/state?c=get&n=51
но, ни чего не происходит и ничего не возвращает мне. я и так пробовал
$handle = fopen("http://192.168.18.110/state?c=get&n=51", "r");
тоже ни чего не происходит!
Yashalta
Сообщения: 315
Зарегистрирован: Вс май 20, 2018 9:27 am
Благодарил (а): 160 раз
Поблагодарили: 29 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Yashalta » Вс июл 07, 2019 12:26 pm

Подскажите не понимаю!
я в методе "setRelayState2" вставляю "отладочный" код, что бы "подсветить" все существующие объекты в массиве. Это мне нужно, что бы в будущем исключить поведение некоторых элиментов при изменении их свойств.
код

Код: Выделить всё

ob_start();
$objects=getObjectsByClass("MegaLight2");
foreach($objects as $obj) {
 var_dump($obj['TITLE']);
 if(gg($obj['TITLE'].".ID") == $params["id"])
 {
   sg($obj['TITLE'].".status", $params["on"]);
   sg($obj['TITLE'].".value", $params["v"]);
    if(gg($obj['TITLE'].".status") == '1')
    {
  sg($obj['TITLE'].".on_off_auto", 'Вкл.');
    runScript('Economy_mode_for_past_time');
  }
  else
  {
    sg($obj['TITLE'].".on_off_auto", 'Откл.');
  }
   break;
 }
}
$content = ob_get_contents();
say($content,2);
ob_end_clean();
вывод
11:01:44 0.02090000 SAY (level: 2; member: ; source: ): string(11) "Spalnya_r62"
string(10) "Kuxnya_r56"
string(11) "Kriltso_r55"
string(6) "Dimmer"
string(13) "Kotelnaya_r54"
string(11) "Vannaya_r63"
string(7) "Zal_r64"
string(9) "Lobby_r57"
string(13) "Prixogaya_r60"
string(9) "Sauna_r61"
string(10) "Podval_r59"
string(12) "k.Denisa_r52"
string(11) "k.Edika_r53"
string(11) "2E_Hall_r51"

Вопрос:
Почему в списке 14 элиментов когда в действительности их 17 (И все 17 работают исправно!) в списке имеется "Dimmer" которого нет! "Dimmer" был ранее когда изучал вопрос димера но, сейчас его нет но, он почему то в списке массива!
ниже вывод монитора с SD картой. SD карта вставлена, что бы легче читался вывод.

Код: Выделить всё

XStarting...
SD initialization done.
MAC=34-AD-BE-43-FE-98
Added input 51 on pin 2
Saved input 51 at 40 (13 bytes)
Added input 60 on pin 15
Saved input 60 at 53 (13 bytes)
Added input 61 on pin 16
Saved input 61 at 66 (13 bytes)
Added input 62 on pin 17
Saved input 62 at 79 (13 bytes)
Added input 63 on pin 18
Saved input 63 at 92 (13 bytes)
Added input 64 on pin 19
Saved input 64 at 105 (13 bytes)
Added input 65 on pin 20
Saved input 65 at 118 (13 bytes)
Added input 52 on pin 3
Saved input 52 at 131 (13 bytes)
Added input 53 on pin 5
Saved input 53 at 144 (13 bytes)
Added input 54 on pin 6
Saved input 54 at 157 (13 bytes)
Added input 55 on pin 9
Saved input 55 at 170 (13 bytes)
Added input 56 on pin 11
Saved input 56 at 183 (13 bytes)
Added input 57 on pin 12
Saved input 57 at 196 (13 bytes)
Added input 59 on pin 14
Saved input 59 at 209 (13 bytes)
Added input 67 on pin 22
Saved input 67 at 222 (13 bytes)
Added input 71 on pin 30
Saved input 71 at 235 (13 bytes)
Added input 72 on pin 32
Saved input 72 at 248 (13 bytes)
Stored 17 inputs (221 bytes)

Added output 51 on pin 23
Saved output 51 at 261 (6 bytes)
Added output 60 on pin 41
Saved output 60 at 267 (6 bytes)
Added output 61 on pin 43
Saved output 61 at 273 (6 bytes)
Added output 62 on pin 45
Saved output 62 at 279 (6 bytes)
Added output 63 on pin 47
Saved output 63 at 285 (6 bytes)
Added output 64 on pin 49
Saved output 64 at 291 (6 bytes)
Added output 65 on pin 54
Saved output 65 at 297 (6 bytes)
Added output 52 on pin 25
Saved output 52 at 303 (6 bytes)
Added output 53 on pin 27
Saved output 53 at 309 (6 bytes)
Added output 54 on pin 29
Saved output 54 at 315 (6 bytes)
Added output 55 on pin 31
Saved output 55 at 321 (6 bytes)
Added output 56 on pin 33
Saved output 56 at 327 (6 bytes)
Added output 57 on pin 35
Saved output 57 at 333 (6 bytes)
Added output 59 on pin 39
Saved output 59 at 339 (6 bytes)
Added output 67 on pin 56
Saved output 67 at 345 (6 bytes)
Added output 71 on pin 60
Saved output 71 at 351 (6 bytes)
Added output 72 on pin 61
Saved output 72 at 357 (6 bytes)
Stored 17 outputs (102 bytes)

Saved rule /51 at 363 (32 bytes)
Loaded rule: /51
Saved rule /52 at 395 (32 bytes)
Loaded rule: /52
Saved rule /53 at 427 (32 bytes)
Loaded rule: /53
Saved rule /54 at 459 (32 bytes)
Loaded rule: /54
Saved rule /55 at 491 (32 bytes)
Loaded rule: /55
Saved rule /56 at 523 (32 bytes)
Loaded rule: /56
Saved rule /57 at 555 (32 bytes)
Loaded rule: /57
Saved rule /59 at 587 (32 bytes)
Loaded rule: /59
Saved rule /60 at 619 (32 bytes)
Loaded rule: /60
Saved rule /61 at 651 (32 bytes)
Loaded rule: /61
Saved rule /62 at 683 (32 bytes)
Loaded rule: /62
Saved rule /63 at 715 (32 bytes)
Loaded rule: /63
Saved rule /64 at 747 (32 bytes)
Loaded rule: /64
Saved rule /65 at 779 (32 bytes)
Loaded rule: /65
Saved rule /67 at 811 (32 bytes)
Loaded rule: /67
Saved rule /71 at 843 (32 bytes)
Loaded rule: /71
Saved rule /72 at 875 (32 bytes)
Loaded rule: /72
Stored 17 rules (544 bytes)

Stored config to EEPROM (907 bytes)

Server started at 192.168.18.110
Started (free RAM: 2788)

Может где то на стороне raspberry нужно почистить "cash"?

PS - я дважды стирал при помощи "eeprom_clear" содержимое arduino после чего прошивал ее.
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение olehs » Вс июл 07, 2019 12:38 pm

Скорее всего мусор в таблицах объектов. Такое бывает при смене класса у объектов или родительского класса у подклассов.
Если разбираетесь - посмотрите PHPMyAdmin-ом, что в таблицах.
Иначе - можно попробовать удалить объекты и классы и создать заново.
Ответить