Страница 1 из 1
Шкала набора ёмкости
Добавлено: Чт янв 19, 2017 11:08 am
MaxVM
Добрый день!
Подскажите как поумнее сделать!
Есть объект который показывает расстояние до воды в см (от 0 до 150)
Хотелось бы перевести данные в проценты (от 0% до 100%)
Данные меняются по MQTT
И отобразить картинку с видом ёмкости (бака) которая показывала бы процент заполнения как в числовом виде так и графиком (пример заряд батареи в телефоне).
Подскажите куда копать?
Спасибо!
Re: Шкала набора ёмкости
Добавлено: Чт янв 19, 2017 11:53 am
SolarW
MaxVM писал(а):Есть объект который показывает расстояние до воды в см (от 0 до 150)
Хотелось бы перевести данные в проценты (от 0% до 100%)
При расстоянии до воды равном нулю не боитесь что датчик утонет?
Может лучше поднять сантиметров 20 и соответственно измерять диапазон от 170 до 20?
Ну а диапазон 0...100% переводить по формуле.
Формулу сами сообразите?
Re: Шкала набора ёмкости
Добавлено: Чт янв 19, 2017 12:21 pm
nick7zmail
mqtt передает же в свойство? К свойству привязываете метод, и там формулу, которая считает процент и заносит в другое свойство. А уже это самое "другое свойство" используете для сцены.
Re: Шкала набора ёмкости
Добавлено: Чт янв 19, 2017 12:36 pm
MaxVM
SolarW писал(а):MaxVM писал(а):Есть объект который показывает расстояние до воды в см (от 0 до 150)
Хотелось бы перевести данные в проценты (от 0% до 100%)
При расстоянии до воды равном нулю не боитесь что датчик утонет?
Может лучше поднять сантиметров 20 и соответственно измерять диапазон от 170 до 20?
Ну а диапазон 0...100% переводить по формуле.
Формулу сами сообразите?
Да конечно подниму, это так для примера написал.
Если не сложно посоветуйте по формуле!
По расчету и смысл понял. Спасибо!
Вторая часть меня сильно интересует-Это визуальное отображение! Как реализовать?
Подставлять к значению разные картинки или можно какимо прогресс баром например?
Re: Шкала набора ёмкости
Добавлено: Вс янв 22, 2017 2:05 am
tsember
MaxVM писал(а):SolarW писал(а):MaxVM писал(а):
Вторая часть меня сильно интересует-Это визуальное отображение! Как реализовать?
Первое, что приходит на ум - графики HightCharts. Например, этот:
http://www.highcharts.com/demo/gauge-speedometer
или
http://www.highcharts.com/demo/gauge-solid.
Второе, что можно реализовать, без графиков: ищите в интернете (или рисуете сами) вашу емкость, например в фотошопе. Ее внутренний объем разбиваете на 100 частей. Затем каждую часть "заливаете" (инструмент такой есть: заливка) голубым фоном (или градиентом, для красоты). Каждую часть сохраняете: Например: 1 процент, залили 1/100 бака, сохранили в папку tank под именем 1.jpg. 2% - 2.jpg и так 100 раз

))
Потом в домашней странице (или сцене) выводите необходимую картинку кодом:
<img src=/img/tank/%tank.water%.jpg>
Учтите, что свойство water объекта tank должно содержать в себе целочисленное значение от 0 до 100.
Вот как то так.
Re: Шкала набора ёмкости
Добавлено: Пн янв 23, 2017 10:11 am
nick7zmail
MaxVM писал(а):Если не сложно посоветуйте по формуле!
А что советовать то? Могу только написать)) Формула примерно такая (метод привязываете к изменению свойства, а на сцену выводите %другое.свойство%, можно с индикаторами, которые привели выше)
Код: Выделить всё
$emk=gg('ваше.свойство');//забираем свойство полученное в mqtt
$emk_per=$emk/1.5; //переводим в проценты (не помню точка или запятая отделяет десятки...но вроде точка)
sg('другое.свойство', $emk_per);