ESP8266 Primary GUI v2

kosa24
Posts: 12
Joined: Sat Mar 16, 2019 8:47 pm

Post

krycha88 wrote: Fri Sep 04, 2020 6:58 am
kosa24 wrote: Sun Aug 30, 2020 8:09 pm
klew wrote: Fri Aug 28, 2020 7:05 am

Szybkość odczytu BME wpływa na to,że na telefonie nie możesz przesunąć przycisku?
Tak było, po podłączeniu się wemosa z tym bme przyciski w aplikacji szybko się odświeżały i cofały, nie szło nic zrobić. Winna była biblioteka SuplaDevicePrimary @krycha88 z gałęzi master, spróbowałem z gałęzi DurationMS i jest ok.
Pokaż co wyświetla Ci się na konsoli.
Dobra. Odtworzyłem ten błąd na innym wemosie.
Primary GUI:
https://github.com/krycha88/Primary_GUI
Biblioteki:
https://github.com/krycha88/SuplaDevicePrimary
Wersja płytki esp8266- 2.5.2

Podłączony oled i bme280, zmiany w supla_board_settings to tylko:

Code: Select all

 
 //WEMOS_D1_MINI_8DS_OLED*********************************
#elif defined(WEMOS_D1_MINI_8DS_OLED)
  add_BME280_Sensor();
  add_Oled();
  
i Primary_GUI dodany adres bme.

Code: Select all

bme_channel.status = bme.begin(0x76);
Serial log:

Code: Select all

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v8b899c12
~ld
BME init
WiFi init 
Creating STA
Setting mode ... Ready
SSID: xxxxxx
PASSWORD: xxxxxxxxxxxxxxxx
Zainicjowany

Uruchamianie serwera...
Rozłączony
Connection fail. Server: 192.168.xx.xx
localIP: 192.168.xx.xx
subnetMask: 255.255.255.0
gatewayIP: 192.168.xx.xx
siła sygnału (RSSI): -73 dBm
Rejestracja w toku
Zarejestrowany i gotowy
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
itd.
"Value changer" kilka razy na sekundę i w aplikacji nie można przesunąć przycisku. Na oled i w aplikacji wartości bme szybko się zmieniają.
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

kosa24 wrote: Mon Sep 07, 2020 8:02 am
krycha88 wrote: Fri Sep 04, 2020 6:58 am
kosa24 wrote: Sun Aug 30, 2020 8:09 pm

Tak było, po podłączeniu się wemosa z tym bme przyciski w aplikacji szybko się odświeżały i cofały, nie szło nic zrobić. Winna była biblioteka SuplaDevicePrimary @krycha88 z gałęzi master, spróbowałem z gałęzi DurationMS i jest ok.
Pokaż co wyświetla Ci się na konsoli.
Dobra. Odtworzyłem ten błąd na innym wemosie.
Primary GUI:
https://github.com/krycha88/Primary_GUI
Biblioteki:
https://github.com/krycha88/SuplaDevicePrimary
Wersja płytki esp8266- 2.5.2

Podłączony oled i bme280, zmiany w supla_board_settings to tylko:

Code: Select all

 
 //WEMOS_D1_MINI_8DS_OLED*********************************
#elif defined(WEMOS_D1_MINI_8DS_OLED)
  add_BME280_Sensor();
  add_Oled();
  
i Primary_GUI dodany adres bme.

Code: Select all

bme_channel.status = bme.begin(0x76);
Serial log:

Code: Select all

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v8b899c12
~ld
BME init
WiFi init 
Creating STA
Setting mode ... Ready
SSID: xxxxxx
PASSWORD: xxxxxxxxxxxxxxxx
Zainicjowany

Uruchamianie serwera...
Rozłączony
Connection fail. Server: 192.168.xx.xx
localIP: 192.168.xx.xx
subnetMask: 255.255.255.0
gatewayIP: 192.168.xx.xx
siła sygnału (RSSI): -73 dBm
Rejestracja w toku
Zarejestrowany i gotowy
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
itd.
"Value changer" kilka razy na sekundę i w aplikacji nie można przesunąć przycisku. Na oled i w aplikacji wartości bme szybko się zmieniają.
pobierz jeszcze raz SuplaDevicePrimary i zobacz czy będzie dobrze :)
https://gui-generic-builder.supla.io/
kosa24
Posts: 12
Joined: Sat Mar 16, 2019 8:47 pm

