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

Вопрос по настройке отображения данных

Добавлено: Пт ноя 02, 2018 12:43 am
svetozar161
Здравствуйте. Пытался настроить отображение температуры с 3х датчиков на главной странице АМС, по хелпу на странице hilabs. Естественно ничего не получилось, так как не совпадают названия файлов, например в scripts.js таких строк нет, они находятся в других файлах. Вобщем хелп нужно писать для версии 0.17. Кто настроил - подскажите. Максимум я добился вывода температуры в сервере аякс, но на странице их нет
Изображение
Изображение
Далее, замучался я с отображением данных в мажоре. Применял способ serghei с импортом классов, но это не то, потому что данные обновляются только при рефреше страницы мажора, а автоматически нет, что видно на графиках.
Изображение
Если кто знает, конкретный гайд по получению данных и привязке их к мажору, прошу помочь. Спасибо.

Re: Вопрос по настройке отображения данных

Добавлено: Пт ноя 02, 2018 1:14 am
serghei
Если есть в XML таблице , то в HTM файле пропиши тот же ID который присвоил. Покажи сам файл _dash.htm

С мажером все в порядке. Какой у тебя период отправки значений? И в истории у Алисы надо накопить данные. Похоже там всего 2 значения . А скрины по другому не вставить? Прямо на форум.

Re: Вопрос по настройке отображения данных

Добавлено: Пт ноя 02, 2018 3:29 pm
Alex
Вобщем хелп нужно писать для версии 0.17
Там на каждой странице есть предупреждение к какой версии относится текст.

А вообще вы правы — документацию нужно актуализировать. В планах было обновить версии для ESP и после этого обновить документацию, но это колоссальный объём работы и пока у меня на это нет времени.

Re: Вопрос по настройке отображения данных

Добавлено: Пт ноя 02, 2018 4:27 pm
serghei
Alex, уж создали тему , спрошу здесь. svetozar161 написал модуль для аналогового датчика давления. Простая математика . Читаем аналоговый порт и делим - умножаем на коэффициент. Все отлично работает. И даже передает в МД.
  • 2018-11-02 15:04:28 5.42 bar
    2018-11-02 15:04:30 Host 192.168.2.108 not connected (GET /objects/?object=Press&op=m&m=update&v=5.41 HTTP/1.0)
Теперь передаем через Ажакс нашу переменную
  • s += makeTag("press", "", String(pressure_bar()));
И компилятор ругается
  • 'pressure_bar' cannot be used as a function
Если убрать скобки
  • s += makeTag("press", "", String(pressure_bar));
, то как бы работает , но на страницу попадает число - 1.38 и ни от чего не зависит.
Я конечно выкрутился математикой в скрипте , но это как то не правильно. Хотя то же период в микросекундах спокойно передается
  • s += makeTag("period", "", String(periodInMicros));
То есть проблема либо в нижнем подчеркивании в названии , либо действительно число это не функция :roll:

Re: Вопрос по настройке отображения данных

Добавлено: Пт ноя 02, 2018 4:40 pm
Alex
Alex, уж создали тему , спрошу здесь.
А в чём собственно вопрос? Что касается pressure_bar, то я не знаю в чём дело, но похоже на то, что в скетче есть переменная pressure_bar которую вы пытаетесь использовать как функцию - но это только мои предположения.

Почему число не меняется я тоже не знаю, но начать можно с вывода в сериал переменной в разных местах (где она встречается). Если она нигде не меняется, то нужно задать вопрос автору — какого … он придумал? :)

Re: Вопрос по настройке отображения данных

Добавлено: Пт ноя 02, 2018 4:49 pm
serghei
Вопрос был как передать именно число ( любое произвольное ). Такая же беда есть и со счетчиками импульсов. Выкрутились опять через ...@....
Подсчет периода в электромодуле передается как число. Но похоже в коде он определен как функция.

Re: Вопрос по настройке отображения данных

Добавлено: Пт ноя 02, 2018 7:32 pm
Alex
Такая же беда есть и со счетчиками импульсов. Выкрутились опять через ...@....
Подсчет периода в электромодуле передается как число. Но похоже в коде он определен как функция.
Вот это совсем не понял о чём речь.
Вопрос был как передать именно число ( любое произвольное ).
А что с этим есть какие-то проблемы? Вроде бы любое число всегда передавалось без каких-либо проблем...

Re: Вопрос по настройке отображения данных

Добавлено: Сб ноя 03, 2018 2:04 am
alexsis_76
То есть проблема либо в нижнем подчеркивании в названии , либо действительно число это не функция
проблема точно не в нижнем подчеркивании
переменная не может быть функцией(хотя может содержать указатель на что то) и нельзя написать pressure_bar()
только так
флоат,инт pressure_bar
pressure_bar=данные датчика
можно попробовать так
String(pressure_bar()
тогда нужно определить
float pressure_bar(void){
float pressure;
pressure=данные датчика;
return pressure;
}
вернет pressure
но начать можно с вывода в сериал переменной в разных местах
начать надо с разбора кода

Re: Вопрос по настройке отображения данных

Добавлено: Вс ноя 04, 2018 6:34 pm
serghei
Как всегда всё оказалось банально просто и уперлось в отсутствие знаний. Переменную сначала надо было объявить(((.

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

float pressure_bar;
и в цикле

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

if(cycle20s){
int raw = analogRead(SENSOR);
float voltage = (float) raw * 5.5 / 1024.0;     // voltage at the pin of the Arduino
float pressure_kPa = (voltage - 0.5) / 4.0 * 1100.0 * 10;          // voltage to pressure
 pressure_bar = pressure_kPa * 0.001;    // kPa to bar
Спасибо всем и учителю особенно.

PS/ Таким же образом можно вытаскивать все аналоговые датчики - температуры , освещенности ....

Re: Вопрос по настройке отображения данных

Добавлено: Пн ноя 05, 2018 5:12 am
alexsis_76
то как бы работает , но на страницу попадает число - 1.38 и ни от чего не зависит
как бы она уже где то была, иначе бы компилятор заругался