No właśnie raczej byłbym za rozwiązaniem softowymklew wrote: Mon Apr 13, 2020 8:03 pmRozwiązanie z przekaźnikiem i dwoma kontaktronami/przełącznikami jest "sprzętowe" i da sygnał na dowolne wejście cyfrowe (najlepiej przez optoizolację).L0L3K wrote: Mon Apr 13, 2020 4:32 pm
Nie wiesz czy gdzieś na forum jest opisany ten sposób na dwa kontraktony i soft do tego
Można też to zrobić softowo bez przekaźnika. Na nowej bibliotece wystarczy kilka linijek kodu, tylko musiałabym dorzucić "wirtualny sensor" którego stan zmienia się w programie.
Które rozwiązanie wolisz?
Wemos d1 mini skrzynka na listy
-
L0L3K
- Posts: 109
- Joined: Thu Feb 22, 2018 2:34 pm
-
alankedzior
- Posts: 114
- Joined: Mon Jun 18, 2018 5:38 pm
O jakiej optoizolacji mowa ? Możesz podać jakiś przykład ?klew wrote: Mon Apr 13, 2020 8:03 pmRozwiązanie z przekaźnikiem i dwoma kontaktronami/przełącznikami jest "sprzętowe" i da sygnał na dowolne wejście cyfrowe (najlepiej przez optoizolację).L0L3K wrote: Mon Apr 13, 2020 4:32 pm
Nie wiesz czy gdzieś na forum jest opisany ten sposób na dwa kontraktony i soft do tego
Można też to zrobić softowo bez przekaźnika. Na nowej bibliotece wystarczy kilka linijek kodu, tylko musiałabym dorzucić "wirtualny sensor" którego stan zmienia się w programie.
Które rozwiązanie wolisz?
-
klew
- Posts: 13907
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Na https://github.com/klew/arduino wrzuciłem przed chwilą wirtualny sensor. Przykładowy kod na ESP8266:
Code: Select all
#include <SuplaDevice.h>
#include <supla/network/esp_wifi.h>
#include <supla/control/button.h>
#include <supla/sensor/virtual_binary.h>
const char* ssid = "wifissid";
const char* password = "wifipassword";
Supla::ESPWifi wifiInterface;
void setup() {
Serial.begin(460800);
wifiInterface.setSsid(ssid);
wifiInterface.setPassword(password);
char GUID[SUPLA_GUID_SIZE] = {...};
char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {...};
Supla::Sensor::VirtualBinary *sensor = new Supla::Sensor::VirtualBinary;
Supla::Control::Button *buttonSet = new Supla::Control::Button(5, true, true);
Supla::Control::Button *buttonClear = new Supla::Control::Button(6, true, true);
buttonSet->willTrigger(*sensor, Supla::Control::Button::ON_PRESS, Supla::Sensor::VirtualBinary::SET);
buttonClear->willTrigger(*sensor, Supla::Control::Button::ON_PRESS, Supla::Sensor::VirtualBinary::CLEAR);
SuplaDevice.begin(GUID, // Global Unique Identifier
"svrXX.supla.org",// //"svr23.supla.org", // SUPLA server address
"[email protected]",
AUTHKEY); // Authorization key
}
void loop() {
SuplaDevice.iterate();
}
Przyciskiem może być kontaktron, mikroprzełącznik, ...
Najlepsze suple dla Twojego domu 
-
klew
- Posts: 13907
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Przy rozwiązaniu sprzętowym, zasilanie przekaźnika i wyjście sygnałowe są ze sobą połączone. Tam pracuje jakaś cewka, więc warto chronić układ przed jakimś niepowołanym skokiem napięcia.alankedzior wrote: Mon Apr 13, 2020 8:20 pm O jakiej optoizolacji mowa ? Możesz podać jakiś przykład ?
Nie znam się na "rodzajach" optoizolacji. Kupuję gotowce o odpowiednich napięciach po obu stronach.
You do not have the required permissions to view the files attached to this post.
Najlepsze suple dla Twojego domu 
-
L0L3K
- Posts: 109
- Joined: Thu Feb 22, 2018 2:34 pm
klew wrote: Mon Apr 13, 2020 9:09 pmNa https://github.com/klew/arduino wrzuciłem przed chwilą wirtualny sensor. Przykładowy kod na ESP8266:
Przyciski na pinach 5 i 6 odpowiednio ustawiają lub czyszczą flagę w sensorze. Jest ustawiony tam pullup, więc wystarczy je zwierać do GND, aby było widać efekt.Code: Select all
#include <SuplaDevice.h> #include <supla/network/esp_wifi.h> #include <supla/control/button.h> #include <supla/sensor/virtual_binary.h> const char* ssid = "wifissid"; const char* password = "wifipassword"; Supla::ESPWifi wifiInterface; void setup() { Serial.begin(460800); wifiInterface.setSsid(ssid); wifiInterface.setPassword(password); char GUID[SUPLA_GUID_SIZE] = {...}; char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {...}; Supla::Sensor::VirtualBinary *sensor = new Supla::Sensor::VirtualBinary; Supla::Control::Button *buttonSet = new Supla::Control::Button(5, true, true); Supla::Control::Button *buttonClear = new Supla::Control::Button(6, true, true); buttonSet->willTrigger(*sensor, Supla::Control::Button::ON_PRESS, Supla::Sensor::VirtualBinary::SET); buttonClear->willTrigger(*sensor, Supla::Control::Button::ON_PRESS, Supla::Sensor::VirtualBinary::CLEAR); SuplaDevice.begin(GUID, // Global Unique Identifier "svrXX.supla.org",// //"svr23.supla.org", // SUPLA server address "[email protected]", AUTHKEY); // Authorization key } void loop() { SuplaDevice.iterate(); }
Przyciskiem może być kontaktron, mikroprzełącznik, ...
Pod który port podłączyć Kontaktron? Jestem troche zielony w temacie, soft chcualbym wgrac przez flash tools
-
klew
- Posts: 13907
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Pierwszy parametr konstruktora dla tej klasy określa GPIO: Supla::Control::ButtonL0L3K wrote: Tue Apr 14, 2020 9:41 am Pod który port podłączyć Kontaktron? Jestem troche zielony w temacie, soft chcualbym wgrac przez flash tools
W przykładowym kodzie to GPIO 5 i 6. Muszą być dwa kontaktrony/przyciski - załaczenie jednego (np. podniesieni klapki) ustawia flagę "jest poczta", a załącznie drugiego (np. otwarcie drzwiczek) czyści flagę.
GPIO możesz sobie dowolnie ustawić pod swoją płytkę (ten kod wymaga internal pullup, jak chcesz inaczej, to też się da, ale trzeba coś zmienić).
To jest program do Arduino IDE, więc musisz go sobie sam skompilować. Nie jest to trudne, ale jakieś podstawowy programowania by się przydały. Do samej kompilacji i wgrania przez Arduino IDE, nie potrzebujesz nic programować, tylko trzeba wszystko poinstalować. Jak już raz Tobie ruszy, to później będzie łatwiej
Najlepsze suple dla Twojego domu 
-
L0L3K
- Posts: 109
- Joined: Thu Feb 22, 2018 2:34 pm
klew wrote: Tue Apr 14, 2020 10:54 amPierwszy parametr konstruktora dla tej klasy określa GPIO: Supla::Control::ButtonL0L3K wrote: Tue Apr 14, 2020 9:41 am Pod który port podłączyć Kontaktron? Jestem troche zielony w temacie, soft chcualbym wgrac przez flash tools
W przykładowym kodzie to GPIO 5 i 6. Muszą być dwa kontaktrony/przyciski - załaczenie jednego (np. podniesieni klapki) ustawia flagę "jest poczta", a załącznie drugiego (np. otwarcie drzwiczek) czyści flagę.
GPIO możesz sobie dowolnie ustawić pod swoją płytkę (ten kod wymaga internal pullup, jak chcesz inaczej, to też się da, ale trzeba coś zmienić).
To jest program do Arduino IDE, więc musisz go sobie sam skompilować. Nie jest to trudne, ale jakieś podstawowy programowania by się przydały. Do samej kompilacji i wgrania przez Arduino IDE, nie potrzebujesz nic programować, tylko trzeba wszystko poinstalować. Jak już raz Tobie ruszy, to później będzie łatwiej![]()
Jeszcze jedno
-
klew
- Posts: 13907
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Tutaj możesz drugim przyciskiem resetować.L0L3K wrote: Tue Apr 14, 2020 4:59 pm Jeszcze jednonie ma poprostu takiego softu w którym sam bym mógł resetować stan jest list? wtedy wystarczył by mi zwykły kontrakton jak do okien czy drzwi
Kanał czujnika nie pozwala na zmianę jego stanu z poziomu aplikacji. Można to obejść używając np kanału przekaźnika
Najlepsze suple dla Twojego domu 