Post

krycha88 wrote: Mon Sep 07, 2020 8:38 am
kosa24 wrote: Mon Sep 07, 2020 8:02 am
krycha88 wrote: Fri Sep 04, 2020 6:58 am

Pokaż co wyświetla Ci się na konsoli.
Dobra. Odtworzyłem ten błąd na innym wemosie.
Primary GUI:
https://github.com/krycha88/Primary_GUI
Biblioteki:
https://github.com/krycha88/SuplaDevicePrimary
Wersja płytki esp8266- 2.5.2

Podłączony oled i bme280, zmiany w supla_board_settings to tylko:

Code: Select all

 
 //WEMOS_D1_MINI_8DS_OLED*********************************
#elif defined(WEMOS_D1_MINI_8DS_OLED)
  add_BME280_Sensor();
  add_Oled();
  
i Primary_GUI dodany adres bme.

Code: Select all

bme_channel.status = bme.begin(0x76);
Serial log:

Code: Select all

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v8b899c12
~ld
BME init
WiFi init 
Creating STA
Setting mode ... Ready
SSID: xxxxxx
PASSWORD: xxxxxxxxxxxxxxxx
Zainicjowany

Uruchamianie serwera...
Rozłączony
Connection fail. Server: 192.168.xx.xx
localIP: 192.168.xx.xx
subnetMask: 255.255.255.0
gatewayIP: 192.168.xx.xx
siła sygnału (RSSI): -73 dBm
Rejestracja w toku
Zarejestrowany i gotowy
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
Value changed
itd.
"Value changer" kilka razy na sekundę i w aplikacji nie można przesunąć przycisku. Na oled i w aplikacji wartości bme szybko się zmieniają.
pobierz jeszcze raz SuplaDevicePrimary i zobacz czy będzie dobrze :)
Jest Ok :)
Dzięki.
petione
Posts: 121
Joined: Sat Jul 21, 2018 4:26 pm

Post

petione wrote: Fri Aug 28, 2020 5:27 am Witam wszystkich. Koledzy mam taki problem. Wgralem sofcik pobrany z linku z pierwszej strony i nie wiem czemu błędnie dziala automat schodowy. Problem polega na tym ze niezaleznie od włączenia fizycznym przyciskiem lub z poziomu clouda wartosc czasu zalaczenia to zawsze ok 0.5 s niezależnie od ustawien w cloudzie. Sprawa ma sie podobnie przy sterowaniu furtką lub np bramą, dlugosc imupulsu zawsze wynosi te ok 0.5s. Wczesnie używałem starszej wersji tego softu i tam tam nie bylo problemu. Podpowiedzcie proszę co moge robic nie tak.
Pozdrawiam
Krycha czy mi się tylko wydaje ale jak uaktualniłeś bibliotekę SuplaDevicePrimary.cpp i ja podmieniłem to problemy z prawidłowym odmierzaniem czasu znikły bo teraz ładnie działa.


Mam jeszcze jedno pytanko, czy kolejność wpisów w supla_board_settings.cpp określająca konfiguracje ma znaczenie? Mowa o tej sekcji.

Code: Select all

 //INNE***********************************************************************************************
#else
  add_Sensor(4);
  add_Relay_Button(RELAY1_PIN, BUTTON1_PIN, 1);
  add_DS18B20_Thermometer(DS18B20_PIN);
  //add_SHT_Sensor();
  //add_BME280_Sensor();
  //add_Oled();
  
  add_Led_Config(LED_CONFIG_PIN);
  add_Config(CONFIG_PIN);
  // Allow users to define new settings without migration config
  //#error "UNSUPPORTED HARDWARE!"

#endif
}

Pytam bo moduł mi się restartował albo nie mierzył temperatury a jak pozmieniałem kolejność to wszystko zaczęło działać( nie pamiętam w tej w chwili jaka była to kolejność)
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

