Przekaźniki/Relay w SuplaDevice Arduino IDE

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

krycha88 wrote: Sat Nov 07, 2020 12:29 pm Jeżeli wywoła się konstruktor bez parametru to nie działa zapisywanie

Code: Select all

Supla::Eeprom eeprom();
jeżeli poda się to w taki sposób

Code: Select all

#STORAGE_OFFSET 0
Supla::Eeprom eeprom(STORAGE_OFFSET );
to już działa. Wydaje się to błędem :)
Unpossible

Code: Select all

  Eeprom(unsigned int storageStartingOffset = 0);
Tu nie może być różnicy w działaniu. Wywołanie z "0" i bez niego powinno działać tak samo.
Najlepsze suple dla Twojego domu :mrgreen:
bigthomas
Posts: 235
Joined: Mon Aug 12, 2019 3:35 pm

Post

Czy ktoś może mieć pomysł dlaczego za każdym razem jak podłącze zasilanie to uruchamia się na chwilę przekaźnik?
ESP8285

Code: Select all

#include <SPI.h>
#include <SuplaDevice.h>
#include <supla/sensor/binary.h>
#include <supla/control/relay.h>
#include <supla/control/button.h>

// ESP8266 based board:
#include <supla/network/esp_wifi.h>
Supla::ESPWifi wifi("XXXXX", "XXXXX");

//Czujnik bramy
#define pin_binary_open 14
Supla::Sensor::Binary *czy_Otwarta = {nullptr};

// Przekaźnik otwierający/zamykający bramę
#define pin_brama 12 // 
Supla::Control::Relay *brama_relay = {nullptr};

// Przyciski
#define pin_przycisk 0 // 
auto button = new Supla::Control::Button(pin_przycisk, true, true);

void setup() {

  Serial.begin(9600);

  // Czujniki otwarcia/zamkniecia
  czy_Otwarta = new Supla::Sensor::Binary(pin_binary_open, true); // Parametr true określa wymaganie pullup -> true
  czy_Otwarta->disableChannelState();

  // Przekaźnik otwierający/zamykający bramę
  brama_relay = new Supla::Control::Relay(pin_brama, false); // przekaźnik sterowany stanem niskim
  brama_relay->disableChannelState();

  // Replace the falowing GUID with value that you can retrieve from https://www.supla.org/arduino/get-guid
  char GUID[SUPLA_GUID_SIZE] = {XXXXX};

  // Replace the following AUTHKEY with value that you can retrieve from: https://www.supla.org/arduino/get-authkey
  char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {XXXXX};

  SuplaDevice.begin(GUID,              // Global Unique Identifier
                    "XXXXX",  // SUPLA server address
                    "XXXXX",   // Email address used to login to Supla Cloud
                    AUTHKEY);          // Authorization key

  // Przyciski
  button->addAction(Supla::TOGGLE, brama_relay, Supla::ON_PRESS);
}

void loop() {
  SuplaDevice.iterate();
  //  httpServer.handleClient();

}
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

bigthomas wrote: Thu Nov 26, 2020 9:58 pm Czy ktoś może mieć pomysł dlaczego za każdym razem jak podłącze zasilanie to uruchamia się na chwilę przekaźnik?
ESP8285
Używasz biblioteki z https://github.com/SUPLA/arduino/tree/develop czy z https://github.com/klew/arduino ?

Obie różnią się kolejnością ustawienia stanu na GPIO przekaźnika i trybu "pinMode".
W wersji na oficjalnym repo u mnie na "low trigger" pojawiało się cyknięcie przekaźnika. Na moim repozytorium zmieniłem kolejność ustawiania stanu na GPIO i przestało "cykać".
Najlepsze suple dla Twojego domu :mrgreen:
bigthomas
Posts: 235
Joined: Mon Aug 12, 2019 3:35 pm

Post

klew wrote: Thu Nov 26, 2020 10:49 pm
zawsze brałem od Ciebie -> https://github.com/klew/arduino .
Pobrałem najświeższą z https://github.com/klew/arduino i dalej to samo.
Przy podłączeniu urządzenia jest "cyknięcie" przekaźnika.
User avatar
Espablo
Posts: 1754
Joined: Wed Jun 29, 2016 5:04 pm
Location: Oświęcim

Post

bigthomas wrote: Thu Nov 26, 2020 11:38 pm
klew wrote: Thu Nov 26, 2020 10:49 pm
zawsze brałem od Ciebie -> https://github.com/klew/arduino .
Pobrałem najświeższą z https://github.com/klew/arduino i dalej to samo.
Przy podłączeniu urządzenia jest "cyknięcie" przekaźnika.
Zmień gpio
Każde urządzenie elektryczne działa o wiele lepiej jeśli podłączysz je do prądu. :? :roll:
bigthomas
Posts: 235
Joined: Mon Aug 12, 2019 3:35 pm

Post

Espablo wrote: Fri Nov 27, 2020 3:14 am Zmień gpio
Niestety nie mogę, jest to urządzenie z wyprowadzonym już GPIO na przekaźnik.
User avatar
Espablo
Posts: 1754
Joined: Wed Jun 29, 2016 5:04 pm
Location: Oświęcim

Post

bigthomas wrote: Fri Nov 27, 2020 12:25 pm
Espablo wrote: Fri Nov 27, 2020 3:14 am Zmień gpio
Niestety nie mogę, jest to urządzenie z wyprowadzonym już GPIO na przekaźnik.
No to chyba nic się nie da zrobić. Są piny, które podczas startu na chwilę mają HIGH i nie jest to związane z wgranym programem tylko z budową wew. układu esp8266
Każde urządzenie elektryczne działa o wiele lepiej jeśli podłączysz je do prądu. :? :roll:
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

Espablo wrote: Fri Nov 27, 2020 12:47 pm
bigthomas wrote: Fri Nov 27, 2020 12:25 pm
Espablo wrote: Fri Nov 27, 2020 3:14 am Zmień gpio
Niestety nie mogę, jest to urządzenie z wyprowadzonym już GPIO na przekaźnik.
No to chyba nic się nie da zrobić. Są piny, które podczas startu na chwilę mają HIGH i nie jest to związane z wgranym programem tylko z budową wew. układu esp8266
A może na start ustawić stan HIGH i sterować stanem odwrotnym?
https://gui-generic-builder.supla.io/
User avatar
Espablo
Posts: 1754
Joined: Wed Jun 29, 2016 5:04 pm
Location: Oświęcim

Post

W kodzie możesz robić co chcesz, ale nic to nie zmieni. Ten pin będzie tak reagował za każdym restartem. Na chwilę zawsze jest HIGH potem LOW.
Każde urządzenie elektryczne działa o wiele lepiej jeśli podłączysz je do prądu. :? :roll:
Zybi
Posts: 1511
Joined: Sun Jun 26, 2016 4:24 pm

Post

bigthomas wrote: Fri Nov 27, 2020 12:25 pm
Espablo wrote: Fri Nov 27, 2020 3:14 am Zmień gpio
Niestety nie mogę, jest to urządzenie z wyprowadzonym już GPIO na przekaźnik.
Zapoznaj się z tym wątkiem, może pomoże Ci rozwiązać ten problem w podobny sposób:

viewtopic.php?f=27&t=4947

Return to “Arduino IDE”