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

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

Модератор: immortal

Panchez
Сообщения: 99
Зарегистрирован: Вс апр 29, 2012 7:31 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение Panchez » Пн дек 10, 2012 5:08 pm

Здравствуйте Сергей!
Собрал управляющий модуль MegaD-328 с сайта ab-log.ru.
Опробовал, работает хорошо, теперь встал вопрос о его интеграции в систему.
В прошивке, можно указать исполняемый php скрипт, но проблема в том, что максимальная длина сообщения 15 символов и сделать по аналогии с Ардуино не получается, думаю в исходниках поменять можно, но неуверен как.
Можно ли добавить в систему скрипт с сайта http://ab-log.ru/smart-house/ethernet/megad-328 для интеграции этого модуля в систему, без изменения прошивки?
С уважением
Александр.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Пн дек 10, 2012 6:43 pm

Да, конечно можно. Сейчас проверить не могу, но должна работать такая конструкция:
1. создаём файл /megad.php (в том же каталоге что и /config.php)
с таким контентом

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

<?
$op='m';
$object='MyObject';
$m='MyMethod';
include('./objects/index.php');
?>
2. Всё, прописываем http://адрес_сервера/megad.php в мегадевайсе :)

Теперь метод объекта MyObject.MyMethod будет вызываться когда что-то нажимается на МегаДевайсе
При этом в коде метода можно использовать $params['pt'] чтобы получить номер сработавшего входа.

Делал по аналогии с тем, что написано здесь http://ab-log.ru/smart-house/ethernet/megad-328

Должно работать, но т.к. вслепую, то на 100% не уверен.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Panchez
Сообщения: 99
Зарегистрирован: Вс апр 29, 2012 7:31 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение Panchez » Пн дек 10, 2012 11:39 pm

Попробовал, не получается, может что то с созданием объектов напутал.
С уважением
Александр.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Вт дек 11, 2012 10:30 am

Можно попробовтаь ещё в файле /objects/index.php раскомментировать строчку
DebMes("Request: ".$request);
(для записи запросов в лог)

И потом посмотреть в папке /debmes/ последний файл -- это лог. Что б знать наверняка, что МегаДевайс посылает события.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Panchez
Сообщения: 99
Зарегистрирован: Вс апр 29, 2012 7:31 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение Panchez » Вт дек 11, 2012 12:08 pm

Посмотрел, мега посылает запрос.

Лог
11.12.2012 10:44:26
Request: &pt=0
11.12.2012 10:44:26
object [MyObject] not found
11.12.2012 10:44:27
Request: &pt=1
11.12.2012 10:44:27
object [MyObject] not found

Создал новый класс Mega, в нем новый объект MyObject, в свойствах этого объекта добавил новое свойство MyMethod.
Теперь я понимаю нужно прописать код метода в MyObject для отображения сработавшего входа?

Теперь лог выглядит так
11.12.2012 10:57:11
Request: &pt=0
11.12.2012 10:57:14
Request: &pt=1
С уважением
Александр.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Вт дек 11, 2012 12:13 pm

Да, только нужно не свойство MyMethod а именно метод. А в сам код метода уже можно писать что угодн, например такой обработчик
if ($params['pt']) {
say("Что-то включилось");
} else {
say("Что-то выключилось");
}

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Panchez
Сообщения: 99
Зарегистрирован: Вс апр 29, 2012 7:31 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение Panchez » Вт дек 11, 2012 12:35 pm

Получилось! А вот теперь вопрос как определять какой вход сработал pt=0, pt=1 и.т.д. ля выполнения к примеру внешнего скрипта?
С уважением
Александр.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Вт дек 11, 2012 1:37 pm

Вот по этому же примеру можно

if ($params['pt']==1) {
// pt=1
say("Что-то включилось 1");
} elseif ($params['pt']==2) {
// pt=2
say("Что-то включилось 1");
} else {
// pt=0
say("Что-то другое...");
}

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Panchez
Сообщения: 99
Зарегистрирован: Вс апр 29, 2012 7:31 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение Panchez » Ср дек 12, 2012 12:24 am

Отлично! Большое спасибо, все работает как надо.
С уважением
Александр.
jonyzs
Сообщения: 86
Зарегистрирован: Чт фев 21, 2013 11:35 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

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

Сообщение jonyzs » Сб фев 23, 2013 12:06 am

Panchez неможеш выложить свой скрипт управления мегой чтоб я быстрей вёхал что и как?
Ответить