Страница 12 из 41

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

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

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

GET /megad.php?pt=0&mdid=1
GET /megad.php?pt=0&m=1&mdid=1
Видно, что при отпускании кнопки в сообщении есть m=1. Это позволит сделать передачу состояния вкл/выкл из объектов класса MegaD в объект сенсора. Тут же можно подумать над возможность обработки долговременного нажатия. Желаний и хотелок уже целая корзинка. А знаний пока что маловато. Но думаю, что уже достаточно для реализации этого нехитрого дела.

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

Добавлено: Пт сен 12, 2014 7:56 pm
Vit
Ждем примеров))

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

Добавлено: Сб сен 13, 2014 1:04 am
Bagir
Да вот только добрался до дома. Но пару часиков любимом делу уделю. Вообще конечно я только начал знакомится с php, и еще делаю кучу ошибок. Даже страшно выкладывать весть этот свой быдлокод на общее обозрение ))) Но ведь работает! А тут может и толковые замечания напишут. Так что завтра точно выложу то что есть. Очень хочется сделать обработку долгого и двойного нажатия. Но если завтра не доделаю, выложу то что есть. Может кто чем и поможет. Вообще я пока что выбрал для себя 1-Wire, Z-Wave, и MegaD для всего, что на проводах. Нравятся мне MegaD за возможность работы без сервера. Скажем так, без света и отопления не оставят даже если сервак завис или временно отключен. Да и цена на железо совсем не завышена. Например по сравнению с Z-Wave.

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

Добавлено: Сб сен 13, 2014 12:21 pm
Bagir
Топик переехал в раздел Каталог оборудования. Файл и класс теперь можно скачать там. http://smartliving.ru/forum/viewtopic.php?f=14&t=1832 Обсуждение просьба продолжать вести в этой теме.

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

Добавлено: Сб сен 13, 2014 12:32 pm
Bagir
Пример управления:
Создадим в классе Relays объект Relay1MegaD1. В его метод turnOn добавим код

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

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

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

callMethod('MegaD1.setOutput',array('port'=>10,'value'=>0));
Теперь объект Relay1MegaD1 управляет 10-ым портом первой Меги.

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

Добавлено: Сб сен 13, 2014 2:10 pm
Bagir
в 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'));

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

Добавлено: Сб сен 13, 2014 5:35 pm
Dragon
Люди добрые, прочитал всю эту ветку от начала и до конца несколько раз, но не могу понять как заставить железную кнопку работать, со страницы оболочки работает, могу включить свет могу выключить а вот с кнопки подключенной к самой меги не работает, кнопка сидит на 4-ом порту а лампа на 8-ом, при отключении сетевого шнура все работает (нажал кнопку включился свет, еще раз нажал потух) но когда подключаю мегу в сеть то при нажатии кнопки только моргает индикатором сети. подскажите что куда прописывать?

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

Добавлено: Сб сен 13, 2014 7:33 pm
Bagir
Постараюсь помочь!
Судя по описанию, без сети Мега работает по заранее установленному алгоритму, а с сетью она будет ждать ответа сервера, что ей делать. Следовательно, при нажатии кнопки, на сервер будет отправлено сообщение. Оно долюно быть там обработано, и возвращено Меге в виде ответа.
Теперь мы разделим задачу на пункты:
1. Нужно убедиться, что Мега отвечает по сети. Проверить это можно, набрав в браузере ее ip адрес. Там же можно попробовать переключить ее состояние. Если это получается, то едем дальше.
2. Наладить отправку сообщений из MDM в Мегу, чтобы управлять ее портами, настроенными как выход.
3. Научиться получать от меги сообщения о коммутации ее портов, настроенных как вход.
Пока что все, дальше будет больше и намного интересней. Сейчас вначале разберемся с этим.
Первый пункт Вы проверите сами, это просто. А для пунктов 2-3 уже нужно будет кое что наколдовать. Немного настроить Мегу, записать в папку, где лежат файлы сервера megad.php, и импортировать класс. Файл и класс я приложил немного выше.

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

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

Фаил скопировал? и перезаписал старый, класс импортировал, появился класс MegaD. я верно все сделал?

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

Добавлено: Сб сен 13, 2014 8:49 pm
Bagir
Да, все правильно!
Теперь вот такой вопрос. Сервер МДМ на компе работает на стандартном 80 порту?