ESP8266 Primary GUI v2

krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

krycha88 wrote: Tue Oct 22, 2019 11:26 am
George2002 wrote: Tue Oct 22, 2019 11:25 am
Ryrzy wrote: Tue Oct 22, 2019 11:01 am
yyyy chodzi Ci o add_Sensor(x); ?
Ta funkcja ma jakieś opcje odwróconej logiki czy tylko ustawienie PINu wejścia i zwarcie daje sygnał 1 i w apce jest ikonka włączone i rozwarcie daje 0 i w apce ikonka wyłączone tak :) ?
Dokładnie tak, a logikę możesz sobie odwrócić po stronie clouda.
George2002 wrote: Tue Oct 22, 2019 11:25 am Być może jeśli to to to tak, natomiast właśnie dla tego pisałem parę postów wyżej aby jakoś pokomentować w kodzie te ustawienia coby mniej pytań było :)
Za chwilę poznasz możliwości tego softu na tyle, że mógłbyś napisać instrukcję dla innych ;)
https://gui-generic-builder.supla.io/
George2002
Posts: 191
Joined: Mon May 01, 2017 2:00 am

Post

krycha88 wrote: Tue Oct 22, 2019 11:28 am
Za chwilę poznasz możliwości tego softu na tyle, że mógłbyś napisać instrukcję dla innych ;)
Bardzo chętnie być może popełnię w przyszłym tygodniu to wrzucę tutaj i mógłbyś do gita swojego wtedy wrzucić :)
Ryrzy
Posts: 148
Joined: Tue Nov 07, 2017 10:40 am

Post

na bazie kodu @shimano73 i tego co udało mi się zrobić jako dimmer zacząłem grzebać z ws2812 i nawet jakoś to wyszło :)
zwykły prosty kontroler rgb tych diod to nie problem, ale nie dało mi spokoju żeby zapisać stan... nie do końca ogarniam ten zapis do eeprom i tu mam problem. W kodzie poniżej widać jak to zrobiłem (totalnie na czuja, tak to już robię :P obserwuje i używam kopiuj/wklej/zmień) i 2 kolory zapamiętuje i po restarcie je odtwarza ;) ale jak już dodam trzeci (tutaj green, widać za komentowane) już się wysypuje moduł i nie łączy z cloudem/rozłącza wifi itp. na 100% robię jakiś błąd w zapisie do eeproma i nadpisuje dane :)
Proszę o pomoc a i rozwiąże to problemy @shimano73 ;)



https://github.com/ryrzy/Primary_GUI_WS ... its/master
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

Ryrzy wrote: Tue Oct 22, 2019 6:32 pm na bazie kodu @shimano73 i tego co udało mi się zrobić jako dimmer zacząłem grzebać z ws2812 i nawet jakoś to wyszło :)
zwykły prosty kontroler rgb tych diod to nie problem, ale nie dało mi spokoju żeby zapisać stan... nie do końca ogarniam ten zapis do eeprom i tu mam problem. W kodzie poniżej widać jak to zrobiłem (totalnie na czuja, tak to już robię :P obserwuje i używam kopiuj/wklej/zmień) i 2 kolory zapamiętuje i po restarcie je odtwarza ;) ale jak już dodam trzeci (tutaj green, widać za komentowane) już się wysypuje moduł i nie łączy z cloudem/rozłącza wifi itp. na 100% robię jakiś błąd w zapisie do eeproma i nadpisuje dane :)
Proszę o pomoc a i rozwiąże to problemy @shimano73 ;)



https://github.com/ryrzy/Primary_GUI_WS ... its/master
Z tego co się orientuję to int to 4 bity a nie 3
https://gui-generic-builder.supla.io/
Ryrzy
Posts: 148
Joined: Tue Nov 07, 2017 10:40 am

Post

Ok, czyli po int read_bme_elevation(), w pierwszym kolorze musze dac +4 i kazdy kolejny wpis +4? Czyli 4, 8, 12 itd ? Dobrze rozumiem ?
Cała reszta ma sens ? 🤔
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

Ryrzy wrote: Tue Oct 22, 2019 7:15 pm Ok, czyli po int read_bme_elevation(), w pierwszym kolorze musze dac +4 i kazdy kolejny wpis +4? Czyli 4, 8, 12 itd ? Dobrze rozumiem ?
Cała reszta ma sens ? 🤔
Tak. Czy ma sens to nie wiem aż tak dokładnie nie analizowałem :-)
https://gui-generic-builder.supla.io/
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 136 times
Been thanked: 137 times

Post

Rozmiar int zależy z reguły od architektury procesora. Na AVR będzie to 16 bitów (2 bajty) na ESP 32 bity (4 bajty).
Przy takich wyliczankach bezpieczniej jest robić "+ sizeof(red)" (lub "+sizeof(int)"). Przy kolejnych pozycjach "+2*sizeof(int)" itd.
Najlepsze suple dla Twojego domu :mrgreen:
Ryrzy
Posts: 148
Joined: Tue Nov 07, 2017 10:40 am

Post

klew wrote: Tue Oct 22, 2019 9:57 pm Rozmiar int zależy z reguły od architektury procesora. Na AVR będzie to 16 bitów (2 bajty) na ESP 32 bity (4 bajty).
Przy takich wyliczankach bezpieczniej jest robić "+ sizeof(red)" (lub "+sizeof(int)"). Przy kolejnych pozycjach "+2*sizeof(int)" itd.
dziękuje za podpowiedz, wygląda na to, że wszystko działa poprawnie :D zapisuje wybrane kolory i jasność, po wyjęciu zasilania/resecie itp odczytuje i cały czas świeci ostatnio wybranym kolorem i jasnością bądź nie świeci jeśli było przed restartem wyłączone :)

wyszło z tego coś takiego: https://github.com/ryrzy/Primary_GUI_WS ... cebb47c0a5

czy jest to poprawne, ładne, nie wiem... ale działa :P

do zrobienia:
- dodać możliwość używania w kodzie i ws2812 i normalnego dimmera/rgb (jak to rozdzielić poprawnie żeby przy wybraniu tego bądź tego nie gryzł się kod :roll: ), zapis/odczyt kolorów można użyć w obu funkcjach
- możliwość wyboru liczby diod w GUI - tu chyba nie ma sensu tworzyć od nowa czegoś co już istnieje, jesli @shimano73 nie ma nic przeciwko użyje jego części kodu ;)
User avatar
shimano73
Posts: 2174
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze
Been thanked: 1 time

Post

Oczywiście , ze możesz
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
User avatar
uchnast.michal
Posts: 1334
Joined: Tue Jun 04, 2019 11:37 am
Has thanked: 7 times

Post

Pytanie troszkę z innej beczki.
Jak "wywołać" dowolny url po spełnieniu warunku.
Chcę za każdym razem gdy kontaktron zmieni stan wywoływać url z parametrem by na serwerze php uruchamiać dowolny kod.

Code: Select all

int supla_DigitalRead(int channelNumber, uint8_t pin) {
  int result = digitalRead(pin);
if(pin == 4 and result == 1){
    if (WiFi.status()==WL_CONNECTED)
  {
    String url="http://xxx.pl/supla-6522694458.php?data=wemos";
    http.begin(url);
    http.addHeader("Content-Type","text/plain");
    int httpCode=http.GET();
    http.end();
  }
    }
  return result;
}
brakuje mi http
Mogę prosić o pomoc?

Return to “Nowości”