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

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

Модератор: immortal

Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Модуль "MegaD"

Сообщение Chainik » Чт окт 12, 2017 8:20 pm

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

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

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

http://10.0.6.65/sec/?pt=31&scl=30&i2c_dev=bmx280  
то значение атмосферного давления с датчика выводится?
За это сообщение автора Chainik поблагодарил:
andrey1509 (Чт окт 12, 2017 10:00 pm)
Рейтинг: 1.16%
andrey1509
Сообщения: 87
Зарегистрирован: Ср ноя 09, 2016 10:21 am
Откуда: Липецкая обл.
Благодарил (а): 22 раза
Поблагодарили: 2 раза

Re: Модуль "MegaD"

Сообщение andrey1509 » Чт окт 12, 2017 8:29 pm

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

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

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

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

Re: Модуль "MegaD"

Сообщение Chainik » Чт окт 12, 2017 8:46 pm

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

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

$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 раз.
За это сообщение автора Chainik поблагодарил:
andrey1509 (Чт окт 12, 2017 10:00 pm)
Рейтинг: 1.16%
andrey1509
Сообщения: 87
Зарегистрирован: Ср ноя 09, 2016 10:21 am
Откуда: Липецкая обл.
Благодарил (а): 22 раза
Поблагодарили: 2 раза

Re: Модуль "MegaD"

Сообщение andrey1509 » Чт окт 12, 2017 8:55 pm

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

Re: Модуль "MegaD"

Сообщение Chainik » Чт окт 12, 2017 9:03 pm

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

Re: Модуль "MegaD"

Сообщение andrey1509 » Чт окт 12, 2017 9:23 pm

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

Re: Модуль "MegaD"

Сообщение Chainik » Чт окт 12, 2017 9:27 pm

Да на странице и не должно быть показаний. Показания должны быть в Объкт.свойстве, куда записывается значение температуры в результате выполнения метода.
Вот как у вас называется объект.свойство, куда должна записываться температура с датчика?
За это сообщение автора Chainik поблагодарил:
andrey1509 (Чт окт 12, 2017 9:59 pm)
Рейтинг: 1.16%
andrey1509
Сообщения: 87
Зарегистрирован: Ср ноя 09, 2016 10:21 am
Откуда: Липецкая обл.
Благодарил (а): 22 раза
Поблагодарили: 2 раза

Re: Модуль "MegaD"

Сообщение andrey1509 » Чт окт 12, 2017 9:29 pm

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

Re: Модуль "MegaD"

Сообщение Chainik » Чт окт 12, 2017 9:43 pm

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

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

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

if ($m%5 == 0) {callMethod("Объект.Метод");} 
Раз в пять минут будет записываться новое значение свойства с опрашиваемого датчика.
За это сообщение автора Chainik поблагодарили (всего 2):
andrey1509 (Чт окт 12, 2017 9:59 pm) • Kuzma (Пт апр 20, 2018 8:58 pm)
Рейтинг: 2.33%
andrey1509
Сообщения: 87
Зарегистрирован: Ср ноя 09, 2016 10:21 am
Откуда: Липецкая обл.
Благодарил (а): 22 раза
Поблагодарили: 2 раза

Re: Модуль "MegaD"

Сообщение andrey1509 » Чт окт 12, 2017 9:59 pm

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
Ответить