SmartLiving.ru

Обсуждение проекта
 
Текущее время: Пт янв 19, 2018 1:02 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: steel series на домашних страницах
СообщениеДобавлено: Вс фев 19, 2017 3:00 pm 
Не в сети

Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Сообщения: 400
Благодарил (а): 26 раз.
Поблагодарили: 85 раз.
Может, кому-то пригодится:

Приложение к http://majordomo.smartliving.ru/forum/viewtopic.php?f=5&t=2810&start=70#p41624
пример вывода одиночного спидометра
[Показать] Скрытый текст: Спидометр
Код:
<body onload="init()">

<
canvas id="canvasTin" width="201" height="201"></canvas>
 
<script>
    var scroll = false;
    var RadialTin;
    function init() {
        // Initialzing gauge
        // Define some sections
        //раскрасим шкалу -15..+15 голубой
        //15...25 зеленый
        //-30...-15,25...30 желтый
        var sections = [steelseries.Section(-15, 15, 'rgba(0, 0, 220, 0.3)'),
                        steelseries.Section(15, 25, 'rgba(0, 220, 0, 0.3)'),
                        steelseries.Section(-30, -15, 'rgba(220, 220, 0, 0.3)'),
                        steelseries.Section(25, 30, 'rgba(220, 220, 0, 0.3)') ],

            // Define one area
            // розовый сектор
            areas = [steelseries.Section(30, 40, 'rgba(220, 0, 0, 0.3)'),
                     steelseries.Section(-40, -30, 'rgba(220, 0, 0, 0.3)'),],
            //treshold = 25 - лампочка начинает мигать
        RadialTin = new steelseries.Radial('canvasTin', {
                            gaugeType: steelseries.GaugeType.TYPE4,
                            size: 201,
                            section: sections,
                            area: areas,
                            minValue:-40,
                            maxValue:40,
                            titleString: "Температура",
                            unitString: "Градусы",
                            threshold: 25,
                            lcdVisible: true
                        
});
       RadialTin.setBackgroundColor(steelseries.BackgroundColor.WHITE);

        //upd
        live_upd("/pChart/?op=value&p=ws.tempInside", RadialTin); //сразу обновим  ////// вставьте свое Объект.Свойство
        

        
// Start the update
        //читаем данные каждые 7 с
        setInterval(function(){ live_upd("/pChart/?op=value&p=ws.tempInside", RadialTin); },7000); // вставьте свое Объект.Свойство
}

    function live_upd(url,gauge) {
             $.ajax({
             url: url,
             }).done(function(data) { 
              if 
(data!='') {gauge.setValueAnimated(parseFloat(data));}
             });
     }


</script>

 
<script src="../SteelSeries/tween-min.js"></script>
<script src="../SteelSeries/steelseries-min.js"></script>
</body>


Одиночный одометр

[Показать] Скрытый текст: Одометр
Код:
<body onload="init()">
<
canvas id="canvasOdometer1" width="189" height="40"></canvas>

 
<script>
    var odometer1, n = 999999997.7;
    function init() {
       odometer1 = new steelseries.Odometer('canvasOdometer1', {
 
 digits
:12,
 decimals:2
 
});

  

        
// Start the update
        //читаем данные каждые 2 с
        setInterval(function(){ live_upd("/pChart/?op=value&p=ThisComputer.cycle_execsRun", odometer1); },2000);  // вставьте свое Объект.Свойство
}

    function live_upd(url,gauge) {
             $.ajax({
             url: url,
             }).done(function(data) { 
              if 
(data!='') {gauge.setValueAnimated(parseFloat(data));}
             });
     }


</script>

 
<script src="../SteelSeries/tween-min.js"></script>
<script src="../SteelSeries/steelseries-min.js"></script>
</body>


