Leszekbialy wrote: Tue Jul 19, 2022 10:20 am
jamsjamsen wrote: Mon Jul 18, 2022 9:24 pm
obsługa Max7219 i odczyt temperatury zewnętrznej przez direct link na większych cyfrach.
Ja też poproszę o obsługę tych wyświetlaczy plus prezentacja aktualnego czasu
Może nie mieszajmy dwóch warstw?
1. Więcej opcji wyświetlaczy (oprócz oled na SSD1306, SH1106, oraz tekstowego HD44780) - 7segment, albo i choćby matrix -tak przez jakieś expandery czy drivery, albo również matryca może być - to "wyświetlacz" w postaci ledów szeregowych WS2811/12 - w konfiguratorze trzeba by mieć info o wielkości XY w pixelach takiego ekranu, by odpowiednio zawijał pixele na jednym szeregu ledów.
A można by jeszcze dodać przecież "wyświetlacz w postaci terminala-portu szeregowego". Nie potrzeba wtedy zbyt dużego narzutu po stronie ESP, po prostu printfujemy to co ma się wyświetlić - na soft-serial na jakimś pinie, choćby 2400bps - a tam można by sobie przyczepić już jakiegoś np AVR, i wyświetlać na czymkolwiek co się zaprogramuje...
2. Właśnie obsługa WS2811/WS2812 itp ledów i ich driverów szeregowych - i do wyboru jako "RGB/RGBW dimmer" - albo jako wyjście "wyświetlacza" - i wybór X ledów, zakresu min, maks, i kolorów początkowego i końcowego, i mamy bargraf, termometr graficzno-kolorowy itp

np

Gdy kiedyś w końcu pojawi się "kanał pomiarowy ogólny" - to taki bargraf czy inna kolorowy pixel będzie bardzo fajny (np z linku bezpośredniego pobieranie info o stanie PM2.5 powietrza, i w zależności od poziomu zanieczyszczenia - wizualizacja kolorem leda)
3. KONFIGURATOR tego, co się wyświetla (i jak się wyświetla). Tak by dało się wybrać w końcu pomiary z PZEM czy innego analoga napięcie po przeskalowaniu na OLEDa. Albo temperatura ustawiona (przy pracy "termostatowej") oraz aktualna. ITP. Checkbox "wyświetlaj stany przekaźników" w postaci numerków na górze (by dało się to wyłączyć, bo nie zawsze chcemy). Konfigurator, co ma się tam na górze wyświetlać, zamiast tylko numerka kanału/przekaźnika - jakby tam było ON/OFF albo co innego z stringa wypisywane - to by było znacznie czytelniejsze...
Jak koledzy piszą - lokalnego RTC co prawda nie ma, ale jak nie pobranie aktualnego czasu z Cloud - to obsługa protokołu NTP raczej nie powinna być problemem? I wyświetlanie idealnego czasu pobieranego z serwera NTP (tylko offset i daytime dla danej strefy czasowej trzeba by ustawiać w konfigu)
4. obsługa enkoderów obrotowych z dwoma przewodami A i B = proste jak budowa cepa, o ile da się podłączyć GPIO jak źródło IRQ, wtedy podłączamy przez dwie diody oba przewody A i B do pinu GPIO generującego IRQ przerwanie wywołujące obsługę enkodera "było kliknięcie" - obojętnie w którą stronę obracamy enkoderem wywoła to przerwanie , oraz jeden z przewodów wprost z enkodera - do drugiego GPIO. Wystarczy w przerwaniu sprawdzić stan tego drugiego GPIO - jak wysoki to zwiększamy wartość, jak niski - to zmniejszamy.

Oraz konfiguracja - co ma modyfikować ruch tego enkodera:
Skoro mamy np Dimmer, który reaguje na przytrzymywanie przycisku - incrementując/dekrementując ustawiony % rozjaśnienia - i raportując ten ustawiony % do serwera supli - to można by tak samo modyfikować ten % ale enkoderem.
Albo - modyfikować ustawiony "termostatowy" (w ustawieniach przekaźnika warunkowanego) poziom czegoś - od czego jest on warunkowany. Itp.
Albo - modyfikować wartość "kanału ogólnego" (gdy w końcu on się pojawi

) - a po stronie cloud się już z tego coś wymyśli, co zrobić (np przesłać jako ustawienie % do grupy dimmerów, albo ustawić % zasłonięcia żaluzji, czy coś...
5. (może to się jakoś da teraz zrobić?) warunkowanie-grupowanie przekaźników. W sensie takim, by dało się zrobić np X biegowy "ściemniacz" załączający X żarówek w żyrandolu, albo regulator wentylatora (załączający kolejne uzwojenia) - jak w typowych wentylatorach stojących jest, albo wyciągach kuchennych. Po stronie elektrycznej da się to ładnie połączyć na przekaźnikach (tak, że nie ma możliwości załączenia napięcia na więcej niż 1 uzwojenie, dla bezpieczeństwa) - kolejne przekaźniki podłączane jeden do drugiego, NC do następego przekaźnika, NO do uzwojenia. Tylko aby to mogło sensownie przełączać - bez robienia fikołków ze sterowaniem "analogowym" - trzeba by użyć opcji dimmer, ale zamiast PWM na wyjściu - to załączanie kolejnych przekaźników.
6.
(dla mnie chyba SUPER ważna funkcjonalność) - dodatkowy timer odliczający na ESP czas "czas załączenia kanału/przekaźnika" - po odliczeniu do zera, jeśli nadal jest załączone - to wyzwól akcje wyłączenia (np tak, jakby user nacisnął przycisk wyłączający) i w konfiguratorze (jak nie z poziomu clouda - to choćby samego konfiguratora urządzenia) ustawiany "maksymalny czas działania/włączenia/otwarcia danego przekaźnika" - dzięki temu załączone światło nie będzie świeciło się w nieskończoność....
I jakby to jeszcze dało się załączyć - nie tylko na przekaźniki, a również na wyjscie PWM/dimmer - by ledy ściemnialne też dało się tak wyłączać - miodzio.
A jakby jeszcze brama sama się umiała zamknąć po ustawionym czasie, jeśli nikt jej nie zamknie, bez udziału skrytpów cudów i zabixów - to by było idealnie.
7. Wirtualny PowerMeter. Nie posiadając żadnego hardware pomiarowego - czysto softwarowo można by symulować "power meter" zliczający po prostu czas załączenia, i ustawioną moc urządzenia sterowanego (gdy to jest np. boiler czy żarówka o znanej mocy, to co za problem?) - wystarczy przy każdym przekaźniku dać ptaszek "symuluj power-meter" oraz "zakładana moc pobierana przez obciążenie tego przekaźnika" - i mamy kWh zliczone, i może niezbyt precyzyjną ale zawsze jakąś - informację o zużyciu energii przez dane urządzenie.