Kanały pomiarowe ogólnego przeznaczenia - konsultacje społeczne

User avatar
klew
Posts: 10676
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Miał być jeden Kanał Pomiarowy Ogólnego Przeznaczenia (KPOP), ale wyszło:
kpop i klop.png
;)

Na chwilę obecną pracujemy nad dwoma kanałami:
- KPOP oraz
- Kanał Licznikowy Ogólnego Przeznaczenia (KLOP).

W sofcie używamy angielskich nazw i tam pojawia się głównie GPM używane zamiennie dla General Purpose Measurement (KPOP) oraz General Purpose Meter (KLOP)

Podział wynika z dość mocno odmiennej natury obu typów pomiarów, choć pewnie znajadą się przypadki uniwersalne, gdzie bardziej elastyczne podejście byłoby lepsze.
Głównym przeznaczeniem KPOP są pomiary, takie jak: napięcie, temperatura, moc, wilgotność, natężenie światła, odległość, itd. - czyli wszystko to co można zmierzyć.
Głównym przeznaczeniem KLOP są liczniki, w których często interesuje nas o ile wzrosła/spadła dana wartość w przedziale czasowym, np. energia, ilość wody/gazu.

KPOP i KLOP mają osobne typy oraz osobne funkcje kanałów. To znaczy, że po stronie Cloud nie będzie można zmienić ich typu. Typ określa się w sofcie na urządzeniu. Zmiana typu kanału będzie związana z koniecznością usunięcia urządzenia z Cloud i ponownej rejestracji.

Oba kanały mają podobną konfigurację, ale KLOP ma kilka dodatkowych parametrów. Także najpierw lista parametrów konfiguracyjnych KPOPa:
- dzielnik (od -2000000,000 do 2000000,000)
- mnożnik (j/w)
- wartość dodana
- ilość miejsc po przecinku do wyświetlania (od 0 do 4)
- jednoskta wyświetlana PRZED wartością (np. "$" w zapisie "$ 100")
- jednostka wyświetlana ZA wartością (np. "lx" w zapisie "340,23 lx")
- możliwość wyłączenie spacji między jednostką a wartością - osobno "przed" i "za", np. "$100"
- zapisuj historię (domyślnie "nie") - historia zawsze jest i będzie co 10 min, tego nie planujemy zmieniać
- rodzaj wykresu, np. liniowy, słupkowy, świeczki (tylko KPOP)
- częstotliowość odświeżania pomiaru po stronei urządzenia (domyślnie 5 s, będzie można ustawić mniej lub więcej)

Dodakowo KLOP będzie miał:
- typ licznika: "liczący tylko w górę", "liczący tylko w dół", "liczący w górę i w dół". Liczenie "tylko w górę" działa tak jak obecnie działają liczniki energii i liczniki impulsów - wykresy nie pokazują spadków, tylko traktują je jako reset licznika (w najnowszych wersjach apek to już jest)
- określenie, czy "wartość dodana" ma być zapisywana w historii
- opcja wypełniania brakujących danych (tak/nie) - analogicznie jak to działa obecnie w licznikach energii - gdy urządzenie było offline przez 2h i się połączy, to wykresy po równo rozkładają zużycie w czasie, gdy urządzenie było offline.

Dla niektórych parametrów, urządzenie może określić wartość domyślną (jednostki przed i za, dzielnik, mnożnik, wartość dodana, ilość miejsc po przecinku, ikona). Wartości domyślne definiuje soft na urządzeniu (przykładowo mamy już implementację czunika natężenia światła MAX44009 i on domyślnie zarejestruje się z jednostką "lx" i odpowiednią ikoną).

Kanał KPOP będzie w historii zapisywał 5 wartości: wartość otwarcia, wartość zamknięcia, średnia wartość, minimalna wartość i maksymalna. Dzięki temu mimo zapisu co 10 min, będzie dużo więcej informacji o tym co się działo z pomiarem w tym czasie.

Kanał KLOP będzie zapisywał tylko wartość licznika.

Już niedługo udostępnimy więcej informacji i jakieś zdjecia, aby było coś do pooglądania. Na chwilę obecną Cloud nie obsługuje jeszcze tych liczników (mimo tego, że wygląda jakby coś tam wspierał :) ), serwer beta-cloud.supla.org w dużej mierze wspiera KPOP i KLOP. Apki jeszcze nie wspierają, ale niedługo powinna się pojawić jakaś wersja testowa. supla-device częściowo wspiera oba typy kanałów. Są dodane implementacje dla kanałów czujników natężenia światła (BH1750 oraz MAX44009) oraz kanał pokazujący ilość wolnej pamięci RAM na ESP.
Odnośnie implementacji po stronie urządzeń, zrobię niedługo osobny temat, aby omawiać detale :).

