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

MLX90614 как взять температуру объекта?

Добавлено: Пн апр 13, 2020 10:43 pm
LouD
Здравствуйте!
Имеется устройство MLX90614 - I2C, которое бесконтактно снимает температуру объекта.
Суть в том, что это чудо возвращает 2 значения: окружающей среды вокруг него и непосредственно измеряемый объект.
Изображение

К дополнительным "плюшкам" эта нужная температура иногда возвращается с ошибкой:
Изображение

То есть надо снимать значение obj, при этом значение amb лично мне бесполезно и можно его игнорировать; и при этом повторять опрос, если obj ===N/A

Кто-то коннектил это устройство и может подсказать, как решить?

Re: MLX90614 как взять температуру объекта?

Добавлено: Ср апр 22, 2020 10:57 pm
LouD
Вопрос по-прежнему открыт. Как работать с этим устройством - не понимаю.
Оно подключено, MegaD отдает:
Значение: amb:41.23/obj:68.47

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

Куда копать, подскажите? :?: :?:

Re: MLX90614 как взять температуру объекта?

Добавлено: Чт апр 23, 2020 12:41 am
Chainik
LouD писал(а):
Ср апр 22, 2020 10:57 pm
Вопрос по-прежнему открыт. Как работать с этим устройством - не понимаю.
Оно подключено, MegaD отдает:
Значение: amb:41.23/obj:68.47

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

Куда копать, подскажите? :?: :?:
Так запрашивайте сразу тот параметр, который вам нужен. Читаю в инструкции:

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

# Отображение температуры окружающей среды (MLX90614)
http://192.168.0.14/sec/?pt=31&scl=30&i2c_dev=mlx90614&i2c_par=1
# Отображение температуры объекта (MLX90614)
http://192.168.0.14/sec/?pt=31&scl=30&i2c_dev=mlx90614&i2c_par=2
Я так понял, вам нужна температура объекта.
Должно быть какое-то Объект.Свойство, куда будет сохранятся значение с датчика.
1. Создаем скрипит (сценарий) для опроса датчика и записи значения в свойство (пусть сценарий называется "opros_MLX90614"):

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

$tempObj = file_get_contents("http://192.168.0.14/sec/?pt=31&scl=30&i2c_dev=mlx90614&i2c_par=2");
sg('Имя_Объекта.Имя_Свойства',$tempObj);
2. Организовываете периодический опрос датчика. Например, записав команду на запуск скрипта в «onNewMinute» (Панель управления --> ОБЪЕКТЫ --> Объекты --> [класс] Timer --> ClockChime --> onNewMinute) такой код:

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

if ($m%5 == 0) {runScriptSafe("opros_MLX90614");}
После этого запрошенный параметр с датчика будут сохранятся в свойстве с 5-минутной периодичностью.

Re: MLX90614 как взять температуру объекта?

Добавлено: Вс апр 26, 2020 7:25 pm
LouD
Сейчас буду пробовать настроить это.
Тут еще момент отображения в MJD: https://yadi.sk/i/k31yUsmAy_YiiA - то есть красивая картинка с пиктограммой градусника связана со статичными данными, полученными когда-то при первой настройке, а актуальные - те, что выше, "Значение". Конечно, это тоже хотелось бы поправить.

Re: MLX90614 как взять температуру объекта?

Добавлено: Вс апр 26, 2020 10:25 pm
Chainik
LouD писал(а):
Вс апр 26, 2020 7:25 pm
Сейчас буду пробовать настроить это.
Тут еще момент отображения в MJD: https://yadi.sk/i/k31yUsmAy_YiiA - то есть красивая картинка с пиктограммой градусника связана со статичными данными, полученными когда-то при первой настройке, а актуальные - те, что выше, "Значение". Конечно, это тоже хотелось бы поправить.
Уж не знаю, где именно у вас такая картинка, но уверен, если вы зайдете в ее настройку и поправите там ссылку, укажите Oбъект.Cвойство со значением температуры, которое у вас теперь регулярно должно обновляться, то все будет в порядке.

Кстати, именно такая картинка с градусником используется в элементе сцеры типа "Информер".