Подключение контроллера MegaD-328
Модератор: immortal
Подключение контроллера MegaD-328
Здравствуйте Сергей!
Собрал управляющий модуль MegaD-328 с сайта ab-log.ru.
Опробовал, работает хорошо, теперь встал вопрос о его интеграции в систему.
В прошивке, можно указать исполняемый php скрипт, но проблема в том, что максимальная длина сообщения 15 символов и сделать по аналогии с Ардуино не получается, думаю в исходниках поменять можно, но неуверен как.
Можно ли добавить в систему скрипт с сайта http://ab-log.ru/smart-house/ethernet/megad-328 для интеграции этого модуля в систему, без изменения прошивки?
Собрал управляющий модуль 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
Да, конечно можно. Сейчас проверить не могу, но должна работать такая конструкция:
1. создаём файл /megad.php (в том же каталоге что и /config.php)
с таким контентом
2. Всё, прописываем http://адрес_сервера/megad.php в мегадевайсе
Теперь метод объекта MyObject.MyMethod будет вызываться когда что-то нажимается на МегаДевайсе
При этом в коде метода можно использовать $params['pt'] чтобы получить номер сработавшего входа.
Делал по аналогии с тем, что написано здесь http://ab-log.ru/smart-house/ethernet/megad-328
Должно работать, но т.к. вслепую, то на 100% не уверен.
1. создаём файл /megad.php (в том же каталоге что и /config.php)
с таким контентом
Код: Выделить всё
<?
$op='m';
$object='MyObject';
$m='MyMethod';
include('./objects/index.php');
?>
Теперь метод объекта MyObject.MyMethod будет вызываться когда что-то нажимается на МегаДевайсе
При этом в коде метода можно использовать $params['pt'] чтобы получить номер сработавшего входа.
Делал по аналогии с тем, что написано здесь http://ab-log.ru/smart-house/ethernet/megad-328
Должно работать, но т.к. вслепую, то на 100% не уверен.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Re: Подключение контроллера MegaD-328
Попробовал, не получается, может что то с созданием объектов напутал.
С уважением
Александр.
Александр.
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Подключение контроллера MegaD-328
Можно попробовтаь ещё в файле /objects/index.php раскомментировать строчку
DebMes("Request: ".$request);
(для записи запросов в лог)
И потом посмотреть в папке /debmes/ последний файл -- это лог. Что б знать наверняка, что МегаДевайс посылает события.
DebMes("Request: ".$request);
(для записи запросов в лог)
И потом посмотреть в папке /debmes/ последний файл -- это лог. Что б знать наверняка, что МегаДевайс посылает события.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Re: Подключение контроллера MegaD-328
Посмотрел, мега посылает запрос.
Лог
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
Лог
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
Да, только нужно не свойство MyMethod а именно метод. А в сам код метода уже можно писать что угодн, например такой обработчик
if ($params['pt']) {
say("Что-то включилось");
} else {
say("Что-то выключилось");
}
if ($params['pt']) {
say("Что-то включилось");
} else {
say("Что-то выключилось");
}
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Re: Подключение контроллера MegaD-328
Получилось! А вот теперь вопрос как определять какой вход сработал pt=0, pt=1 и.т.д. ля выполнения к примеру внешнего скрипта?
С уважением
Александр.
Александр.
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Подключение контроллера MegaD-328
Вот по этому же примеру можно
if ($params['pt']==1) {
// pt=1
say("Что-то включилось 1");
} elseif ($params['pt']==2) {
// pt=2
say("Что-то включилось 1");
} else {
// pt=0
say("Что-то другое...");
}
if ($params['pt']==1) {
// pt=1
say("Что-то включилось 1");
} elseif ($params['pt']==2) {
// pt=2
say("Что-то включилось 1");
} else {
// pt=0
say("Что-то другое...");
}
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Re: Подключение контроллера MegaD-328
Отлично! Большое спасибо, все работает как надо.
С уважением
Александр.
Александр.
-
- Сообщения: 86
- Зарегистрирован: Чт фев 21, 2013 11:35 pm
- Благодарил (а): 4 раза
- Поблагодарили: 2 раза
Re: Подключение контроллера MegaD-328
Panchez неможеш выложить свой скрипт управления мегой чтоб я быстрей вёхал что и как?