Skocz do zawartości

Programistyczny projekt pilnujący narastanie liczby impulsów w systemie SUPLA.


SOYER

Pomocna odpowiedź

Cześć, chciałem Wam przedstawić mój projekt, który jest zupełnie inny od reszty bo czysto programistyczny.

Nie zobaczycie tu żadnego zbudowanego urządzenia, tylko screeny z ekranu.

Założeniem do powstania tego projektu była prośba jednego z kolegów, który chciał dostawać powiadomienia z aplikacji smart home Supla, o przypadku wystąpienia wycieku wody podczas jego nieobecności w domu.

Zainspirował się moim "pilnowaczem" opartym o czujnik odbiciowy, jednak założenie było takie by każdy użytkownik Supli używający albo własnego urządzenia DIY, np. esp32, lub dedykowanego urządzenia zliczającego impulsy w systemie Supla, np. LIW-01, mógł sobie uruchomić takie powiadomienia najprostszym możliwym sposobem.

image.thumb.png.fe1d62ed72a0b488eb9f42b86c7d7626.png

W trakcie wdrażania softu, doszły prośby o zwiększenie liczby obsługiwanych liczników, więc liczbę tę zwiększyłem do trzech, oraz dołożyłem obsługę zaworu sterowanego elektrycznie dla pierwszego licznika.

Generalna zasada softu opiera się na tym, że po wgraniu go na takie maleństwo jak esp32c3

1712129594_ZdjcieWhatsApp2025-03-02o17_09.00_edc9ab21.thumb.jpg.25ebe6b19664a61e25012e8800f7ced2.jpg

nasze esp rozgłasza swoją sieć, łączymy się z nią telefonem lub komputerem, w przeglądarce wpisujemy adres 192.168.4.1 (standardowy adres konfiguracyjny Supli), wpisujemy dane naszej sieci wifi z którę ma się łączyć nasz moduł, oraz wybieramy jaką liczę liczników chcemy obsługiwać.

Następnie w aplikacji Supla łączymy się z cloud dodajemy nasze urządzenie, ustawiamy ew. kanały sterowania zaworem i ponownie ustawiamy urządzenie w tryb konfiguracyjny.

image.thumb.png.06b5d5230b073b880aed9be683946984.png

Łączymy się z nim

image.thumb.png.e6d02dea9027384473ae0cc30d0480e4.png

i teraz możemy wpisać w inputach wszystkie potrzebne dane dla działania naszego "pilnowacza"

image.thumb.png.b2a59af9291cd02666e907aae389a065.pngimage.thumb.png.d42808786ec4874a06e34ddee0135848.png

Dla każdego z liczników możemy ustawić dwa osobne alarmy wysyłające powiadomienia na telefon, tutaj screen z testów:

image.thumb.png.404258744adc56bb528670a1d45c6f70.png

 

Jeden działa całodobowo, drugi w ustawionych godzinach. Dla każdego z tych alarmów możemy osobno ustawić czas zliczania, jak i próg przekroczenia po którym zostanie wysłane powiadomienie. Treść powiadomienia także ustawiamy w tych inputach.

Generalnie urządzenie nie potrzebuje fizycznego kontaktu z licznikem. Wystarczy, że jest podłączony do zasilania, oraz jest w zasięgu sieci wifi. Nasze esp łączy się poprzez MQTT z serwerem Supli i odbiera aktualny stan licznika jednocześnie pilnując ustawionych progów. Dla licznika pierwszego po zadziałaniu alarmu pojawia się stan niski na jednym z pinów przez ok 1min, w domyśle zamykanie zaworu. Dodatkowo zaworem możemy sterować ręcznie z aplikacji.

1048587404_ZdjcieWhatsApp2025-03-02o16_27.18_76d4d6a3.thumb.jpg.5c57842fa686999be5f46a1fbc9aca72.jpg

Tym tematem chciałem też podziękować wszystkim którzy pomogli mi poznać kolejne tajniki programowania. 

Cały kod znajduje się tutaj:

https://github.com/Soyer79/waterMeterX3valve/blob/main/liwX3valve.ino

zaś poniżej cała paczka do wgrania szkicu na esp32c3, a tutaj link do tematu bliżej opisujący powstawanie ww. projektu:

https://forum.supla.org/viewtopic.php?t=16698

 

Każdy feedback mile widziany.

 

 

 

watcherX3valve.rar

Zdjęcie WhatsApp 2025-03-02 o 16.02.29_a0db68db.jpg

Edytowano przez SOYER
  • Lubię! 1
