Страница 83 из 140

Re: Модуль "MegaD"

Добавлено: Чт окт 12, 2017 8:20 pm
Chainik
А что не получается то?

Если, допустим, выполнить из адресной строки браузера (IP-адрес, пароль и порт, конечно же ваши):

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

http://10.0.6.65/sec/?pt=31&scl=30&i2c_dev=bmx280  
то значение атмосферного давления с датчика выводится?

Re: Модуль "MegaD"

Добавлено: Чт окт 12, 2017 8:29 pm
andrey1509
Chainik писал(а):А что не получается то?

Если, допустим, выполнить из адресной строки браузера (IP-адрес, пароль и порт, конечно же ваши):

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

http://10.0.6.65/sec/?pt=31&scl=30&i2c_dev=bmx280     
то значение атмосферного давления с датчика выводится?
Да

Re: Модуль "MegaD"

Добавлено: Чт окт 12, 2017 8:46 pm
Chainik
Хорошо!
У вас есть в Мажордомо Объект.свойство, куда должно записываться значение атм.давления с этого датчика?
Если нет, создайте это свойство.
Хотя, тренероваться проще всего на температуре. Для температуры тоже нужно создать свойство.
Дальше, например, в методы объекта надо записать метод за запроса значения температуры с датчика:

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

$temp = file_get_contents("http://192.168.1.14/sec/?pt=23&scl=24&i2c_dev=bmx280&i2c_par=1");
sg('BME280.temp',$temp);
Вместо "BME280.temp", конечно, должно быть указано ваше Объект.свойство.

Затем попробуйте позапускать этот метод вручную (при этом можно рукой нагревать датчик или как-то еще на него температурно воздействовать, чтобы посмотреть как меняются показания).

Ну и понаблюдать, меняется ли значение свойства после запуска метода (и изменения температуры, например, остывания датчика после его нагревания).

Re: Модуль "MegaD"

Добавлено: Чт окт 12, 2017 8:55 pm
andrey1509
Chainik писал(а):
Затем попробуйте позапускать этот метод вручную .
Извините за глупость , а это как в ручную?

Re: Модуль "MegaD"

Добавлено: Чт окт 12, 2017 9:03 pm
Chainik
Надеюсь, код PHP вы поместили не в общеклассовый метод, а уже в метод объекта, который находится ВНУТРИ класса.
И вот там внизу указаны варианты запуска методов (По ссылке, Через командную строку). Проще всего нажать гиперссылку "test".

Re: Модуль "MegaD"

Добавлено: Чт окт 12, 2017 9:23 pm
andrey1509
Chainik писал(а):Надеюсь, код PHP вы поместили не в общеклассовый метод, а уже в метод объекта, который находится ВНУТРИ класса.
И вот там внизу указаны варианты запуска методов (По ссылке, Через командную строку). Проще всего нажать гиперссылку "test".
Страница без показаний

Re: Модуль "MegaD"

Добавлено: Чт окт 12, 2017 9:27 pm
Chainik
Да на странице и не должно быть показаний. Показания должны быть в Объкт.свойстве, куда записывается значение температуры в результате выполнения метода.
Вот как у вас называется объект.свойство, куда должна записываться температура с датчика?

Re: Модуль "MegaD"

Добавлено: Чт окт 12, 2017 9:29 pm
andrey1509
Chainik писал(а):Да на странице и не должно быть показаний. Показания должны быть в Объкт.свойстве, куда записывается значение температуры в результате выполнения метода.
Вот как у вас называется объект.свойство, куда должна записываться температура с датчика?
Ура....., заработало. При обновлении ячейки темп. обновляется.
Теперь нужно заставить его обновляться автоматически

Re: Модуль "MegaD"

Добавлено: Чт окт 12, 2017 9:43 pm
Chainik
Отлично! Теперь, если вам потребуется не только текущее значение, но и серия значений за определенный период (например, чтобы построить график). То у свойства надо включить историю. Это делается из настроек свойства в КЛАССЕ, где расположен объект.свойство. Нужно выставить в поле "Хранить историю (дней):" значение больше ноля.

Ну и, конечно, организовать периодический опрос.
Например, написать в onNewMinute

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

if ($m%5 == 0) {callMethod("Объект.Метод");} 
Раз в пять минут будет записываться новое значение свойства с опрашиваемого датчика.

Re: Модуль "MegaD"

Добавлено: Чт окт 12, 2017 9:59 pm
andrey1509
Chainik писал(а):Отлично! Теперь, если вам потребуется не только текущее значение, но и серия значений за определенный период (например, чтобы построить график). То у свойства надо включить историю. Это делается из настроек свойства в КЛАССЕ, где расположен объект.свойство. Нужно выставить в поле "Хранить историю (дней):" значение больше ноля.

Ну и, конечно, организовать периодический опрос.
Например, написать в onNewMinute

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

if ($m%5 == 0) {callMethod("Объект.Метод");} 
Раз в пять минут будет записываться новое значение свойства с опрашиваемого датчика.
Да все получилось. Огромное спасибо.
сейчас графики нарисую для контроля.