[Модуль] MegaD (megad)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am

Re: Модуль "MegaD"

Сообщение Chainik »

А что не получается то?

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

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

http://10.0.6.65/sec/?pt=31&scl=30&i2c_dev=bmx280  
то значение атмосферного давления с датчика выводится?
andrey1509
Сообщения: 87
Зарегистрирован: Ср ноя 09, 2016 10:21 am
Откуда: Липецкая обл.

Re: Модуль "MegaD"

Сообщение andrey1509 »

Chainik писал(а):А что не получается то?

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

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

http://10.0.6.65/sec/?pt=31&scl=30&i2c_dev=bmx280     
то значение атмосферного давления с датчика выводится?
Да
Вложения
Снимок.PNG
Снимок.PNG (9.09 КБ) 8926 просмотров
Debian Linux 7,Linux 3.2.0-4-686-pae on i686
Intel(R) Celeron(R) CPU 1.70GHz, 1 cores
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am

Re: Модуль "MegaD"

Сообщение 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", конечно, должно быть указано ваше Объект.свойство.

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

Ну и понаблюдать, меняется ли значение свойства после запуска метода (и изменения температуры, например, остывания датчика после его нагревания).
Последний раз редактировалось Chainik Чт окт 12, 2017 8:57 pm, всего редактировалось 1 раз.
andrey1509
Сообщения: 87
Зарегистрирован: Ср ноя 09, 2016 10:21 am
Откуда: Липецкая обл.

Re: Модуль "MegaD"

Сообщение andrey1509 »

Chainik писал(а):
Затем попробуйте позапускать этот метод вручную .
Извините за глупость , а это как в ручную?
Debian Linux 7,Linux 3.2.0-4-686-pae on i686
Intel(R) Celeron(R) CPU 1.70GHz, 1 cores
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am

Re: Модуль "MegaD"

Сообщение Chainik »

Надеюсь, код PHP вы поместили не в общеклассовый метод, а уже в метод объекта, который находится ВНУТРИ класса.
И вот там внизу указаны варианты запуска методов (По ссылке, Через командную строку). Проще всего нажать гиперссылку "test".
andrey1509
Сообщения: 87
Зарегистрирован: Ср ноя 09, 2016 10:21 am
Откуда: Липецкая обл.

Re: Модуль "MegaD"

Сообщение andrey1509 »

Chainik писал(а):Надеюсь, код PHP вы поместили не в общеклассовый метод, а уже в метод объекта, который находится ВНУТРИ класса.
И вот там внизу указаны варианты запуска методов (По ссылке, Через командную строку). Проще всего нажать гиперссылку "test".
Страница без показаний
Вложения
Снимок1.PNG
Снимок1.PNG (8.09 КБ) 8746 просмотров
Debian Linux 7,Linux 3.2.0-4-686-pae on i686
Intel(R) Celeron(R) CPU 1.70GHz, 1 cores
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am

Re: Модуль "MegaD"

Сообщение Chainik »

Да на странице и не должно быть показаний. Показания должны быть в Объкт.свойстве, куда записывается значение температуры в результате выполнения метода.
Вот как у вас называется объект.свойство, куда должна записываться температура с датчика?
andrey1509
Сообщения: 87
Зарегистрирован: Ср ноя 09, 2016 10:21 am
Откуда: Липецкая обл.

Re: Модуль "MegaD"

Сообщение andrey1509 »

Chainik писал(а):Да на странице и не должно быть показаний. Показания должны быть в Объкт.свойстве, куда записывается значение температуры в результате выполнения метода.
Вот как у вас называется объект.свойство, куда должна записываться температура с датчика?
Ура....., заработало. При обновлении ячейки темп. обновляется.
Теперь нужно заставить его обновляться автоматически
Debian Linux 7,Linux 3.2.0-4-686-pae on i686
Intel(R) Celeron(R) CPU 1.70GHz, 1 cores
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am

Re: Модуль "MegaD"

Сообщение Chainik »

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

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

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

if ($m%5 == 0) {callMethod("Объект.Метод");} 
Раз в пять минут будет записываться новое значение свойства с опрашиваемого датчика.
andrey1509
Сообщения: 87
Зарегистрирован: Ср ноя 09, 2016 10:21 am
Откуда: Липецкая обл.

Re: Модуль "MegaD"

Сообщение andrey1509 »

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

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

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

if ($m%5 == 0) {callMethod("Объект.Метод");} 
Раз в пять минут будет записываться новое значение свойства с опрашиваемого датчика.
Да все получилось. Огромное спасибо.
сейчас графики нарисую для контроля.
Debian Linux 7,Linux 3.2.0-4-686-pae on i686
Intel(R) Celeron(R) CPU 1.70GHz, 1 cores
Ответить