Skocz do zawartości

Połączenie dwóch esp8266 do pomiaru temperatur


Pomocna odpowiedź

(edytowany)
1 godzinę temu, ethanak napisał:

zastanów się, w jakim przypadku otrzymamy błędne wyniki - ew. zaproponuj jak się tego ustrzec!

mam już "pomroczność jasną" od studiowania wariantów 😞

Może mała podpowiedź? Ewentualny błąd dotyczy odczytów Udp czy lokalnych?

Edytowano przez jaro44
(edytowany)

Dobra, jedyne co mi przychodzi do głowy to, że gdy nie odbierzemy pakietu udp (z różnych przyczyn np. zanik zasilania zewnętrznego esp),

to będzie cały czas wyświetlany ostatni pobrany pomiar, nie odnotuje zmiany.

Jeśli nie o to chodziło, to się poddaje.

 

 

Edytowano przez jaro44

Bardzo proste... tylko skąd będziesz wiedział że nie dostałeś?

Przy okazji - nie zero (bo to zero stopni) a -12700 (bo to oznacza "termometr niepodłączony"). Przy wyświetlaniu można to jakoś specjalnie traktować.

57 minut temu, ethanak napisał:

Bardzo proste... tylko skąd będziesz wiedział że nie dostałeś?

W kodzie już jest

if (packetSize>0)

więc może by tam wykorzystać i dopisać jeśli nie jest spełniony powyższy warunek to:

termometr[indeks] = -12700;

 

Czyli do tablicy wpiszesz wartość otrzymaną z termometru, a za chwilę (przy następnym obrocie pętli) wpiszesz że termometru nie ma... a wyświetlacz pewnie nawet nie zdąży wyświetlić temperatury 😞

 

Kombinuj dalej 🙂

Aha, nie zapomnij że termik4temp jak sama nazwa wskazuje potrafi obsłużyć 4 termometry, i aplikacja powinna móc współpracować z dwoma zewnętrznymi termometrami (na razie potrafi).

Na to nie wpadłem, aby to uzależnić od czasu odebrania ostatniego pakietu.

I co gorsza to nie jest wina braku wiedzy programistycznej tylko logicznego myślenia.

 

Bo zrobiłeś bardzo typowy błąd - założyłeś że potrzebna jest informacja, że pakiet nie przyszedł. Tymczasem potrzebna jest informacja, że pakiety przestały przychodzić 🙂

Dobra, już nie przeszkadzam, pisz dalej bo to ostatnia rzecz którą trzeba zrobić, wyświetlanie masz zdaje się opanowane a komunikacja z termikiem to jedna linijka.

 

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...