Полный комплект свойств можно увидеть при просмотре файла steelseries.js
Например, для одометра
Код:
            height = (undefined === parameters.height ? 0 : parameters.height),
            digits = (undefined === parameters.digits ? 6 : parameters.digits),
            decimals = (undefined === parameters.decimals ? 1 : parameters.decimals),
            decimalBackColor = (undefined === parameters.decimalBackColor ? '#F0F0F0' : parameters.decimalBackColor),
            decimalForeColor = (undefined === parameters.decimalForeColor ? '#F01010' : parameters.decimalForeColor),
            font = (undefined === parameters.font ? 'sans-serif' : parameters.font),
            value = (undefined === parameters.value ? 0 : parameters.value),
            valueBackColor = (undefined === parameters.valueBackColor ? '#050505' : parameters.valueBackColor),
            valueForeColor = (undefined === parameters.valueForeColor ? '#F8F8F8' : parameters.valueForeColor),
            wobbleFactor = (undefined === parameters.wobbleFactor ? 0.07 : parameters.wobbleFactor


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: steel series на домашних страницах
СообщениеДобавлено: Вс фев 19, 2017 4:29 pm 
Не в сети

Зарегистрирован: Пт ноя 06, 2015 10:22 am
Сообщения: 1547
Откуда: Кишинёв
Благодарил (а): 199 раз.
Поблагодарили: 123 раз.
A-A-A-A--- ))))) Громадное спасибо!!!! Буду попробывать ))) ! Теперь только пуля меня остановит )))) !!!!!!
Здорово смотрится , но вот надо же одометр в рамку забыли одеть ((((((
Осталось разобраться с цветными линейными приборами. Что то браузеру не нравится
[Показать] Скрытый текст:
Код:
     // Define value gradient for bargraph
        var valGrad = new steelseries.gradientWrapper(  0, // тут начинает ругаться.......
                                                        100,
                                                        [ 0, 0.33, 0.66, 0.85, 1],
                                                        [ new steelseries.rgbaColor(0, 0, 200, 1),
                                                          new steelseries.rgbaColor(0, 200, 0, 1),
                                                          new steelseries.rgbaColor(200, 200, 0, 1),
                                                          new steelseries.rgbaColor(200, 0, 0, 1),
                                                          new steelseries.rgbaColor(200, 0, 0, 1) ]);

Ну и картинка
[Показать] Скрытый текст:
Вложение:
Тест страницы.jpg
Тест страницы.jpg [ 167.11 КБ | Просмотров: 1830 ]


Еще раз спасибо !!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: steel series на домашних страницах
СообщениеДобавлено: Вт май 09, 2017 11:17 pm 
Не в сети

Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Сообщения: 228
Благодарил (а): 34 раз.
Поблагодарили: 41 раз.
Вопрос к знающим. Не стоит ли вынести строки
Код:
<script src="../SteelSeries/tween-min.js"></script>
<script src="../SteelSeries/steelseries-min.js"></script>
На уровень
/templates/application.html, /freeboard/index.php и т.п.
Не будут ли эти библиотеки подгружаться из каждого шаблона или домашней страницы? Или не важно?

PS: Кстати, в библиотеке по-умолчанию не работают RadialBargraph. Даже в примерах из поставки. Как будто из там нет))
Вложение:
Clipboard01.jpg
Clipboard01.jpg [ 5.38 КБ | Просмотров: 1373 ]


Нужно внести изменения в исходниках
как написано здесь / точнее здесь. Автор почему-то не исправил за полгода.

[Показать] Скрытый текст: Выглядят очень даже, по-моему
Вложение:
Clipboard02.jpg
Clipboard02.jpg [ 44.38 КБ | Просмотров: 1372 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: steel series на домашних страницах
СообщениеДобавлено: Пт янв 12, 2018 7:57 pm 
Не в сети

Зарегистрирован: Ср ноя 09, 2016 10:21 am
Сообщения: 85
Откуда: Липецкая обл.
Благодарил (а): 22 раз.
Поблагодарили: 2 раз.
Здравствуйте.
Не могу заставить считать одометр из примера
Меняю так - //читаем данные каждые 2 с
setInterval(function(){ live_upd("/pChart/?op=value&p=ElectroCounter.Total", odometer1); },2000); // вставьте свое Объект.Свойство
} - но в ответе одни нули. В Объект.Свойство значение меняется.
Что не так ?

_________________
Debian Linux 7,Linux 3.2.0-4-686-pae on i686
Intel(R) Celeron(R) CPU 1.70GHz, 1 cores


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: steel series на домашних страницах
СообщениеДобавлено: Пт янв 12, 2018 10:55 pm 
Не в сети

Зарегистрирован: Пт ноя 06, 2015 10:22 am
Сообщения: 1547
Откуда: Кишинёв
Благодарил (а): 199 раз.
Поблагодарили: 123 раз.
А что при этом не нравиться браузеру ? Какие ошибки выдает? Остальные спидометры работают?
На картинке видно , что все работает , а батарейка не нравиться )) (Это на ардуине. Смысл тот же).(( Это ж ровно год прошёл...))
[Показать] Скрытый текст:
Вложение:
Steel_AMS.jpg
Steel_AMS.jpg [ 289.69 КБ | Просмотров: 352 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: steel series на домашних страницах
СообщениеДобавлено: Сб янв 13, 2018 1:04 am 
Не в сети

Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Сообщения: 400
Благодарил (а): 26 раз.
Поблагодарили: 85 раз.
По приведённому выше коду
183 строка battery1 = new steelseries.Battery(...
196 line batVal=battery1; <---- так можно?

По заданному ранее вопросу ответил в личку


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: steel series на домашних страницах
СообщениеДобавлено: Сб янв 13, 2018 1:08 am 
Не в сети

Зарегистрирован: Пт ноя 06, 2015 10:22 am
Сообщения: 1547
Откуда: Кишинёв
Благодарил (а): 199 раз.
Поблагодарили: 123 раз.
Спасибо! В МД вроде получается. Буду разбираться с ардуиной.

Классно получилось. Жаль только цифрового вывода нет. Только по цвету и длине " батарейки" ориентироваться.

А вот с БарГрафом что то не взлетело. В библиотеке добавил код. ....Ну уже завтра добью......


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: steel series на домашних страницах
СообщениеДобавлено: Сб янв 13, 2018 1:25 am 
Не в сети

Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Сообщения: 400
Благодарил (а): 26 раз.
Поблагодарили: 85 раз.
Да, и общее замечание:
вместо
/pChart/?op=value&p=object.property
можно пользоваться
/objects/?op=get&object=object&p=property


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: steel series на домашних страницах
СообщениеДобавлено: Сб янв 13, 2018 10:58 am 
Не в сети

Зарегистрирован: Пт ноя 06, 2015 10:22 am
Сообщения: 1547
Откуда: Кишинёв
Благодарил (а): 199 раз.
Поблагодарили: 123 раз.
Получилось добавить батарейку ! Проблема оказалась в том, что она не вписывается в общую канву индикаторов
Код:
  function setValue(gauge, range)
  {
      gauge.setValueAnimated(range);
  
. Для неё пришлось создать отдельную функцию
Код:
    function setValue_bat(gauge, range)
  {
      gauge.setValue(range);
  }

А вот с RadialBargraph не пошло. Добавил в Steelseries.js
Код:
        var minMeasuredValue = maxValue;
        var maxMeasuredValue = minValue

но браузер ругается
[Показать] Скрытый текст:
Код:
            } else {
                niceRange = (maxValue - minValue);
                niceMinValue = minValue;
                niceMaxValue = maxValue;
                range = niceRange;
                //minorTickSpacing = 1;  // тут ошибка , хотя закомментировано
                //majorTickSpacing = 10;
                majorTickSpacing = calcNiceNumber(niceRange / (maxNoOfMajorTicks - 1), true);
                minorTickSpacing = calcNiceNumber(majorTickSpacing / (maxNoOfMinorTicks - 1), true); 

ipz, если у Вас получилось, выложите полный код , пожалуйста!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: steel series на домашних страницах
СообщениеДобавлено: Чт янв 18, 2018 1:31 am 
Не в сети

Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Сообщения: 400
Благодарил (а): 26 раз.
Поблагодарили: 85 раз.
Там мало js править, нужно после правки ещё файлы c min пересоздать
<script src="../SteelSeries/tween-min.js"></script>
<script src="../SteelSeries/steelseries-min.js"></script>


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB