Rolety w Arduino Ide

User avatar
lukfud
Posts: 2266
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa

Post

@klew,
Przycisk ustawiony jako STEP_BY_STEP działa dopiero po pierwszym uruchomieniu z aplikacji. Rozumiem dlaczego, ale wydaje mi się, że warto by wymusić pierwszą akcję, bo po restarcie ESP, zewnętrzny przycisk nie zadziała dopóki nie kliknie się w aplikacji.
https://www.facebook.com/groups/supladiy/
User avatar
klew
Posts: 9693
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

lukfud wrote: Sat Sep 26, 2020 8:21 am @klew,
Przycisk ustawiony jako STEP_BY_STEP działa dopiero po pierwszym uruchomieniu z aplikacji. Rozumiem dlaczego, ale wydaje mi się, że warto by wymusić pierwszą akcję, bo po restarcie ESP, zewnętrzny przycisk nie zadziała dopóki nie kliknie się w aplikacji.
Tak, jest tam błąd. Dzięki, poprawię.
Kiedy będzie Supla Offline Party / SOP#2025 ?
User avatar
klew
Posts: 9693
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

lukfud wrote: Sat Sep 26, 2020 8:21 am @klew,
Przycisk ustawiony jako STEP_BY_STEP działa dopiero po pierwszym uruchomieniu z aplikacji. Rozumiem dlaczego, ale wydaje mi się, że warto by wymusić pierwszą akcję, bo po restarcie ESP, zewnętrzny przycisk nie zadziała dopóki nie kliknie się w aplikacji.
Na moim githubie jest już poprawione. Przy pierwszym ruchu, STEP_BY_STEP zamknie roletę, jeśli pozycja jest <50, w przeciwnym wypadku ją otworzy.
Kiedy będzie Supla Offline Party / SOP#2025 ?
User avatar
lukfud
Posts: 2266
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa

Post

klew wrote: Sun Sep 27, 2020 8:01 pm
lukfud wrote: Sat Sep 26, 2020 8:21 am @klew,
Przycisk ustawiony jako STEP_BY_STEP działa dopiero po pierwszym uruchomieniu z aplikacji. Rozumiem dlaczego, ale wydaje mi się, że warto by wymusić pierwszą akcję, bo po restarcie ESP, zewnętrzny przycisk nie zadziała dopóki nie kliknie się w aplikacji.
Na moim githubie jest już poprawione. Przy pierwszym ruchu, STEP_BY_STEP zamknie roletę, jeśli pozycja jest <50, w przeciwnym wypadku ją otworzy.
Świetnie, dziś jeszcze przetestuję ;)
https://www.facebook.com/groups/supladiy/
User avatar
lukfud
Posts: 2266
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa

Post

klew wrote: Sun Sep 27, 2020 8:01 pm Na moim githubie jest już poprawione. Przy pierwszym ruchu, STEP_BY_STEP zamknie roletę, jeśli pozycja jest <50, w przeciwnym wypadku ją otworzy.
Działa poprawnie, dzięki :)
https://www.facebook.com/groups/supladiy/
User avatar
lukfud
Posts: 2266
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa

Post

Dziś zauważyłem, że pomimo pełnego zamknięcia rolety przekaźnik reaguje na tapnięcie (close) przycisku bistabilnego androidowej aplikacji. Na fizyczny przycisk nie reaguje. Takie samo zachowanie jest w drugą stronę. Czy to jest poprawne zachowanie?

Na czym dokładnie polega kalibracja?
https://www.facebook.com/groups/supladiy/
User avatar
klew
Posts: 9693
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

lukfud wrote: Tue Nov 03, 2020 12:36 pm Dziś zauważyłem, że pomimo pełnego zamknięcia rolety przekaźnik reaguje na tapnięcie (close) przycisku bistabilnego androidowej aplikacji. Na fizyczny przycisk nie reaguje. Takie samo zachowanie jest w drugą stronę. Czy to jest poprawne zachowanie?

Na czym dokładnie polega kalibracja?
Jesteś pewien, że reaguje na bistabilny, a nie na monostabilny? ;)
Przycisk po lewej powinien ustawiać przekaźnik, tak jak długo trzyma się przycisk.
Akcej CLOSE oraz OPEN z obsługi rolet, powinny działać tak samo jak przycisk z aplikacji po prawej stronie (zamknij/otwórz do końca).
Miałem jeszcze dodać do akcji możliwość "MOVE_UP" oraz "MOVE_DOWN", które będą dawać taki sam efekt jak przyciski z apki po prawej stronie.
Kiedy będzie Supla Offline Party / SOP#2025 ?
User avatar
lukfud
Posts: 2266
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa

