Wemos d1 mini skrzynka na listy

L0L3K
Posts: 109
Joined: Thu Feb 22, 2018 2:34 pm

Post

klew wrote: Mon Apr 13, 2020 8:03 pm
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
Rozwiązanie z przekaźnikiem i dwoma kontaktronami/przełącznikami jest "sprzętowe" i da sygnał na dowolne wejście cyfrowe (najlepiej przez optoizolację).
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?
No właśnie raczej byłbym za rozwiązaniem softowym :geek:
alankedzior
Posts: 114
Joined: Mon Jun 18, 2018 5:38 pm

Post

klew wrote: Mon Apr 13, 2020 8:03 pm
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
Rozwiązanie z przekaźnikiem i dwoma kontaktronami/przełącznikami jest "sprzętowe" i da sygnał na dowolne wejście cyfrowe (najlepiej przez optoizolację).
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?
O jakiej optoizolacji mowa ? Możesz podać jakiś przykład ?
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

L0L3K wrote: Mon Apr 13, 2020 8:10 pm No właśnie raczej byłbym za rozwiązaniem softowym :geek:
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();
}
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.
Przyciskiem może być kontaktron, mikroprzełącznik, ...
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

alankedzior wrote: Mon Apr 13, 2020 8:20 pm O jakiej optoizolacji mowa ? Możesz podać jakiś przykład ?
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.
Screenshot from 2020-04-13 23-32-28.png
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 :mrgreen:
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Na zasilaniu cewki przekaźnika powinna też być dioda.
SUPLA.... Nareszcie w domu.
L0L3K
Posts: 109
Joined: Thu Feb 22, 2018 2:34 pm

Post

klew wrote: Mon Apr 13, 2020 9:09 pm
L0L3K wrote: Mon Apr 13, 2020 8:10 pm No właśnie raczej byłbym za rozwiązaniem softowym :geek:
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();
}
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.
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
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

L0L3K 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
Pierwszy parametr konstruktora dla tej klasy określa GPIO: Supla::Control::Button
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 :mrgreen:
L0L3K
Posts: 109
Joined: Thu Feb 22, 2018 2:34 pm

Post

klew wrote: Tue Apr 14, 2020 10:54 am
L0L3K 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
Pierwszy parametr konstruktora dla tej klasy określa GPIO: Supla::Control::Button
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 ;) nie 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
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

L0L3K wrote: Tue Apr 14, 2020 4:59 pm Jeszcze jedno ;) nie 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
Tutaj możesz drugim przyciskiem resetować.
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 :mrgreen:
User avatar
Xoggo
Posts: 182
Joined: Sun Mar 29, 2020 10:03 pm
Location: Zbąszynek

Post

klew wrote: Tue Apr 14, 2020 6:31 pm Kanał czujnika nie pozwala na zmianę jego stanu z poziomu aplikacji.
Znaczy, że wirtualnego sensora nie można aktywować lub dezaktywować wirtualnym przyciskiem?

Return to “Ogólna dyskusja”