Tutaj proszę o opinie, uwagi, sugestie co jeszcze można zmienić/dodać do kanałów pomiarowych. Wypisujcie też do pomiaru czego byście chcieli ich użyć? (może przygotujemy gotowe ikonki :) ).
You do not have the required permissions to view the files attached to this post.
SOYER
Posts: 1336
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

Cześć, na początek ikonki PM1, PM2,5 i PM10.
Jaka funkcjonalność? Nie wiem czy ma to coś wspólneko kpop i klop ale chciałbym mieć możliwość nakładania na siebie wykresów z różnych kpop, klop i nie tylko.
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
klew
Posts: 10676
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

SOYER wrote: Sat Jan 20, 2024 2:21 pm Cześć, na początek ikonki PM1, PM2,5 i PM10.
Jaka funkcjonalność? Nie wiem czy ma to coś wspólneko kpop i klop ale chciałbym mieć możliwość nakładania na siebie wykresów z różnych kpop, klop i nie tylko.
Porównywarka wykresów będzie osobną funkcją i nie wiem kiedy ;)
krycha88
Posts: 5465
Joined: Fri Nov 16, 2018 7:25 am

Post

Szanuję za sposób jaki podchodzicie do tematu ale czy nie za bardzo chcecie zrobić to za dobrze ? ;) aktualnie wszystkie rozwiązania są zrobione na kanale temperatury i to się sprawdza.Brakuje najbardziej wyświetlania jednostki w której wysyła urządzenie dane do cloud. Może to za bardzo upraszam ale strzelam, że jest to 90% przypadków.
https://gui-generic-builder.supla.io/
SOYER
Posts: 1336
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

@krycha88 wydaje mi się, że trafiłeś w sedno. Może mi się wydaje. Całe te pomiary ogólnego przeznaczenia to przecież termometr z możliwością dodania dowolnego prefiksu i sufiksu.
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
SOYER
Posts: 1336
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

Może ten kanał jest w zamyśle Twórców tworzony jako coś przydatnego w gotowych urządzeniach np. Zamelu. Wtedy jest w tym jakaś głębia, ale tego nie wiemy, bo nikt o tym nie napisał.
Jeśli ma to być potrzebne głównie do diy, to trzeba było zrobić kanał przesyłający z device do apk cokolwiek i w drugą stronę to samo. Float, int, string, bool… w obie strony dowolnie, z dowolnym prefiksem i sufiksem. Koniec.
Osoba budująca „to coś” i tak wie co buduje, wie co i w którą stronę przesyła, więc to po tej drugiej stronie umie odpowiednio zidentyfikować i zastosować.
Po stronie device:
Supla.read(); czyta co tam wysłano z aplikacji z konkretnego kontenera na ekranie i robimy z tym co chcemy;
Supla.write(); wysyła na aplikację dowolną zmienną, opisaną np: vPin1,vPin2 ,vPin3…a my w cloud/apk wiemy co w device zapakowaliśmy do tego konkretnego vPin i go odpowiednio opisujemy i pokazujemy w apk.
Kropka.
Może jednak jest powód takiej komplikacji tematu.
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
klew
Posts: 10676
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

SOYER wrote: Sat Jan 20, 2024 7:04 pm
To jest kanał typowo do diy. Dane będzie można przesyłać tylko od urządzenia. To są kanały pomiarowe, a nie sterujące.
Do wartości bool są sensory binarne.
Tekstu nie można tym przesyłać.
Dane będą leciały w formacie double.
SOYER
Posts: 1336
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

Skoro tylko do diy, to co stało na przeszkodzie by zrobić to tak jak napisałem? Było by to multum razy bardziej praktyczne i przydatne. Twórca urządzenia diy i tak sam kombinuje nad kodem, wie co wysyła, więc wie jak to zinterpretować z drugiej strony.
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
Robert Błaszczak
Posts: 4496
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra

Post

Panowie, nie narzekajcie. Jak już robić, to raz a dobrze.
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
Maciek663
Posts: 108
Joined: Thu Jan 11, 2024 6:33 am

Post

Super, że podejście jest kompleksowe, moje propozycje:

- dzielnik i mnożnik jako jedno: wpisujemy 0.1 mamy dzielnik, wpisujemy 10 mamy mnożnik, albo wg jeśli to możliwe to wpisywanie prostych funkcji np 2x + 4, x kwadrat, ln x itp.

- możliwość przypisania jednego wejścia do obu kanałów, na jednym wartość chwilowa, na drugim "zużycie" - np przepływ wody i zużycie wody

- możliwość określenia górnego i dolnego limitu - sporo czujników przy końcach zakresów jest nieliniowe, żeby nie wyświetlać głupot mogłoby się coś takiego przydać, do tego można tym wykrywać błąd czujnika

- reakcje, dużo reakcji różnego rodzaju to sukces murowany :)

Return to “Ogólna dyskusja”