Przekaźniki/Relay w SuplaDevice Arduino IDE

User avatar
klew
Posts: 9690
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Code: Select all

// Replace the following AUTHKEY with value that you can retrieve from: https://www.supla.org/arduino/get-authkey
  char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
Tutaj za znakiem = trzeba to wstawić
Kiedy będzie Supla Offline Party / SOP#2025 ?
jaku2k
Posts: 901
Joined: Sun May 24, 2020 8:40 pm

Post

klew wrote: Thu Jul 15, 2021 6:25 pm

Code: Select all

// Replace the following AUTHKEY with value that you can retrieve from: https://www.supla.org/arduino/get-authkey
  char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
Tutaj za znakiem = trzeba to wstawić
Tutaj chyba wszystko jest dobrze. Arduino IDE zaznacza linijkę w tej sekcji:

Code: Select all

SuplaDevice.begin(GUID,              // Global Unique Identifier 
                    "svr1.supla.org",  // SUPLA server address
                    "email@address",   // Email address used to login to Supla Cloud
                    AUTHKEY);          // Authorization key
opis błędów:

Code: Select all

Arduino:1.8.13 (Windows 10), Płytka:"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

C:\Users\jakub\Desktop\supla_projekt_dom\supla_projekt_dom.ino: In function 'void setup()':

supla_projekt_dom:57:28: error: no matching function for call to 'SuplaDeviceClass::begin(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, const char [4], const char [4], char [16])'

                     AUTHKEY);          // Authorization key

                            ^

In file included from C:\Users\jakub\Desktop\supla_projekt_dom\supla_projekt_dom.ino:2:0:

C:\Users\jakub\Documents\Arduino\libraries\SuplaDevice\src/SuplaDevice.h:90:8: note: candidate: bool SuplaDeviceClass::begin(char*, const char*, const char*, char*, unsigned char)

   bool begin(char GUID[SUPLA_GUID_SIZE],

        ^~~~~

C:\Users\jakub\Documents\Arduino\libraries\SuplaDevice\src/SuplaDevice.h:90:8: note:   candidate expects 5 arguments, 19 provided

C:\Users\jakub\Documents\Arduino\libraries\SuplaDevice\src/SuplaDevice.h:96:8: note: candidate: bool SuplaDeviceClass::begin(unsigned char)

   bool begin(unsigned char version = 12);

        ^~~~~

C:\Users\jakub\Documents\Arduino\libraries\SuplaDevice\src/SuplaDevice.h:96:8: note:   candidate expects 1 argument, 19 provided

exit status 1

no matching function for call to 'SuplaDeviceClass::begin(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, const char [4], const char [4], char [16])'



Ten raport powinien zawierać więcej informacji jeśli w 
File -> Preferencje zostanie włączona opcja "Pokaż
szczegółowe informacje podczas kompilacji"
Pozdrawiam
Jakub
User avatar
klew
Posts: 9690
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Ten wygenerowany klucz masz wstawić tam gdzie pokazałem, a nie w metodzie begin
Kiedy będzie Supla Offline Party / SOP#2025 ?
jaku2k
Posts: 901
Joined: Sun May 24, 2020 8:40 pm

Post

klew wrote: Thu Jul 15, 2021 7:17 pm Ten wygenerowany klucz masz wstawić tam gdzie pokazałem, a nie w metodzie begin
Dziękuję za odpowiedź. Mimo poprawnego wpisania AUTHKEYa, dalej otrzymuję ten sam błąd, co podany powyżej.
Pozdrawiam
Jakub
User avatar
klew
Posts: 9690
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Prześlij kod w wiadomości prywatnej
Kiedy będzie Supla Offline Party / SOP#2025 ?
jaku2k
Posts: 901
Joined: Sun May 24, 2020 8:40 pm

Post

klew wrote: Thu Jul 15, 2021 7:41 pm Prześlij kod w wiadomości prywatnej
Dziękuję, problem już rozwiązany. Odezwał się do mnie @elmaya z poprawiona wersją - dziękuję.
Teraz wszystko działa.
Pozdrawiam
Jakub
User avatar
lukfud
Posts: 2265
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa

Post

@klew,

Zmiana stanu przekaźnika wywołana z harmonogramu zależna od stanu czujnika binarnego.
Czy jestem w stanie osiągnąć takie działanie?

Kombinuje z klasą IO

Code: Select all

class CustomControl : public Supla::Io {
  public:
    void customDigitalWrite(int channelNumber, uint8_t pin, uint8_t val) {
      if (digitalRead(5) == HIGH) {
        ::digitalWrite(pin, val);
      } /*else {
        ::digitalWrite(pin, val);
      }*/
    }
}CustomControl;
Przekaźnik fizycznie nie zmienia stanu, ale serwer pokazuje, że stan się zmienił.
https://www.facebook.com/groups/supladiy/
User avatar
klew
Posts: 9690
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

lukfud wrote: Mon Jul 26, 2021 6:34 pm @klew,

Zmiana stanu przekaźnika wywołana z harmonogramu zależna od stanu czujnika binarnego.
Czy jestem w stanie osiągnąć takie działanie?

Kombinuje z klasą IO

Przekaźnik fizycznie nie zmienia stanu, ale serwer pokazuje, że stan się zmienił.
Przekaźnik będzie pokazywał stan, który został ustawiony. On "zakłada", że sprzęt zrobił, co miał zrobić. Dlatego w apce wygląda jakby zmienił stan, a w rzeczywistości się nie zmienia.

Jak się nie spieszy to ja bym z takimi rzeczami poczekał na jakąś "logikę" w Supli. Ewentualnie taki prosty warunek możesz zrealizować w skryptach fracza.
Kiedy będzie Supla Offline Party / SOP#2025 ?
User avatar
lukfud
Posts: 2265
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa

Post

klew wrote: Mon Jul 26, 2021 9:30 pm Przekaźnik będzie pokazywał stan, który został ustawiony. On "zakłada", że sprzęt zrobił, co miał zrobić. Dlatego w apce wygląda jakby zmienił stan, a w rzeczywistości się nie zmienia.
Jak się nie spieszy to ja bym z takimi rzeczami poczekał na jakąś "logikę" w Supli. Ewentualnie taki prosty warunek możesz zrealizować w skryptach fracza.
A jest jakaś metoda, która odczyta stan pinu i poinformuje serwer, że jednak stan się nie zmienił?
https://www.facebook.com/groups/supladiy/
krycha88
Posts: 5417
Joined: Fri Nov 16, 2018 7:25 am

Post

Trafił w moje ręce zawór który jest dość nietypowo sterowany.

Aby go wysterować musiałem dodać dwa kanały przekaźnika na GPIO16 oraz GPIO04. Sterowanie odbywa się w następujący sposób:
GPIO16- stan 0 GPIO04-stan 1 - zawór zamknięty
GPIO16-stan 1 GPIO04-stan 0 - zawór otwarty

jeżeli w trakcie zamykania zmienię stan GPIO04 na 0 to zawór się zatrzyma itd.

Czy jest możliwość obsługi tego w jakiś normalny sposób? Czy to jest sterowanie za pomocą BistableRelay?
https://gui-generic-builder.supla.io/

Return to “Arduino IDE”