Link do komentarza
Share on other sites

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Powiem tak: konieczność połaczenia z siecią (niekoniecznie Internetem) to największa wada wszystkich tego typu systemów. Wystarczy mała awaria a wszystko przestanie działać.

  • Lubię! 2
Link do komentarza
Share on other sites

Dokładnie tak samo jak z zasilaniem. Braknie prądu i nie będzie działać.

Podejrzewam, że na początku ubiegłego wieku podobnie mówiono o elektryczności, że świece pewniejsze, bo zawsze można wyciągnąć z szuflady i zapalić, a z prądem to różnie bywa;).

Na szczęście mam takiego dostawcę neta, że częściej nie ma prądu niż internetu. 

Jedyny problem(?), to zewnętrzne serwery. Na szczęście nie zdarzyła się jeszcze żadna awaria na serwerach supli, a ja jakoś bardziej ufam ich serwerom postawionym przez profesjonalistów niż takiemu postawionemu przeze mnie:)).

16 godzin temu, ethanak napisał:

Powiem tak: konieczność połaczenia z siecią (niekoniecznie Internetem) to największa wada wszystkich tego typu systemów. Wystarczy mała awaria a wszystko przestanie działać.

Niestety to ogólnoświatowa tendencja. Wygodna, oszczędna pod względem zasobów, ale czy to droga słuszna? Szczególnie jeśli chodzi o dane wrażliwe, często całych państw i społeczeństw, które są przechowywane i „obrabiame” przez zewnętrzne firmy. To już temat na osobną dyskusję, choć konkluzja z takiej debaty wydaje się oczywista.

Link do komentarza
Share on other sites

Ty chyba lubisz makaron. Co stało na przeszkodzie aby 

unsigned long valveOn_millis;
unsigned long valveOff_millis;
unsigned long sek_millis;
unsigned long prev_min_millis_1;
unsigned long prev_hour_millis_1;
unsigned long prev_min_millis_2;
unsigned long prev_hour_millis_2;
unsigned long prev_min_millis_3;
unsigned long prev_hour_millis_3;
unsigned long prev_minute_millis;

Wrzucić do tablicy? 

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Przed chwilą, _LM_ napisał:

Ty chyba lubisz makaron. Co stało na przeszkodzie aby 

unsigned long valveOn_millis;
unsigned long valveOff_millis;
unsigned long sek_millis;
unsigned long prev_min_millis_1;
unsigned long prev_hour_millis_1;
unsigned long prev_min_millis_2;
unsigned long prev_hour_millis_2;
unsigned long prev_min_millis_3;
unsigned long prev_hour_millis_3;
unsigned long prev_minute_millis;

Wrzucić do tablicy? 

No jasne, że nic, dziękuję, że zaglądnąłeś w szkic. O to mi chodzi, żeby wyciągać takie proste rzeczy do poprawy. Postaram się to jutro zrobić, choć tak jest to dla mnie bardziej czytelne. Chyba żeby po prostu tylko przy deklaracji zrobić tablicę, a potem odnosić się, tradycyjnie” do pełnych nazw.

Czy inaczej to widzisz?

 

Link do komentarza
Share on other sites

Przed chwilą, _LM_ napisał:

To chyba ma wsparcie RTOS? No ja bym wykorzystał timery RTOSa

Pytasz o esp32c3? Nie wiem, pewnie @ethanak będzie wiedział. 
Jak byś tu wielowątkowość zastosował?

To w miarę prosty program, choć dla mnie osiągnięcie, bo użyłem drugi raz(po ekranie na esp32s3) MQTT. 

Gdzieś tu zastosowanie dla RTOS?

 

Link do komentarza
Share on other sites

(edytowany)

To nie jest chyba, tylko na pewno. Trzy czujniki, trzy taski. Wszystko ładowane do kolejki i wysłane na mqtt. 

Edytowano przez _LM_
Link do komentarza
Share on other sites

9 minut temu, _LM_ napisał:

To nie jest chyba, tylko na pewno. Trzy czujniki, trzy taski. Wszystko ładowane do kolejki i wysłane na mqtt. 

To mnie póki co przerasta.

Szkic nic nie wysyła po MQTT, nasłuchuje po MQTT zmian stanów liczników, pilnuje czy przyrost w ustawionych jednostkach czasu nie przekroczy ustawionych progów, a jeśli przekroczy to wysyła powiadomienie.

Generalnie w przypadku np. wodomierzy to procek się nudzi, więc nie wiem czy RYOS nie był by strzelaniem z armaty do muchy. Co innego gdyby impulsy przychodziły duuużo częściej, ale wtedy MQTT to chyba średni pomysł na nasłuchiwanie.

Link do komentarza
Share on other sites

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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.