Kanał do pomiaru ciśnienia - jak uzyskać 3 kreski w apce

Zybi
Posty: 1431
Rejestracja: ndz cze 26, 2016 4:24 pm

czw sty 09, 2020 10:13 am

Jakie wartości należy przesłać do serwera, aby w apce na smartfonie wyświetlały się 3 kreski dla kanału do pomiaru ciśnienia. Tak jak na przykład dla kanału do pomiaru temperatury wartość -275 lub dla wilgotności -1 ?
Awatar użytkownika
pzygmunt
Posty: 7645
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontaktowanie:

czw sty 09, 2020 10:34 am

W tym przypadku --- pojawiają się tylko w momencie gdy kanał jest offline
Zybi
Posty: 1431
Rejestracja: ndz cze 26, 2016 4:24 pm

czw sty 09, 2020 10:44 am

pzygmunt pisze:
czw sty 09, 2020 10:34 am
W tym przypadku --- pojawiają się tylko w momencie gdy kanał jest offline
A czy będzie wprowadzona taka wartość i jaka, aby można było uwzględnić ją w obecnych kompilacjach softu ?
krycha88
Posty: 645
Rejestracja: pt lis 16, 2018 7:25 am

pt sty 17, 2020 8:44 am

czy sugestia będzie zrealizowana? :)
Awatar użytkownika
Robert Błaszczak
Posty: 750
Rejestracja: sob gru 22, 2018 8:55 pm
Lokalizacja: Zielona Góra
Kontaktowanie:

pt sty 17, 2020 9:40 am

Jeśli to ma być kanał pomiaru ciśnienia, to nie ma wartości, dla której miałyby się pojawić kreski. Inna sprawa w przypadku ciśnienia atmosferycznego.
Pozdrawiam
Robert Błaszczak
https://www.blaszczak.pl
Yepestis
Posty: 222
Rejestracja: pn wrz 24, 2018 6:08 pm
Lokalizacja: Wrocław

pt sty 17, 2020 9:56 am

Proponuję wartość -101,325 kPa
Zybi
Posty: 1431
Rejestracja: ndz cze 26, 2016 4:24 pm

pt sty 17, 2020 9:59 am

Robert Błaszczak pisze:
pt sty 17, 2020 9:40 am
Jeśli to ma być kanał pomiaru ciśnienia, to nie ma wartości, dla której miałyby się pojawić kreski. Inna sprawa w przypadku ciśnienia atmosferycznego.
A niby dlaczego nie. Na przykład wartości spoza zakresów pomiarowych czujników, lub dla absurdalnych wartości.

IMO -1 byłoby dobrą wartością dla takiego rozwiązania.
Awatar użytkownika
klew
Posty: 506
Rejestracja: czw cze 27, 2019 12:16 pm

pt sty 17, 2020 10:19 am

Ja widzę następujące opcje:
1. Dodanie na sztywno dla każdego typu kanału jakiejś "magicznej"" wartości, która oznacza błąd. Wartość kanału jest przesyłana jako 8 bajtów (czasami jest to interpretowane jako dwie wartości po 4 bajty). Przykładowo można na ten cel poświęcić ciąg wypełnony 0xFF. Niewielka strata, bo to i tak jest ekstremalnie mało prawdopodobna wartość. Do tego można zabezpieczyć się po stronie urządzenia, że gdyby odczyt miał dać taką wartość, to do serwera wysyłamy "wartość - 1", czyli gdzieś pojawi się 0xFE zamiast 0xFF.
Ciekawostka: DS18B20 używa wartości "85.0" do sygnalizowania niektórych problematycznych sytuacji. Aktualna biblioteka SuplaDevice na Arduino taką wartość wyłapuje i zamienia na "---", co w sumie wyklucza pojawienie się prawdziwego pomiaru o tej wartości temperatury.

2. Zmiana po stronie serwera i cloud - dodanie możliwości ustawienia "magicznej" wartości, która dla tego kanału będzie oznaczała "---". Tylko wtedy użytkownik musi wiedzieć jaką wartość zgłasza urządzenie w przypadku braku/błędu pomiaru. Minus tego rozwiązania jest taki, że pewnie każdy się w tym pogubi ;),

3. Zmiana w strukturze TDS_SuplaDeviceChannelValue i dodanie tam dodatkowego pola na jakieś "flagi", sygnalizację błędów, itp.

4. Rozszerzenie TDSC_ChannelState o informację o dostępności mierzonej wartości (flagi sygnalizujące błędy).
Yepestis
Posty: 222
Rejestracja: pn wrz 24, 2018 6:08 pm
Lokalizacja: Wrocław

pt sty 17, 2020 10:31 am

Czy przewidziano takie zagadnienie w kanale pomiarowym ogólnego przeznaczenia (viewtopic.php?f=17&t=5225)?
Może tam ten problem został już rozwiązany i wystarczy zaczerpnąć z tego rozwiązania.
Awatar użytkownika
pzygmunt
Posty: 7645
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontaktowanie:

pt sty 17, 2020 10:35 am

Można dodać do aplikacji <= -1 dla błędnego ciśnienia wtedy będą ---.
Kwestia umowna
ODPOWIEDZ