ESP8266 Primary GUI v2

elmaya
Posty: 1482
Rejestracja: śr cze 27, 2018 5:48 pm
Lokalizacja: El Saucejo - Sevilla

dobo pisze: czw paź 17, 2019 6:48 pm W atmega czy attiny na początku zawsze ustala się piny wejście/wyjście oraz ich stan wysoki/niski w Arduino nie widzę nic takiego.
Chciałbym zmienić stan dla GPIO, które odpowiada za konfigurację pod przełącznik dotykowy, który wystawia po dotknięciu stan wysoki.

Czy w Arduino nie dokonuje się takich ustawień tylko bezpośrednio w kodzie ustala się po jakim stanie co ma się wykonać?
Podobnie jak dla Buzzera?

I w takim wypadku dla podświetlenia OLED

void button_turn_oled() {
int config_read = digitalRead(CONFIG_PIN);

if (config_read != last_oled_state && config_read == 0) { (tutaj zamienić 0 na 1)
display.setBrightness(255);

Dla konfiguracji

void configBTN() {
//CONFIG ****************************************************************************************************
int config_read = digitalRead(CONFIG_PIN);
if (config_read != last_config_state) {
time_last_config_change = millis();
}
if ((millis() - time_last_config_change) > config_delay) {
if (config_read != config_state) {
Serial.println("Triger sate changed");
config_state = config_read;
if (config_state == LOW && Modul_tryb_konfiguracji != 1) { (tu z LOW na HIGH)
gui_color = GUI_GREEN;
Modul_tryb_konfiguracji = 1;
Tryb_konfiguracji();
client.stop();
} else if (config_state == LOW && Modul_tryb_konfiguracji == 1) { (tu z LOW na HIGH)
resetESP();
&
//CONFIG
int config_state = HIGH; // change to LOW
int last_config_state = HIGH; // change to LOW
unsigned long time_last_config_change;
long config_delay = 5000;
dobo
Posty: 1042
Rejestracja: ndz kwie 07, 2019 8:14 pm
Lokalizacja: Nadarzyn

Thanks.
krycha88
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

Patryk pisze: czw paź 17, 2019 6:05 pm Koledzy, mógłby ktoś to sprawdzić u siebie.
Bo ja już nie mam pomysłu. ( zmiana bibliotek, wersji arduino i systemu win7 oraz win10).
viewtopic.php?p=51430#p51430
A może podaj jeszcze supla_board_configuration może wtedy uda się to powtorzyc. Jeżeli podawales to wybacz nie pamiętam a szkoda mi czasu na szukanie 😄
https://gui-generic-builder.supla.io/
Patryk
Posty: 2677
Rejestracja: pn sty 07, 2019 7:51 pm
Lokalizacja: Rybnik

Zauważyłem, że problem występuje tylko przy ds-ach.
Nie ważne, czy wybiore tylko jeden, czy wybiorę multi:
// add_DS18B20Multi_Thermometer(12);
add_DS18B20_Thermometer(12);
lub
add_DS18B20Multi_Thermometer(12);
// add_DS18B20_Thermometer(12);
Przy wyborze DHT22 tego problemu nie ma.

Kod: Zaznacz cały

void supla_board_configuration(void) {

  // add_Relay_Button(13, 0, CHOICE_TYPE);
  //  add_Relay_Button_Invert(13, 12, CHOICE_TYPE);

  //  Czas załączenia przekaźnika działa tylko dla przycisku MONOSTABILNEGO
  //  add_Relay_Button(5, 14, CHOICE_TYPE, 5000);
  //  add_Relay_Button_Invert(13, 12, CHOICE_TYPE, 5000);  

  //  add_Relay(5);
  //  add_Relay_Invert(5);

  //  add_Roller_Shutter_Relays(5, 13) ;
  //  add_Roller_Shutter_Buttons(0, 14, 12);
  //  SuplaDevice.setRollerShutterFuncImpl(&supla_rs_SavePosition, &supla_rs_LoadPosition, &supla_rs_SaveSettings, &supla_rs_LoadSettings);

  //  add_Sensor(4);
  //  add_Sensor(16);

  // add_DS18B20Multi_Thermometer(12);
   add_DS18B20_Thermometer(12);
  // add_DHT11_Thermometer(12);
  // add_DHT22_Thermometer(5);
  
  //  add_BME280_Sensor(); //SDA GPIO4; SCL GPIO5 -->supla_settings.h

  add_Oled(); //SDA GPIO4; SCL GPIO5 -->supla_settings.h

  add_Led_Config(LED_CONFIG_PIN);
  add_Config(CONFIG_PIN);

}
siba
Posty: 99
Rejestracja: pn lut 06, 2017 4:01 pm
Lokalizacja: Kraków

krycha88 pisze: czw paź 17, 2019 8:09 am
siba pisze: czw paź 17, 2019 7:46 am Czy ktoś może próbował skompilować ten soft do sonoffa basic? Ja spróbowałem ale sukces jest tylko częściowy. Oled i BME(I2C na RX i TX oczywiście) działają, da się połączyć z siecią rozgłaszaną przez moduł oraz wejść na stronę konfiguracyjną na której widać odczyty z BME, ale moduł nie łączy się z cloudem. Cały czas na wyświetlaczu jest informacja "Rozaczony". W routerze też go nie widać więc obstawiam że nawet z wifi się nie połączył. Co ciekawe po odłączeniu Oled'a i BME zalogował się i widać go w aplikacji tak więc może to wina gdzieś po stronie zasilania w sonoffie. Próbowałem na trzech egzemplarzach sonoffa to samo, a na D1 mini wszystko się pięknie uruchamia i śmiga więc chyba problem platformy sprzętowej, albo coś gdzieś jeszcze źle robię, co jest bardzo możliwe :lol: . Czy ktoś może to sprawdzić u siebie?
A tego sonoffa sprawdzasz na zewnętrznym zasilaniu?
Wygląda na to że problem rozwiązany a wszystkiemu była winna gó....na płytka stykowa :evil: .
Dzisiaj podłączyłem całość jeszcze do zewnętrznego zasilacza laboratoryjnego z płynną regulacją napięcia i też nie chciał się podłączyć do wifi ale wpadłem na pomysł żeby mu trochę pomanipulować napięciem i pojechałem 0,2V w górę i w dół i nagle się o dziwo połączył z wifi i z cloudem :shock: . Potem zacząłem kombinować z podłączeniem do zasilania z sieci na zmianę z zasilaczem laboratoryjnym i okazało się że to raz działa a innym razem nie więc zlutowałem wszystko na sztywno ze sobą i zaczęło to w końcu działać jak trzeba.
Wniosek: płytka stykowa do kosza i zmarnowane kilka godzin mojego i Waszego bardzo cennego czasu.

Dziękuję po raz kolejny za wsparcie i ukłony w kierunku wszystkich na tym forum, którzy przyczyniają się do powstawania tak wspaniałych rzeczy jak ten kod dzięki któremu nawet taki laik w dziedzinie programowania jak ja może skompilować sobie swój własny soft.
Ryrzy
Posty: 148
Rejestracja: wt lis 07, 2017 10:40 am

ciekawe jaką wydajność ma przetwornica w sonoffie basic hmm moze ona nie daje rady z oledem i czujnikiem + obsluga esp i przekaznika :roll:
George2002
Posty: 188
Rejestracja: pn maja 01, 2017 2:00 am

Ryrzy pisze: pt paź 18, 2019 2:14 pm ciekawe jaką wydajność ma przetwornica w sonoffie basic hmm moze ona nie daje rady z oledem i czujnikiem + obsluga esp i przekaznika :roll:
Siedzi tam LM1117-3.3 czyli max 1000mA może dać :) a przetwornica to myślę jeśli tam daje 5V to tranzystor kluczujący niby 3DG3001A1 Ma max 800mA, sam oled bierze może max 15mA przy ustawieniu pełnej jasności i wyświetleniu całego ekranu a tak nigdy raczej się nie zdarzy, czujnik dth to pewnie max 5-10mA także może akurat wadliwy kolega ma albo się uwalił i działa na „pół gwizdka” ;)
Patryk
Posty: 2677
Rejestracja: pn sty 07, 2019 7:51 pm
Lokalizacja: Rybnik

krycha88 pisze: czw paź 17, 2019 7:16 pm
Patryk pisze: czw paź 17, 2019 6:05 pm Koledzy, mógłby ktoś to sprawdzić u siebie.
Bo ja już nie mam pomysłu. ( zmiana bibliotek, wersji arduino i systemu win7 oraz win10).
viewtopic.php?p=51430#p51430
A może podaj jeszcze supla_board_configuration może wtedy uda się to powtorzyc. Jeżeli podawales to wybacz nie pamiętam a szkoda mi czasu na szukanie 😄
Na chłopski rozum wygląda to tak:

1. Jeżeli soft jest uruchamiany z ds-em i w trakcie pracy nastąpi uszkodzenie  ( odłączenie ) wtedy wyświetla się "error" - i to jest prawidłowe. Wpięcie ponownie czujnika przywraca pomiary.

2. Problem pojawia się wtedy, gdy soft zostaje uruchamiany bez podłączonego ds-a, ( choć prędzej były zdefiniowany)
Wtedy na OLED jest wyświetlana temperatura 0.0C (czemu akurat taka, nie wiem).
Natomiast w Clud-ie jest (- - - )  -  to akurat jest poprawne.
Podłączenie ds-a przy już pracującym sofcie nic nie daje. Cały czas jest wyświetlane na OLED 0.0C , a w CLUD-ie (  - - - ).
Jedynym sposobem jest wtedy reset, z podłączonym ds-em .

Przynajmniej tak jest u mnie.
krycha88
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

Patryk pisze: pt paź 18, 2019 5:32 pm
krycha88 pisze: czw paź 17, 2019 7:16 pm
Patryk pisze: czw paź 17, 2019 6:05 pm Koledzy, mógłby ktoś to sprawdzić u siebie.
Bo ja już nie mam pomysłu. ( zmiana bibliotek, wersji arduino i systemu win7 oraz win10).
viewtopic.php?p=51430#p51430
A może podaj jeszcze supla_board_configuration może wtedy uda się to powtorzyc. Jeżeli podawales to wybacz nie pamiętam a szkoda mi czasu na szukanie 😄
Na chłopski rozum wygląda to tak:

1. Jeżeli soft jest uruchamiany z ds-em i w trakcie pracy nastąpi uszkodzenie  ( odłączenie ) wtedy wyświetla się "error" - i to jest prawidłowe. Wpięcie ponownie czujnika przywraca pomiary.

2. Problem pojawia się wtedy, gdy soft zostaje uruchamiany bez podłączonego ds-a, ( choć prędzej były zdefiniowany)
Wtedy na OLED jest wyświetlana temperatura 0.0C (czemu akurat taka, nie wiem).
Natomiast w Clud-ie jest (- - - )  -  to akurat jest poprawne.
Podłączenie ds-a przy już pracującym sofcie nic nie daje. Cały czas jest wyświetlane na OLED 0.0C , a w CLUD-ie (  - - - ).
Jedynym sposobem jest wtedy reset, z podłączonym ds-em .

Przynajmniej tak jest u mnie.
Próbuje na wszystkie sposoby i nie mogę powtórzyć problemu.
https://gui-generic-builder.supla.io/
krycha88
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

dobo pisze: wt paź 15, 2019 7:03 pm A zapytam jeszcze czy jest w kodzie możliwość kalibracji czujnika w zależności od wysokości npm.
W końcu znalazłem trochę czasu i usiadłem aby to zrealizować. Pytanie teraz do was czy dodać dodatkowy kanał który będzie wyświetlał ciśnienie zredukowane czy po prostu zastąpić aktualny kanał gdzie wyświetla się ciśnienie absolutne? Wg mnie dodatkowy kanał to trochę niepotrzebny :)
https://gui-generic-builder.supla.io/
Zablokowany

Wróć do „Nowości”