Подключение контроллера MegaD-328

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

Модератор: immortal

Аватара пользователя
Bagir
Сообщения: 1487
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 187 раз
Поблагодарили: 338 раз

Re: Подключение контроллера MegaD-328

Сообщение Bagir » Пт сен 12, 2014 11:41 am

Андрей добавил в прошивку возможность выбора порта сервера! Теперь все отлично! Вечером буду доделывать класс MegaD и файл mega.php. Хочется сразу организовать не только сообщения о нажатии кнопки. Для события нажал и отпустил отправляются разные сообщения. По ним можно все понять

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

GET /megad.php?pt=0&mdid=1
GET /megad.php?pt=0&m=1&mdid=1
Видно, что при отпускании кнопки в сообщении есть m=1. Это позволит сделать передачу состояния вкл/выкл из объектов класса MegaD в объект сенсора. Тут же можно подумать над возможность обработки долговременного нажатия. Желаний и хотелок уже целая корзинка. А знаний пока что маловато. Но думаю, что уже достаточно для реализации этого нехитрого дела.
Windows 7, HTTP, MegaD, Z-Wave, 1-Wire
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: Подключение контроллера MegaD-328

Сообщение Vit » Пт сен 12, 2014 7:56 pm

Ждем примеров))
Аватара пользователя
Bagir
Сообщения: 1487
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 187 раз
Поблагодарили: 338 раз

Re: Подключение контроллера MegaD-328

Сообщение Bagir » Сб сен 13, 2014 1:04 am

Да вот только добрался до дома. Но пару часиков любимом делу уделю. Вообще конечно я только начал знакомится с php, и еще делаю кучу ошибок. Даже страшно выкладывать весть этот свой быдлокод на общее обозрение ))) Но ведь работает! А тут может и толковые замечания напишут. Так что завтра точно выложу то что есть. Очень хочется сделать обработку долгого и двойного нажатия. Но если завтра не доделаю, выложу то что есть. Может кто чем и поможет. Вообще я пока что выбрал для себя 1-Wire, Z-Wave, и MegaD для всего, что на проводах. Нравятся мне MegaD за возможность работы без сервера. Скажем так, без света и отопления не оставят даже если сервак завис или временно отключен. Да и цена на железо совсем не завышена. Например по сравнению с Z-Wave.
Последний раз редактировалось Bagir Сб сен 13, 2014 8:52 pm, всего редактировалось 1 раз.
Windows 7, HTTP, MegaD, Z-Wave, 1-Wire
Аватара пользователя
Bagir
Сообщения: 1487
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 187 раз
Поблагодарили: 338 раз

Re: Подключение контроллера MegaD-328

Сообщение Bagir » Сб сен 13, 2014 12:21 pm

Топик переехал в раздел Каталог оборудования. Файл и класс теперь можно скачать там. http://smartliving.ru/forum/viewtopic.php?f=14&t=1832 Обсуждение просьба продолжать вести в этой теме.
Последний раз редактировалось Bagir Сб сен 27, 2014 12:11 am, всего редактировалось 11 раз.
За это сообщение автора Bagir поблагодарил:
Dragon (Сб сен 13, 2014 11:38 pm)
Рейтинг: 1.18%
Windows 7, HTTP, MegaD, Z-Wave, 1-Wire
Аватара пользователя
Bagir
Сообщения: 1487
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 187 раз
Поблагодарили: 338 раз

Re: Подключение контроллера MegaD-328

Сообщение Bagir » Сб сен 13, 2014 12:32 pm

Пример управления:
Создадим в классе Relays объект Relay1MegaD1. В его метод turnOn добавим код

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

callMethod('MegaD1.setOutput',array('port'=>10,'value'=>1));
В метод turnOff

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

callMethod('MegaD1.setOutput',array('port'=>10,'value'=>0));
Теперь объект Relay1MegaD1 управляет 10-ым портом первой Меги.
Последний раз редактировалось Bagir Вс сен 14, 2014 4:09 pm, всего редактировалось 1 раз.
Windows 7, HTTP, MegaD, Z-Wave, 1-Wire
Аватара пользователя
Bagir
Сообщения: 1487
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 187 раз
Поблагодарили: 338 раз

Re: Подключение контроллера MegaD-328

Сообщение Bagir » Сб сен 13, 2014 2:10 pm

