ESP8266 Primary GUI v2

kosa24
Posty: 9
Rejestracja: sob mar 16, 2019 8:47 pm

pn wrz 07, 2020 8:02 am

krycha88 pisze:
pt wrz 04, 2020 6:58 am
kosa24 pisze:
ndz sie 30, 2020 8:09 pm
klew pisze:
pt sie 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:

Kod: Zaznacz cały

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

Kod: Zaznacz cały

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

Kod: Zaznacz cały

 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
Posty: 803
Rejestracja: pt lis 16, 2018 7:25 am

pn wrz 07, 2020 8:38 am

kosa24 pisze:
pn wrz 07, 2020 8:02 am
krycha88 pisze:
pt wrz 04, 2020 6:58 am
kosa24 pisze:
ndz sie 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:

Kod: Zaznacz cały

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

Kod: Zaznacz cały

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

Kod: Zaznacz cały

 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 :)
kosa24
Posty: 9
Rejestracja: sob mar 16, 2019 8:47 pm

pn wrz 07, 2020 9:31 am

krycha88 pisze:
pn wrz 07, 2020 8:38 am
kosa24 pisze:
pn wrz 07, 2020 8:02 am
krycha88 pisze:
pt wrz 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:

Kod: Zaznacz cały

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

Kod: Zaznacz cały

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

Kod: Zaznacz cały

 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
Posty: 8
Rejestracja: sob lip 21, 2018 4:26 pm

śr wrz 09, 2020 12:53 pm

petione pisze:
pt sie 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.

Kod: Zaznacz cały

 //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
Posty: 803
Rejestracja: pt lis 16, 2018 7:25 am

czw wrz 10, 2020 5:59 am

petione pisze:
śr wrz 09, 2020 12:53 pm
petione pisze:
pt sie 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.

Kod: Zaznacz cały

 //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ć ;)
kosa24
Posty: 9
Rejestracja: sob mar 16, 2019 8:47 pm

czw wrz 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:

Kod: Zaznacz cały

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

Kod: Zaznacz cały

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():

Kod: Zaznacz cały

  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:

Kod: Zaznacz cały

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ć:

Kod: Zaznacz cały

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
Posty: 803
Rejestracja: pt lis 16, 2018 7:25 am

czw wrz 17, 2020 10:07 am

kosa24 pisze:
czw wrz 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:

Kod: Zaznacz cały

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

Kod: Zaznacz cały

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():

Kod: Zaznacz cały

  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:

Kod: Zaznacz cały

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ć:

Kod: Zaznacz cały

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
Awatar użytkownika
klew
Posty: 1294
Rejestracja: czw cze 27, 2019 12:16 pm

czw wrz 17, 2020 10:09 am

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)
srdz
Posty: 48
Rejestracja: czw paź 31, 2019 10:41 am

czw wrz 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ę.
Awatar użytkownika
klew
Posty: 1294
Rejestracja: czw cze 27, 2019 12:16 pm

czw wrz 17, 2020 11:44 am

srdz pisze:
czw wrz 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.
ODPOWIEDZ

Wróć do „Nowości”