Опрос датчиков через плату с WebServer
Модератор: immortal
-
- Сообщения: 284
- Зарегистрирован: Сб ноя 24, 2012 11:47 am
- Благодарил (а): 29 раз
- Поблагодарили: 28 раз
Re: Опрос датчиков через плату с WebServer
Может я конечно ошибаюсь, но без отрицания перед status, при status=1 (т.е. передвинули в положение "вкл") мы вызываем метод turnoff в котором тут же устанавливаем status =0 одновременно с этим тут же! передвигаем переключатель в положение "выкл", вызываем дочерний метод turnoff. На этом все заканчивается, выключатель опять выключен (т.е. сразу же в меню вернулся в "выкл"). Так что все правильно отрабатывает.
-
- Сообщения: 22
- Зарегистрирован: Вт авг 12, 2014 4:53 pm
- Благодарил (а): 2 раза
- Поблагодарили: 1 раз
Re: Опрос датчиков через плату с WebServer
Я не нажимаю два раза на выключатель.
п.с. я понял вашу мысль) Вы правы, при 1 он сразу же вызывает turnOFF )
Странно методы названы, это refresh должен был так работать, как у меня был прописан switch.
п.с. я понял вашу мысль) Вы правы, при 1 он сразу же вызывает turnOFF )
Странно методы названы, это refresh должен был так работать, как у меня был прописан switch.
-
- Сообщения: 867
- Зарегистрирован: Вт янв 17, 2012 12:31 pm
- Благодарил (а): 121 раз
- Поблагодарили: 78 раз
Re: Опрос датчиков через плату с WebServer
У вас выставляется статус и вызывается метод switch с выключателя судя по скринам. В самом методе уде полисходит вызов turnoff или on.
-
- Сообщения: 867
- Зарегистрирован: Вт янв 17, 2012 12:31 pm
- Благодарил (а): 121 раз
- Поблагодарили: 78 раз
Re: Опрос датчиков через плату с WebServer
попробуйте в код добавить say и посмотрите в каком положении куда попадает по условию
$status=$this->getProperty("status");
if ($status) {
$this->callMethod('turnOn');
say('Включаю');
} else {
$this->callMethod('turnOff');
say('Выключаю');
}
можете еще так попробовать
if ($this->getProperty('status') == 1) {
$this->callMethod('turnOn');
} else {
$this->callMethod('turnOff');
}
вот такой же выключатель и код
$status=$this->getProperty("status");
if ($status) {
$this->callMethod('turnOn');
say('Включаю');
} else {
$this->callMethod('turnOff');
say('Выключаю');
}
можете еще так попробовать
if ($this->getProperty('status') == 1) {
$this->callMethod('turnOn');
} else {
$this->callMethod('turnOff');
}
вот такой же выключатель и код
- Рейтинг: 1.16%
-
- Сообщения: 91
- Зарегистрирован: Чт июл 24, 2014 1:48 am
- Откуда: Украина, Сумы
- Благодарил (а): 43 раза
- Поблагодарили: 6 раз
Re: Опрос датчиков через плату с WebServer
здравствуйте мне тоже интересна эта мысль. только предлагаю рядом с web поднять еще и socket сервер.Kele6ra писал(а):Планирую сделать вариант распределенного умного дома. Сервер MDM установлен на ПК, связь с датчика осуществляется с помощью самодельной платы на STM процессоре (на плате поднят WebServer). По 10 раз прочитал темы где описан опрос датчиков через плату. Но одного не могу понять, как связывается MDM с платой для опроса? Везде показана только верхняя часть. Описаны объекты, свойства, а вот связь с платой не описана, подскажите как она реализована.
з.ы. возможно я просто пропустил самое очевидное(
давайте немного поговорим о реализации возможно я смог бы тоже поучаствовать в разработке. какая аппаратная база кроме STM?
а для сервера я бы написал программулину на Си которая бы писала данные с датчиков прямо в БД без всяких там php скриптов. если датчиков много, то это был бы самый оптимальный вариант
P.S.
недавно писал программу на builder c++которая отправляет данные через соккет на http://www.narodmon.ru. я сильно удивился на сколько быстро данные передались на сервер. по протоколу http такой скорости мной не наблюдалось
-
- Сообщения: 22
- Зарегистрирован: Вт авг 12, 2014 4:53 pm
- Благодарил (а): 2 раза
- Поблагодарили: 1 раз
Re: Опрос датчиков через плату с WebServer
На данный момент реализация до боли простая, сервер на linux, к которому по ethernet подключаются контроллеры на базе cortex-m3 контроллеры с поднятым web-сервером. Контроллеры опрашивают датчики с определенной дискретностью, либо посылают им управляющие сигналы. Контроллер устанавливается в каждую комнату. linux-сервер периодически опрашивает контроллеры, к которым подключены датчики и в зависимости от значения либо выполняет сценарий, либо посыляет управляющие сигналы выставленные вручную. Сценарии возможно будут выполняться сразу на контроллере, ещё не решил. По поводу php скриптов не вижу никакой разницы, там всё-равно всё работает через сокеты.
-
- Сообщения: 22
- Зарегистрирован: Вт авг 12, 2014 4:53 pm
- Благодарил (а): 2 раза
- Поблагодарили: 1 раз
Re: Опрос датчиков через плату с WebServer
в смысле? есть плата, есть МДМ сервер, на котором сейчас пытаюсь наладить связь с датчиками. Вроде больше ничего нет.
-
- Сообщения: 22
- Зарегистрирован: Вт авг 12, 2014 4:53 pm
- Благодарил (а): 2 раза
- Поблагодарили: 1 раз
Re: Опрос датчиков через плату с WebServer
плату делал не я и схемы и код я вам дать не могу. Получилось управлять реле и отслеживать состояния дискретных входов.