Страница 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войство со значением температуры, которое у вас теперь регулярно должно обновляться, то все будет в порядке.
Кстати, именно такая картинка с градусником используется в элементе сцеры типа "Информер".