ESP8266 Primary GUI v2

elmaya
Posts: 389
Joined: Wed Jun 27, 2018 5:48 pm
Location: Sevilla

Thu Oct 17, 2019 6:56 pm

dobo wrote:
Thu Oct 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
Posts: 104
Joined: Sun Apr 07, 2019 8:14 pm

Thu Oct 17, 2019 7:09 pm

Thanks.
krycha88
Posts: 486
Joined: Fri Nov 16, 2018 7:25 am

Thu Oct 17, 2019 7:16 pm

Patryk wrote:
Thu Oct 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 😄
Patryk
Posts: 541
Joined: Mon Jan 07, 2019 7:51 pm

Thu Oct 17, 2019 7:35 pm

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.

Code: Select all

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
Posts: 96
Joined: Mon Feb 06, 2017 4:01 pm
Location: Kraków

Fri Oct 18, 2019 1:00 pm

krycha88 wrote:
Thu Oct 17, 2019 8:09 am
siba wrote:
Thu Oct 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
Posts: 136
Joined: Tue Nov 07, 2017 10:40 am

Fri Oct 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:
George2002
Posts: 118
Joined: Mon May 01, 2017 2:00 am

Fri Oct 18, 2019 4:23 pm

Ryrzy wrote:
Fri Oct 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
Posts: 541
Joined: Mon Jan 07, 2019 7:51 pm

Fri Oct 18, 2019 5:32 pm

krycha88 wrote:
Thu Oct 17, 2019 7:16 pm
Patryk wrote:
Thu Oct 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
Posts: 486
Joined: Fri Nov 16, 2018 7:25 am

Fri Oct 18, 2019 5:39 pm

Patryk wrote:
Fri Oct 18, 2019 5:32 pm
krycha88 wrote:
Thu Oct 17, 2019 7:16 pm
Patryk wrote:
Thu Oct 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.
krycha88
Posts: 486
Joined: Fri Nov 16, 2018 7:25 am

Fri Oct 18, 2019 5:54 pm

dobo wrote:
Tue Oct 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 :)
Post Reply