ESP8266 Primary GUI v2

krycha88
Posts: 5208
Joined: Fri Nov 16, 2018 7:25 am

Post

dobo wrote: Fri Oct 18, 2019 8:51 pm Dzieje się cosik ciekawego :)
krycha88 wrote: Fri Oct 18, 2019 8:34 pm Na oledzie oraz do clouda będzie się wysyłała wartość ciśnienia czyli ta po korekcie.
Czy działa to tak, że jak nie poda się wysokości to ciśnienie wysyłane na OLED i cloud będzie bezwzględne, a jak podamy wysokość to będzie to wartości ciśnienia względnego?

2 wersja tak jak opisał @George2002

A będzie może korekta do temperatury i ciśnienia? Bo ta z cloud nie ma wpływu na to co jest wyświetlane na wyświetlaczu OLED.
Zrobiłem tak, że jeżeli wysokość będzie 0 to działa tak jak obecnie, jeżeli podasz wysokość to po nowemu.

Nie mogę zrobić GUI tak jak opisał @George2002 bo pole wysokości to input a pozostałe to labelki i nie chce mi się tego przerabiać 😀
https://gui-generic-builder.supla.io/
Patryk
Posts: 2704
Joined: Mon Jan 07, 2019 7:51 pm
Location: Rybnik

Post

Chyba znalazłem mój problem z ds-ami
Zrobiłem to metodą "prób i błędów"
@krycha88 chciał bym, abyś to zweryfikował (ja nie jestem programistą )
W pliku Primary_GUI zmieniłem to:

Code: Select all

  int i = channelNumber - ds18b20_channel_first;
  if ( sensor[i].getDeviceCount() > 0 ) {
    if ( ds18b20_channel[i].address == "FFFFFFFFFFFFFFFF" ) return -275;
    if ( millis() - ds18b20_channel[i].lastTemperatureRequest < 0) {
      ds18b20_channel[i].lastTemperatureRequest = millis();
    }

na to:

Code: Select all

  int i = channelNumber - ds18b20_channel_first;
  if ( sensor[i].getDeviceCount() >= 0 ) {
    if ( ds18b20_channel[i].address == "FFFFFFFFFFFFFFFF" ) return -275;
    if ( millis() - ds18b20_channel[i].lastTemperatureRequest < 0) {
      ds18b20_channel[i].lastTemperatureRequest = millis();
    }

czyli dodałem znak "=" w 2 linijce i problem zniknął.
krycha88
Posts: 5208
Joined: Fri Nov 16, 2018 7:25 am

Post

Patryk wrote: Fri Oct 18, 2019 9:07 pm Chyba znalazłem mój problem z ds-ami
Zrobiłem to metodą "prób i błędów"
@krycha88 chciał bym, abyś to zweryfikował (ja nie jestem programistą )
W pliku Primary_GUI zmieniłem to:

Code: Select all

  int i = channelNumber - ds18b20_channel_first;
  if ( sensor[i].getDeviceCount() > 0 ) {
    if ( ds18b20_channel[i].address == "FFFFFFFFFFFFFFFF" ) return -275;
    if ( millis() - ds18b20_channel[i].lastTemperatureRequest < 0) {
      ds18b20_channel[i].lastTemperatureRequest = millis();
    }

na to:

Code: Select all

  int i = channelNumber - ds18b20_channel_first;
  if ( sensor[i].getDeviceCount() >= 0 ) {
    if ( ds18b20_channel[i].address == "FFFFFFFFFFFFFFFF" ) return -275;
    if ( millis() - ds18b20_channel[i].lastTemperatureRequest < 0) {
      ds18b20_channel[i].lastTemperatureRequest = millis();
    }

czyli dodałem znak "=" w 2 linijce i problem zniknął.
Myślę, że można wywalić całkiem ten warunek. Zrobię to w najbliższej wersji.
https://gui-generic-builder.supla.io/
Patryk
Posts: 2704
Joined: Mon Jan 07, 2019 7:51 pm
Location: Rybnik

Post

Chciałbym "trochę" rozjaśnić OLED-a SH1106, jeżeli jest w trybie "przyciemnionym".
Który "parametr" za to odpowiada ?

Do tej pory używałem SDD1306 i tam "przyciemnienie" było dla mnie ok.
Teraz mam SH1106 i w trybie "przyciemnionym" jest dla mnie trochę "za ciemny".
dobo
Posts: 1049
Joined: Sun Apr 07, 2019 8:14 pm
Location: Nadarzyn

Post

w supla_oled.cpp

if ((millis() - time_last_oled_change) > (max_frames * 5000) && oled_state == 0) {
display.setBrightness(50); <--- Wydaje mi się, że tu. Zmień 50 na większą wartość max to 255
//display.displayOff();
oled_state = 1;




PS. Wcześniej wkradł mi się błąd chodziło mi o korektę temperatury i wilgotności bo ta w cloud nie ma wpływu na wyświetlacz.

W cloud korekta jest dobra dla urządzeń bez wyświetlacza chyba, że korekty z cloud można wysyłać (są wysyłane ) do ESP.
Wtedy takie rozwiązanie było by najlepsze.

Ale nie mieszam już co by nie było i tak jest zajefajnie :)
Last edited by dobo on Sat Oct 19, 2019 7:15 am, edited 1 time in total.
Patryk
Posts: 2704
Joined: Mon Jan 07, 2019 7:51 pm
Location: Rybnik

Post

Dzięki. :D
Zmieniłem z 50 na 100 i teraz ( jak dla mnie ) jest ok.
krycha88
Posts: 5208
Joined: Fri Nov 16, 2018 7:25 am

Post

bme.JPG
Wrzuciłem nową wersję do której dodałem:
-możliwość kalibracji czujnika BME280, do clouda oraz na OLEDzie wyświetlana będzie zawsze wartość po korekcie
-usunąłem polskie znaki ze statusów aby wyświetlały się poprawnie na OLEDzie
-poprawiłem błąd zgłaszany przez @Patryka dotyczący DSów
You do not have the required permissions to view the files attached to this post.
https://gui-generic-builder.supla.io/
dobo
Posts: 1049
Joined: Sun Apr 07, 2019 8:14 pm
Location: Nadarzyn

Post

krycha88 wrote: Sat Oct 19, 2019 5:58 pm bme.JPG
Wrzuciłem nową wersję do której dodałem:
-możliwość kalibracji czujnika BME280, do clouda oraz na OLEDzie wyświetlana będzie zawsze wartość po korekcie
-usunąłem polskie znaki ze statusów aby wyświetlały się poprawnie na OLEDzie
-poprawiłem błąd zgłaszany przez @Patryka dotyczący DSów

Chwilowo nie mogę przetestować czy kalibracja dotyczy tylko ciśnienia? Jeśli tak to czy można też liczyć na korektę temperatury i wilgotności :D
User avatar
Robert Błaszczak
Posts: 4011
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra

Post

Korektę temperatury i wilgotności możesz zrobić w Cloud. Nie ma potrzeby dopisywania funkcji korekty tych wartości w firmware.
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
Ryrzy
Posts: 148
Joined: Tue Nov 07, 2017 10:40 am

Post

Robert Błaszczak wrote: Sat Oct 19, 2019 7:14 pm Korektę temperatury i wilgotności możesz zrobić w Cloud. Nie ma potrzeby dopisywania funkcji korekty tych wartości w firmware.
W sumie to jest potrzeba jeśli używa się oleda ;) "wstecz " korekta nie działa.

Return to “Nowości”