petione wrote: Wed Sep 09, 2020 12:53 pm
petione wrote: Fri Aug 28, 2020 5:27 am Witam wszystkich. Koledzy mam taki problem. Wgralem sofcik pobrany z linku z pierwszej strony i nie wiem czemu błędnie dziala automat schodowy. Problem polega na tym ze niezaleznie od włączenia fizycznym przyciskiem lub z poziomu clouda wartosc czasu zalaczenia to zawsze ok 0.5 s niezależnie od ustawien w cloudzie. Sprawa ma sie podobnie przy sterowaniu furtką lub np bramą, dlugosc imupulsu zawsze wynosi te ok 0.5s. Wczesnie używałem starszej wersji tego softu i tam tam nie bylo problemu. Podpowiedzcie proszę co moge robic nie tak.
Pozdrawiam
Krycha czy mi się tylko wydaje ale jak uaktualniłeś bibliotekę SuplaDevicePrimary.cpp i ja podmieniłem to problemy z prawidłowym odmierzaniem czasu znikły bo teraz ładnie działa.


Mam jeszcze jedno pytanko, czy kolejność wpisów w supla_board_settings.cpp określająca konfiguracje ma znaczenie? Mowa o tej sekcji.

Code: Select all

 //INNE***********************************************************************************************
#else
  add_Sensor(4);
  add_Relay_Button(RELAY1_PIN, BUTTON1_PIN, 1);
  add_DS18B20_Thermometer(DS18B20_PIN);
  //add_SHT_Sensor();
  //add_BME280_Sensor();
  //add_Oled();
  
  add_Led_Config(LED_CONFIG_PIN);
  add_Config(CONFIG_PIN);
  // Allow users to define new settings without migration config
  //#error "UNSUPPORTED HARDWARE!"

#endif
}

Pytam bo moduł mi się restartował albo nie mierzył temperatury a jak pozmieniałem kolejność to wszystko zaczęło działać( nie pamiętam w tej w chwili jaka była to kolejność)
Jeżeli masz jakiś problemy to musisz pokazać co się wyświetla w serial monitor, ale jeżeli działa to po co drążyć ;)
https://gui-generic-builder.supla.io/
kosa24
Posts: 12
Joined: Sat Mar 16, 2019 8:47 pm

Post

Witam. Mam pytanie, czy byłby duży kłopot z dołożeniem możliwości obsługi expandera mcp23017? Próbowałem samemu, dołączyłem bibioteki:

Code: Select all

#include <io.h>
#include <Adafruit_MCP23017.h>
#include <SPI.h>
#include <FS.h>
Później wg rozwiązania @elmaya, poza setup:

Code: Select all

Adafruit_MCP23017 mcp;

class MyMcp23017 : public Supla::Io {
  public:
    void customDigitalWrite(int channelNumber, uint8_t pin, uint8_t val) {
            if ((pin >= 100)&& (pin <= 115)){
        mcp.digitalWrite(pin - 100, val);  
         return;
      }
      if (pin <= 99) {
        return ::digitalWrite(pin,val);  
      }
   }
   
   int customDigitalRead(int channelNumber, uint8_t pin) {
      if ((pin >= 100)&& (pin <= 115)){
        return mcp.digitalRead(pin - 100);     
      }     
      if (pin <= 99){
        return ::digitalRead(pin);  
      }
    }   
}MyMcp23017; 
i w setup():

Code: Select all

  mcp.begin();
  mcp.pinMode(0, OUTPUT);
  mcp.pinMode(1, OUTPUT);
  mcp.pinMode(2, OUTPUT);
  mcp.pinMode(3, OUTPUT);
  mcp.pinMode(4, OUTPUT);
  mcp.pinMode(5, OUTPUT);
  mcp.pinMode(6, OUTPUT);
  mcp.pinMode(7, OUTPUT);
  mcp.pinMode(8, OUTPUT);
  mcp.pinMode(9, OUTPUT);
  mcp.pinMode(10, OUTPUT);
  mcp.pinMode(11, OUTPUT);
  mcp.pinMode(12, OUTPUT);
  mcp.pinMode(13, OUTPUT);
  mcp.pinMode(14, OUTPUT);
  mcp.pinMode(15, OUTPUT); 
I w sumie expander działa, np:

Code: Select all

mcp.digitalWrite(1, HIGH);
załącza przekaźnik na starcie, ale nie wiem dlaczego nie działa przypisanie pinów 100-115 do pinów mcp. Nie mogę np dodać:

Code: Select all

add_Relay_Invert(101);
Kompiluje się, ale brak reakcji na zmianę stanu, w logu też. Co robię nie tak? Może jest jakiś inny sposób przypisania tych pinów?
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

kosa24 wrote: Thu Sep 17, 2020 9:37 am Witam. Mam pytanie, czy byłby duży kłopot z dołożeniem możliwości obsługi expandera mcp23017? Próbowałem samemu, dołączyłem bibioteki:

Code: Select all

#include <io.h>
#include <Adafruit_MCP23017.h>
#include <SPI.h>
#include <FS.h>
Później wg rozwiązania @elmaya, poza setup:

Code: Select all

Adafruit_MCP23017 mcp;

class MyMcp23017 : public Supla::Io {
  public:
    void customDigitalWrite(int channelNumber, uint8_t pin, uint8_t val) {
            if ((pin >= 100)&& (pin <= 115)){
        mcp.digitalWrite(pin - 100, val);  
         return;
      }
      if (pin <= 99) {
        return ::digitalWrite(pin,val);  
      }
   }
   
   int customDigitalRead(int channelNumber, uint8_t pin) {
      if ((pin >= 100)&& (pin <= 115)){
        return mcp.digitalRead(pin - 100);     
      }     
      if (pin <= 99){
        return ::digitalRead(pin);  
      }
    }   
}MyMcp23017; 
i w setup():

Code: Select all

  mcp.begin();
  mcp.pinMode(0, OUTPUT);
  mcp.pinMode(1, OUTPUT);
  mcp.pinMode(2, OUTPUT);
  mcp.pinMode(3, OUTPUT);
  mcp.pinMode(4, OUTPUT);
  mcp.pinMode(5, OUTPUT);
  mcp.pinMode(6, OUTPUT);
  mcp.pinMode(7, OUTPUT);
  mcp.pinMode(8, OUTPUT);
  mcp.pinMode(9, OUTPUT);
  mcp.pinMode(10, OUTPUT);
  mcp.pinMode(11, OUTPUT);
  mcp.pinMode(12, OUTPUT);
  mcp.pinMode(13, OUTPUT);
  mcp.pinMode(14, OUTPUT);
  mcp.pinMode(15, OUTPUT); 
I w sumie expander działa, np:

Code: Select all

mcp.digitalWrite(1, HIGH);
załącza przekaźnik na starcie, ale nie wiem dlaczego nie działa przypisanie pinów 100-115 do pinów mcp. Nie mogę np dodać:

Code: Select all

add_Relay_Invert(101);
Kompiluje się, ale brak reakcji na zmianę stanu, w logu też. Co robię nie tak? Może jest jakiś inny sposób przypisania tych pinów?
Rozwiązanie @elmaya jest oparte na nowej bibliotece a ten projekt Primary_GUI jest oparty na starej bibliotece SuplaDevice.

Musisz zbudować projekt na nowej wersji:
https://github.com/krycha88/Primary_GUI_nexo
https://gui-generic-builder.supla.io/
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

W nowej bibliotece nie używałem też konsekwentnie tego Supla::Io, więc nie wszyskto będzie działać (temat do poprawy w bibliotece)
Najlepsze suple dla Twojego domu :mrgreen:
srdz
Posts: 143
Joined: Thu Oct 31, 2019 10:41 am

Post

Cześć.
Prośba o pomoc w kompilacji. Nigdy tego nie robiłem, a chciałbym spróbować tego softu na Sonoff Basic. W jaki sposób mogę ten soft skompilować ?
Dziękuję.
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

srdz wrote: Thu Sep 17, 2020 11:03 am Cześć.
Prośba o pomoc w kompilacji. Nigdy tego nie robiłem, a chciałbym spróbować tego softu na Sonoff Basic. W jaki sposób mogę ten soft skompilować ?
Dziękuję.
Jeśli nigdy niczego nie kompilowałeś, to najlpiej jakbyś znalazł sobie jakiś tutorial w sieci z jakimś przykładowym programem do Sonoff Basic. I dopiero jak przez to przebrniesz, to wróć do Primary GUI i Supli.
Najlepsze suple dla Twojego domu :mrgreen:

Return to “Nowości”