• 1
  • 7
  • 8
  • 9
  • 10
  • 11
От мобилни телефони до цифрови камери
radius - майстор
Моите, като бяха един до друг даваха най-много 2 десети разминаване.
brum - майстор
resistbody написа:
Офсет ми е достатъчен ама как да го добавя/извадя... може да видиш колко се разминавата показанията на снимакта а са забодени на бредборда един до друг..
Просто добавих някаква стойност към всеки сензор за който искаш корекции. Ако ти е сложно - качи кода или част от него и ще дам насоки.
resistbody - майстор
void handle_OnConnect() {
sensors.requestTemperatures();
tempSensor1 = sensors.getTempC(sensor1); // Gets the values of the temperature
tempSensor2 = sensors.getTempC(sensor2); // Gets the values of the temperature

Ако го напиша
tempSensor1 = sensors.getTempC(sensor1)+0.2;
дали ще се получи ?

В HTML частта ми е
ptr +="<p>Refrigerant IN: ";
ptr +=tempSensor1;
ptr +="&deg;C</p>";

та смятам на първото трябва да е корекцията..
brum - майстор
resistbody написа:
Ако го напиша
tempSensor1 = sensors.getTempC(sensor1)+0.2;
дали ще се получи ?
Да, точно това е подхода. +0.2, -0.5 - колкото е нужно.
resistbody написа:
В HTML частта ми е
ptr +="<p>Refrigerant IN: ";
ptr +=tempSensor1;
ptr +="&deg;C</p>";

та смятам на първото трябва да е корекцията..
Правилно смяташ. HTML-а е за репрезентация. Там не трябва да има информация, че се правят корекции върху данните. Ако в един момент почнеш да пращаш телеметрия като автора ще осъзнаеш, че корекцията в HTML-а трябва да я дублираш и в кода дето праща телеметрията. А да поддържаш един и същи код на две места почва да става сложно. Та за това - корекциите по първият начин.
resistbody - майстор
Благодаря за бързия отговор, знам че си доста навътре в тая част... скоро ще получа всички части за най-добрия(според мен) самоделен контролер за самоделна термопомпа и ще споделя във форума.. лошото е че първоизточика е на Руски език, а моя е много зле... на всичко отгоре са 600 страници темите, аз съм прегледал около 300 и нещо.. аз ще го използвам само за мониторинг, но поддържа контрол на инвертор и ЕВР, трипътен вентил за БГВ(евентуално и при мен) и подпомагане от солари в изпарителната част (за вода-вода и земя-вода)
radius - майстор
Интересно се получава при мен. Явно има някакво зацикляне, всичко работи правилно (от часове, до ден-два), но в един момент спират да се пращат тия отчети които са по-нарядко. Тези 2 датчика, които са на 30сек продължават да сe изпращат, но другите, които заминават при count = 8 спират. След ресет/рестарт от RST бутончето, нещата се оправят. Предполагам по някаква причина броячът спира да се увеличава.
Мисля си да добавя още един брояч, който да рестартира ЕСП-то през половин час примерно, но ми е интересно какво може да се случва в сегашната програмка ?
Krasi_S - специалист
пон апр 04, 2022 3:28 pmradius написа:
Интересно се получава при мен. Явно има някакво зацикляне, всичко работи правилно (от часове, до ден-два), но в един момент спират да се пращат тия отчети които са по-нарядко. Тези 2 датчика, които са на 30сек продължават да сe изпращат, но другите, които заминават при count = 8 спират. След ресет/рестарт от RST бутончето, нещата се оправят. Предполагам по някаква причина броячът спира да се увеличава.
Мисля си да добавя още един брояч, който да рестартира ЕСП-то през половин час примерно, но ми е интересно какво може да се случва в сегашната програмка ?
Здравей,
Проблема ти е, че увеличението на брояча counter го правиш в началото на всяко завъртане на цикъла. А условието ти за нулиране е само в подфункцията "ако си свързан към сървъра":

Код: Избери всички

if (client.connect(server, 80))
А разпадания на връзката има постоянно. И така, когато се закачиш наново, брояча ти вече е минал условието да е равен на 8. Има два начина да го "оправиш":
1. Слагаш условието вместо "==" да е "по-голямо или равно >=" от 8. Така още при първото закачане ще влезе да го занули.
2. Да преместиш увеличаването на брояча да ти е в началото на функцията "ако си свързан към сървъра".
radius - майстор
Мерси, че си се зачел задълбочено. Ще го пробвам първо по първия начин.
muhala - майстор
Ей, това било голяма зарибявка. Имам едно ESP отпреди години, така стои неотваряно. Не знаех, че може и с Ардуино средата да се коди.
Току що се регистрирах в thingspeak.com. Понеже още не съм пуснал ЕСП-то, пробвах да пращам данни чрез html форма.
Работи идеално.

Относно температурния контрол.... Преди време правих нещо подобно но а Atmel AVR.
Според мен трябва да направиш поне 10 измервания с ESP-то, после да вземеш средноаритметичното. Тогава прати данните до thingspeak.com.
Даже според книгите трабва да махнеш грубите грешки. Ако махнеш най-голямата и най-малката стойност също би било достатъчно.
radius - майстор
Аз малко не смея да се похваля, но след последната корекция по идея на Krasi_S, след като смених == 8 с >= 8 , вече 10 дни работи стабилно.
Много благодаря на всички !
  • 1
  • 7
  • 8
  • 9
  • 10
  • 11

Тема "Онлайн температурен мониторинг" | Включи се в дискусията:


Сподели форума:

Бъди информиран. Следвай "Направи сам" във Facebook:

Намери изпълнител и вдъхновения за дома. Следвай MaistorPlus във Facebook: