ESP8266 Primary GUI v2

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

sob wrz 19, 2020 8:45 am

krycha88 pisze:
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

Na nexo tym sposobem działa, ale tylko OUTPUT, relay działa na każdym pinie, coś nie mogę uruchomić INPUT, próbuję różnymi sposobami, ale mi nie działa. Szkoda. Nexo i nowe biblioteki działają super. Dla tych co chcą się przesiąść z Primary GUI v2- na wemosie mini- trzeba kompilować na nowej wersji płytki ESP8266 i na Generic ESP8266 Module, na LELIN(WEMOS) D1 nie działa zapis ustawień, może to komuś oszczędzić sporo czasu :)
krycha88
Posty: 1117
Rejestracja: pt lis 16, 2018 7:25 am

sob wrz 19, 2020 8:55 am

kosa24 pisze:
sob wrz 19, 2020 8:45 am
Na nexo tym sposobem działa, ale tylko OUTPUT, relay działa na każdym pinie, coś nie mogę uruchomić INPUT, próbuję różnymi sposobami, ale mi nie działa. Szkoda. Nexo i nowe biblioteki działają super. Dla tych co chcą się przesiąść z Primary GUI v2- na wemosie mini- trzeba kompilować na nowej wersji płytki ESP8266 i na Generic ESP8266 Module, na LELIN(WEMOS) D1 nie działa zapis ustawień, może to komuś oszczędzić sporo czasu :)
To nie ma znaczenia, przy kompilacji projekty musisz wskazać aby utworzyło partycje spiffs.
petione
Posty: 8
Rejestracja: sob lip 21, 2018 4:26 pm

śr wrz 23, 2020 10:22 am

Co zmienić w kodzie aby aby przycisk był wykrywany poprzez podanie stanu wysokiego a nie niskiego?
dziad.paw@gmail.com
Posty: 6
Rejestracja: ndz lis 01, 2020 9:48 pm

ndz lis 01, 2020 9:52 pm

Witam wszystkich
Dlaczego po kompilacji i wgraniu do wemos d1mini nie mam primary tylko sonoff basic?
dziad.paw@gmail.com
Posty: 6
Rejestracja: ndz lis 01, 2020 9:48 pm

czw lis 05, 2020 7:03 pm

Dziękuje wszystkim za konkretne odpowiedzi :p
krycha88
Posty: 1117
Rejestracja: pt lis 16, 2018 7:25 am

czw lis 05, 2020 7:05 pm

dziad.paw@gmail.com pisze:
ndz lis 01, 2020 9:52 pm
Witam wszystkich
Dlaczego po kompilacji i wgraniu do wemos d1mini nie mam primary tylko sonoff basic?
Bo pewnie taką flagę wybrałeś w hardware.h
dziad.paw@gmail.com
Posty: 6
Rejestracja: ndz lis 01, 2020 9:48 pm

ndz lis 08, 2020 5:18 pm

W hardware.h mam do wyboru:

//#define SONOFF_BASIC_CWU
//#define SONOFF_BASIC
//#define SONOFF_BASIC_RF
//#define SONOFF_TOUCH_2GANG
//#define SONOFF_TOUCH_2GANG_ESP8285
//#define SONOFF_TOUCH_3GANG_ESP8285
//#define YUNSHAN
//#define WEMOS_D1_MINI
//#define WEMOS_D1_MINI_8DS_OLED

Mi chodzi o to, że na żadnym z powyższych nie pojawia się niebieski ekran GUI PRIMARY tylko są normalny zielona SUPLA.
Adamo28
Posty: 6
Rejestracja: ndz lis 08, 2020 2:54 pm

śr lis 25, 2020 6:43 pm

Kod: Zaznacz cały

  mcp.begin(); 
  mcp.pinMode(0, OUTPUT);
  mcp.pinMode(8, INPUT);
  mcp.pullUp(8, HIGH);

 new Supla::Control::Relay(100, false);     // A0 // 
 new Supla::Sensor::Binary(108, false);     // B0 // 
 
reszta definicji class MyMcp23017 wg. @elmaya i działa pełen ekspander w supli zarówno wejścia jak i wyjścia
krycha88
Posty: 1117
Rejestracja: pt lis 16, 2018 7:25 am

śr lis 25, 2020 6:46 pm

Ze względu na to, że soft jest już nie wspierany temat można zamknąć.

Zapraszam do zapoznania się z nową wersją
viewtopic.php?f=11&t=7133
Zablokowany

Wróć do „Nowości”