в getOutput можно устанавливать свойства других объектов. Добавил возможность запускать методы. Еще добавил работу с портами АЦП, которые возвращают не ON и OFF, а цифровое значение.

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

//Пример установки данных АЦП порта в свойство status объекта outdoorAirGas 
callMethod('MegaD1.getOutput',array('port'=>14,'objName'=>'outdoorAirGas','propertyName'=>'status'));
//Пример установки данных АЦП порта с запуском метода statusChanged и с передачей ему свойства status объекта outdoorAirGas 
callMethod('MegaD1.getOutput',array('port'=>14,'objName'=>'outdoorAirGas','propertyName'=>'status','methodName'=>'statusChanged'));
Windows 7, HTTP, MegaD, Z-Wave, 1-Wire
Dragon
Сообщения: 96
Зарегистрирован: Ср авг 27, 2014 6:14 am
Благодарил (а): 36 раз
Поблагодарили: 0

Re: Подключение контроллера MegaD-328

Сообщение Dragon » Сб сен 13, 2014 5:35 pm

Люди добрые, прочитал всю эту ветку от начала и до конца несколько раз, но не могу понять как заставить железную кнопку работать, со страницы оболочки работает, могу включить свет могу выключить а вот с кнопки подключенной к самой меги не работает, кнопка сидит на 4-ом порту а лампа на 8-ом, при отключении сетевого шнура все работает (нажал кнопку включился свет, еще раз нажал потух) но когда подключаю мегу в сеть то при нажатии кнопки только моргает индикатором сети. подскажите что куда прописывать?
Аватара пользователя
Bagir
Сообщения: 1487
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 187 раз
Поблагодарили: 338 раз

Re: Подключение контроллера MegaD-328

Сообщение Bagir » Сб сен 13, 2014 7:33 pm

Постараюсь помочь!
Судя по описанию, без сети Мега работает по заранее установленному алгоритму, а с сетью она будет ждать ответа сервера, что ей делать. Следовательно, при нажатии кнопки, на сервер будет отправлено сообщение. Оно долюно быть там обработано, и возвращено Меге в виде ответа.
Теперь мы разделим задачу на пункты:
1. Нужно убедиться, что Мега отвечает по сети. Проверить это можно, набрав в браузере ее ip адрес. Там же можно попробовать переключить ее состояние. Если это получается, то едем дальше.
2. Наладить отправку сообщений из MDM в Мегу, чтобы управлять ее портами, настроенными как выход.
3. Научиться получать от меги сообщения о коммутации ее портов, настроенных как вход.
Пока что все, дальше будет больше и намного интересней. Сейчас вначале разберемся с этим.
Первый пункт Вы проверите сами, это просто. А для пунктов 2-3 уже нужно будет кое что наколдовать. Немного настроить Мегу, записать в папку, где лежат файлы сервера megad.php, и импортировать класс. Файл и класс я приложил немного выше.
За это сообщение автора Bagir поблагодарил:
Dragon (Сб сен 13, 2014 8:59 pm)
Рейтинг: 1.18%
Windows 7, HTTP, MegaD, Z-Wave, 1-Wire
Dragon
Сообщения: 96
Зарегистрирован: Ср авг 27, 2014 6:14 am
Благодарил (а): 36 раз
Поблагодарили: 0

Re: Подключение контроллера MegaD-328

Сообщение Dragon » Сб сен 13, 2014 8:47 pm

Bagir писал(а):Постараюсь помочь!
Судя по описанию, без сети Мега работает по заранее установленному алгоритму, а с сетью она будет ждать ответа сервера, что ей делать. Следовательно, при нажатии кнопки, на сервер будет отправлено сообщение. Оно долюно быть там обработано, и возвращено Меге в виде ответа.
Теперь мы разделим задачу на пункты:
.
1. Мега отвечает по сети, могу зайти и переключать выводы
2. ?
3. ?

Фаил скопировал? и перезаписал старый, класс импортировал, появился класс MegaD. я верно все сделал?
Аватара пользователя
Bagir
Сообщения: 1487
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 187 раз
Поблагодарили: 338 раз

Re: Подключение контроллера MegaD-328

Сообщение Bagir » Сб сен 13, 2014 8:49 pm

Да, все правильно!
Теперь вот такой вопрос. Сервер МДМ на компе работает на стандартном 80 порту?
Windows 7, HTTP, MegaD, Z-Wave, 1-Wire
Ответить