Не отображается температура с датчика DS18B20

Модератор: Alex

schel4ok
Сообщения: 136
Зарегистрирован: Вс сен 02, 2018 8:03 am
Благодарил (а): 2 раза
Поблагодарили: 0

Не отображается температура с датчика DS18B20

Сообщение schel4ok » Пн сен 03, 2018 8:10 pm

Попробовал получить температуру с датчика DS18B20 по документации https://hi-lab.ru/arduino-mega-server/d ... re-sensors.
Правда вместо резистора 4,7кОм взял 10кОм (какой был).
Датчики у меня не в корпусе ТО-92, а герметичные с али https://ru.aliexpress.com/item/MK00241- ... 33edB1p1Fh


В итоге в мониторе порта датчик виден, но на домашней странице всё ещё горит надпись На улице: 0°C. Столько же было и без датчика.
Что у меня не так? Питание несколько раз отключал и подключал заново, но изменений никаких.


Монитор порта

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

2018-09-03 19:37:52 Module Temperature...
2018-09-03 19:37:52  Parasite power ON
2018-09-03 19:37:52  Found 1 devices
2018-09-03 19:37:52  #0: 40 255 169 198 113 23 3 temp1
2018-09-03 19:37:52  #1: 40 255 169 198 113 23 3 temp2
2018-09-03 19:37:52  #2: 40 255 169 198 113 23 3 temp2

В скетче прописал адрес датчика, который посмотрел в мониторе порта

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

#define DS18B20_PIN         2
#define MAX_DS18B20_SENSORS 3
#define MAX_ID_DIGITS       7

char objSens[MAX_DS18B20_SENSORS][12] = {"temp1", "temp2", "temp2"};

// Sensors ID's
byte idTempDat[MAX_DS18B20_SENSORS][MAX_ID_DIGITS] = { 
  {40, 255, 169, 198, 113, 23, 3},
  {40, 221, 16, 81, 3, 0, 0},
  {40,  23, 98, 87, 3, 0, 0},
};
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Не отображается температура с датчика DS18B20

Сообщение serghei » Пн сен 03, 2018 9:02 pm

Добро пожаловать в мир ажакса ( или аякса ??). Если в дистрибутиве ничего не меняли и особенно в файлах SD карты , то подобного просто не может быть. Покажите вывод в браузере XML таблицы. Правой кнопкой мыши - исследовать элемент ( или в хроме показать код ).
СпойлерПоказать
Resp_dash.png
Resp_dash.png (116.94 КБ) 5881 просмотр
А что бы в этом разобраться - читать учебник - Выучить НАИЗУСТЬ !.

Покажите XML таблицу.

PS И к стати - в дистрибутиве есть ошибка, но её упорно не исправляют.( на Вашем скрине она есть )).

PSS// Пять золотых правил , что бы значение появилось на странице :

1. Получить переменную в коде.
2. По имени переменной отправить в Ажакс .
3. В СКРИПТЕ не забыть прописать !!!
4. Проверяем появление переменной в XML таблице.
5. Прописываем придуманный ID в HTM страницу.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
schel4ok
Сообщения: 136
Зарегистрирован: Вс сен 02, 2018 8:03 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Не отображается температура с датчика DS18B20

Сообщение schel4ok » Пн сен 03, 2018 11:02 pm

А почему в хелпе про это ничего не написано?
На странице написано только это
Если вы всё проделаете правильно, то после рестарта системы начнёт определяться температура со всех подключённых датчиков. С первого по списку датчика температура выводится в dash-панель интерфейса Arduino Mega Server.

Вообще ни слова больше.
Как с таким хелпом работать можно?
Вложения
temp-sensors.JPG
temp-sensors.JPG (51.56 КБ) 5868 просмотров
schel4ok
Сообщения: 136
Зарегистрирован: Вс сен 02, 2018 8:03 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Не отображается температура с датчика DS18B20

Сообщение schel4ok » Пн сен 03, 2018 11:13 pm

Как только полез в панель developper tools, то температура на dash панели загорелась 24С.
Только непонятно почему.
Вложения
temp-sensors.JPG
temp-sensors.JPG (147.46 КБ) 5866 просмотров
schel4ok
Сообщения: 136
Зарегистрирован: Вс сен 02, 2018 8:03 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Не отображается температура с датчика DS18B20

