Страница 1 из 4

Опрос датчиков через плату с WebServer

Добавлено: Вт авг 12, 2014 5:28 pm
Kele6ra
Планирую сделать вариант распределенного умного дома. Сервер MDM установлен на ПК, связь с датчика осуществляется с помощью самодельной платы на STM процессоре (на плате поднят WebServer). По 10 раз прочитал темы где описан опрос датчиков через плату. Но одного не могу понять, как связывается MDM с платой для опроса? Везде показана только верхняя часть. Описаны объекты, свойства, а вот связь с платой не описана, подскажите как она реализована.
з.ы. возможно я просто пропустил самое очевидное(

Re: Опрос датчиков через плату с WebServer

Добавлено: Вт авг 12, 2014 5:50 pm
sergejey
Kele6ra писал(а):Планирую сделать вариант распределенного умного дома. Сервер MDM установлен на ПК, связь с датчика осуществляется с помощью самодельной платы на STM процессоре (на плате поднят WebServer). По 10 раз прочитал темы где описан опрос датчиков через плату. Но одного не могу понять, как связывается MDM с платой для опроса? Везде показана только верхняя часть. Описаны объекты, свойства, а вот связь с платой не описана, подскажите как она реализована.
з.ы. возможно я просто пропустил самое очевидное(
Самое простое: если поднят WebServer, то можно через модуль Веб-переменные организовать "вытягивание" данных из устройства в объекты системы. Т.е. в модуле указывается ссылка на страницу с данными и шаблон, по которому берётся конкретное свойство.

Re: Опрос датчиков через плату с WebServer

Добавлено: Ср авг 13, 2014 8:51 am
Kele6ra
c вытягиванием понял, а как быть с управлением некоторыми устройствами?

Re: Опрос датчиков через плату с WebServer

Добавлено: Ср авг 13, 2014 10:09 am
denis
если по http протоколу, то обычно через geturl
примерно так

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

//вкл выход
$cmdUrl = "http://ip&Out1=ON";
getURL($cmdUrl,0);
//выкл выход
$cmdUrl = "http://ip&Out1=OFF";
getURL($cmdUrl,0);
у каждого устройства своя система команд, но принцип одинаков.

Re: Опрос датчиков через плату с WebServer

Добавлено: Ср авг 13, 2014 2:36 pm
Kele6ra
Благодарю.
Ещё возник вопрос про элемент меню типа "Выключатель", можно ли на него повесить и включение прибора и выключение?
п.с. повесил на выключатель метод rele.switch там почему то всё инверсивно 0_о то есть при единице он не хочет переключать, а при нуле переключает.
Так работает

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

$status=$this->getProperty("status");
if ($status == 0) {
 $this->callMethod('turnOff');
else {$this->callMethod('turnOn');
} 
А так - нет =(

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

$status=$this->getProperty("status");
if ($status == 1) {
 $this->callMethod('turnOff');
else {$this->callMethod('turnOn');
} 

Re: Опрос датчиков через плату с WebServer

Добавлено: Ср авг 13, 2014 4:00 pm
Vit
Вечером выложу правильный код на переключение.

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

$status=$this->getProperty("status");
if ($status) {
 $this->callMethod('turnOff');
} else {
 $this->callMethod('turnOn');
}
  
вот так должно работать

Re: Опрос датчиков через плату с WebServer

Добавлено: Чт авг 14, 2014 8:43 am
Kele6ra
Именно так и не работает, работает если

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

$status=$this->getProperty("status");
if (!$status) {
 $this->callMethod('turnOff');
} else{
 $this->callMethod('turnOn');
}
Если отрицание не ставлю, то в меню он возвращается обратно после нажатия

Re: Опрос датчиков через плату с WebServer

Добавлено: Чт авг 14, 2014 9:05 am
denis
позволю себе влезть, но судя по словам "...в меню он возвращается обратно после нажатия.." в методах turnOn turnOff видимо зачем-то снова дергается этот же переключатель. т.е. получается "закольцовывание", вот он и возвращается обратно.

Re: Опрос датчиков через плату с WebServer

Добавлено: Чт авг 14, 2014 9:15 am
Vit
Kele6ra писал(а):Именно так и не работает, работает если

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

$status=$this->getProperty("status");
if (!$status) {
 $this->callMethod('turnOff');
} else{
 $this->callMethod('turnOn');
} 
Если отрицание не ставлю, то в меню он возвращается обратно после нажатия

Выложите скрины что у вас и где прописано. И каким образом вы меняете свойство объекта.

Вышеприведенный код рабочий. Поосто возможно у вас в другом где то затык.

Re: Опрос датчиков через плату с WebServer

Добавлено: Чт авг 14, 2014 12:57 pm
Kele6ra
У меня работает вот с таким кодом. То есть если ставить отрицание перед $status в методе switch, то работает нормально, иначе ползунок всегда возвращается в своё положение.
Изображение Изображение Изображение Изображение Изображение Изображение