Post

klew wrote: Tue Nov 03, 2020 7:55 pm Jesteś pewien, że reaguje na bistabilny, a nie na monostabilny? ;)
Przycisk po lewej powinien ustawiać przekaźnik, tak jak długo trzyma się przycisk.
Akcej CLOSE oraz OPEN z obsługi rolet, powinny działać tak samo jak przycisk z aplikacji po prawej stronie (zamknij/otwórz do końca).
Miałem jeszcze dodać do akcji możliwość "MOVE_UP" oraz "MOVE_DOWN", które będą dawać taki sam efekt jak przyciski z apki po prawej stronie.
Przyciski w aplikacji po lewej stronie wysyłają komendy OPEN-STOP / CLOSE-STOP.

Code: Select all

RollerShutter[0] new value from server: OPEN
Channel(0) value changed to 98
Sending: [53 55 50 4C 41 C 11 0 0 0 64 0 0 0 9 0 0 0 0 62 0 0 0 0 0 0 0 ]
Sending: [53 55 50 4C 41 ]
Received: [53 55 50 4C 41 C B 0 0 0 6E 0 0 0 11 0 0 0 1 0 0 0 0 32 0 32 0 0 0 0 0 0 0 0 0 53 55 50 4C 41 ]
RollerShutter[0] new value from server: STOP

Code: Select all

ollerShutter[0] new value from server: CLOSE
Received: [53 55 50 4C 41 C 10 0 0 0 6E 0 0 0 11 0 0 0 1 0 0 0 0 32 0 32 0 0 0 0 0 0 0 0 0 53 55 50 4C 41 ]
RollerShutter[0] new value from server: STOP
Wydaje mi się, że wg. nazewnictwa jest to zachowanie przycisków bistabilnych (mogę się mylić), ale mniejsza z nazewnictwem.

W kodzie mam akcje: ON_PRESS - OPEN/CLOSE, ON_RELEASE - STOP czyli analogicznie do powyższego.

Jeśli trzymając przycisk (lewy) w aplikacji akcja wykonuje się nawet po przekroczeniu skrajnych położeń, to dlaczego nie wykonuje się trzymając fizyczny przycisk. Tak ma być?

No i kalibracja, to jest tylko zapisanie czasów na urządzeniu czy coś jeszcze wnosi?
https://www.facebook.com/groups/supladiy/
User avatar
klew
Posts: 9693
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

lukfud wrote: Tue Nov 03, 2020 8:29 pm
Bistabilne to takie, które zmieniają stan po wciśnięciu i trzymają go mimo tego, że zabierzesz palec ;). Ale mniejsza o to.

W SuplaDevice przyciski po lewej robią coś co nazwałem "move up/down" bez określenia docelowej pozycji. Puszczenie wywołuje stop.

Natomiast przyciski po prawej robią open/close, które w aplikacji ustawiają docelową pozycję na 0/100.
To samo robi akcja OPEN/CLOSE - ustawia docelową pozycję na 0/100. Dlatego przekaźniki nic nie robią mimo wciśniętego przycisku na skrajnej pozycji.

Jak dodam akcję MOVE UP/DOWN, to będzie się zachowywać jak przyciski po lewej stronie.

Także aktualne zachowanie jest zgodne z założeniami.

Kalibracja jest wykonywana po każdej zmianie ustawień czasu na serwerze. Roleta używa zadanego czasu + jakiś margines, aby dojechać do skrajnej pozycji. Po tym czasie uznaje, że zna aktualną realną pozycję rolety i jest skalibrowana.
Kiedy będzie Supla Offline Party / SOP#2025 ?
User avatar
lukfud
Posts: 2266
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa

Post

klew wrote: Tue Nov 03, 2020 8:56 pm W SuplaDevice przyciski po lewej robią coś co nazwałem "move up/down" bez określenia docelowej pozycji. Puszczenie wywołuje stop.
Ok, rozjaśniłeś mi.
W takim razie mylący jest log, zamiast:

Code: Select all

RollerShutter[0] new value from server: CLOSE
Powinno być:

Code: Select all

RollerShutter[0] new value from server: MOVE_DOWN
Przy wywołaniu z przycisków po lewej stronie. Co sądzisz?
https://www.facebook.com/groups/supladiy/

Return to “Arduino IDE”