Сообщение schel4ok » Пн сен 03, 2018 11:32 pm

Далее попытался прочитать хелп Как добавить дополнительный датчик температуры на dash-панель
В хелпе можно было бы и написать в каком файле какая функция находится. Тут не написано.
Пробую найти поиском по всем файлам функцию, которая нас будет интересовать responseDash() - 0 matches

Я конечно нашел потом нужную функцию, но называется она совсем по-другому, код в ней изменён полностью. Дальше видимо ещё хуже.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Не отображается температура с датчика DS18B20

Сообщение serghei » Пн сен 03, 2018 11:47 pm

Alex писал(а):
Ср июн 17, 2015 9:07 pm
На данный момент проект находится в статусе альфа версии и для работы с ним нужны знания программирования и веб-технологий. Если вы не чувствуете в себе уверенности в этих областях, то, возможно, вам стоит подождать некоторое время, пока проект не приобретёт более или менее законченный вид.
А почему в хелпе про это ничего не написано?
На странице написано только это
Если вы всё проделаете правильно, то после рестарта системы начнёт определяться температура со всех подключённых датчиков. С первого по списку датчика температура выводится в dash-панель интерфейса Arduino Mega Server.

Вообще ни слова больше.
Как с таким хелпом работать можно?
Хелп написан правильно. И проект уже приобрел законченный вид. СКАЧАЛ - СКОМПИЛИЛ - ЗАГРУЗИЛ - РАБОТАЙ.

Температура согласно коду появится через 5 минут. Только если воткнуть 3 градусника - вылезет ошибка.

Посмотрите на дату написания хелпа и к какой версии он относится. Пробежитесь по тексту , только глазами

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

void respDash(EthernetClient cl) { // Может тут пару букв забыли написать ??????
  String s = tagXmlVersion();
  s += openInputs();
    s += makeModules();
    s += makeTag("uptime",   "", stringUptime());
    s += makeTag("freeRAM",  "", String(freeMem()));
С темами вопрос риторический - пусть решает модератор. По мне удобнее с человеком работать в одной ветке. Я это все проходил 3 года .
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Не отображается температура с датчика DS18B20

Сообщение serghei » Пн сен 03, 2018 11:51 pm

schel4ok писал(а):
Пн сен 03, 2018 11:32 pm
Дальше видимо ещё хуже.
А дальше вообще никак или читать 300 страниц форума и выискивать нужное. Тогда получите конфигурацию как у меня в подписи. Все это на форуме есть.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
schel4ok
Сообщения: 136
Зарегистрирован: Вс сен 02, 2018 8:03 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Не отображается температура с датчика DS18B20

Сообщение schel4ok » Вт сен 04, 2018 12:11 am

Это вот тут задержка в 5 минут задаётся насколько я понял

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

void tempWorks() {
  if (cycle5m) {
    sensors.requestTemperatures();
    getTemperature(0);
    getTemperature(1);
    getTemperature(2);
  }
}
А зачем такая большая задержка?


И мне совсем непонятно по коду файла timers.ino как переменной cycle5m присваивается значение 5 минут.

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

  timeSec  = uptimeSec;
  timer1s  = uptimeSec;
А потом timeSec - timer1s >= 1. Как это?

И дальше timeSec - timer5m >= 300. Это тоже как?
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Не отображается температура с датчика DS18B20

Сообщение serghei » Вт сен 04, 2018 12:48 am

Температура в комнате меняется на 1 градус в час. На улице в полчаса. В бойлере при нагреве ставлю 1 минуту. Один даллас обрабатывается 1 секунду. А сервер еще должен чем то заниматься.
Про таймеры не подскажу.но 300 это как раз 5 минут.И желательно их дописать до суток.
У Алекса есть статья на Хабре как работают эти таймеры.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: Не отображается температура с датчика DS18B20

Сообщение alexsis_76 » Вт сен 04, 2018 2:07 am

А потом timeSec - timer1s >= 1. Как это?

И дальше timeSec - timer5m >= 300. Это тоже как
это такой манер написания кода, а 1 и 300 это магические числа ;)
в минуте 60 сек а в 5 минутах 300.
Ответить