Przekaźniki/Relay w SuplaDevice Arduino IDE

Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

krycha88 pisze: sob lis 07, 2020 12:29 pm Jeżeli wywoła się konstruktor bez parametru to nie działa zapisywanie

Kod: Zaznacz cały

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

Kod: Zaznacz cały

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

Kod: Zaznacz cały

  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.
Widzimy się na Supla Offline Party vol. 2 :!:
bigthomas
Posty: 234
Rejestracja: pn sie 12, 2019 3:35 pm

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

Kod: Zaznacz cały

#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();

}
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

bigthomas pisze: czw lis 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ć".
Widzimy się na Supla Offline Party vol. 2 :!:
bigthomas
Posty: 234
Rejestracja: pn sie 12, 2019 3:35 pm

klew pisze: czw lis 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.
Awatar użytkownika
Espablo
Posty: 1754
Rejestracja: śr cze 29, 2016 5:04 pm
Lokalizacja: Oświęcim
Kontakt:

bigthomas pisze: czw lis 26, 2020 11:38 pm
klew pisze: czw lis 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
Posty: 234
Rejestracja: pn sie 12, 2019 3:35 pm

Espablo pisze: pt lis 27, 2020 3:14 am Zmień gpio
Niestety nie mogę, jest to urządzenie z wyprowadzonym już GPIO na przekaźnik.
Awatar użytkownika
Espablo
Posty: 1754
Rejestracja: śr cze 29, 2016 5:04 pm
Lokalizacja: Oświęcim
Kontakt:

bigthomas pisze: pt lis 27, 2020 12:25 pm
Espablo pisze: pt lis 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
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

Espablo pisze: pt lis 27, 2020 12:47 pm
bigthomas pisze: pt lis 27, 2020 12:25 pm
Espablo pisze: pt lis 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/
Awatar użytkownika
Espablo
Posty: 1754
Rejestracja: śr cze 29, 2016 5:04 pm
Lokalizacja: Oświęcim
Kontakt:

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
Posty: 1511
Rejestracja: ndz cze 26, 2016 4:24 pm

bigthomas pisze: pt lis 27, 2020 12:25 pm
Espablo pisze: pt lis 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
ODPOWIEDZ

Wróć do „Arduino IDE”