Witam serdecznie
Przychodzę z bardzo ciekawym problemem dotyczącym rozwijania mojego projektu.
Kwestia jest bardzo prosta: Czy jest jakikolwiek sposób aby wywołać akcję poprzez Action Trigger na innym urządzeniu poprzez zmienną w urządzeniu wywołującym.
Przykład dla zobrazowania:
projekt posiada program (niech to będzie typowy blink), który odpowiednio ustawia zmienną isOn na 1/0 tym samym wywołuje akcję na gnieździe smart. (poprzez wcześniej wspomniane action trigger)
Dostępna funkcja do obsługi przycisków tutaj nic niestety nie da ponieważ z tego co rozumiem nie mogę w nią "wsadzić" zmiennej. W teorii jest możliwość ustawienia danego pinu na stan wysoki/niski i używanie tego w ten sposób ale zależy mi tutaj na logice zamikniętej w środku uC.
Pytanie moje jest następujące: Czy biblioteka Supli ma mozliwość wywoływania akcji za pomocą wewnętrznych zmiennych i jeżeli tak to w jaki sposób.
Pozdrawiam
Wywołanie Action Trigger poprzez wewnętrzną zmienną
-
Jedrzo
- Posts: 4
- Joined: Fri Jan 06, 2023 8:38 pm
Tak jak w temacie obok samego systemu supli na mikrokontrolerze będzie pracował inny program, który w skutkuje zmianą zmiennej X na 1 bądź 0. Chciałbym aby za pomocą supli użyć tej zmiennej jako action trigger. Zasada działania jest taka sama jak przycisk tzn. wciśniety => wywołanie akcji gdzie tutaj kiedy zmienna X = 1 => wywołanie akcji.
Oczywiście jako wywołanie akcji mam na myśli action trigger.
Pozrawiam
-
Jedrzo
- Posts: 4
- Joined: Fri Jan 06, 2023 8:38 pm
Projekt obsługujący media danego pokoju opierający się na ekranie dotykowym i wyświetlaczu TFT. Jedną z jego opcji jest sterowanie urządzeniami IoT. W tym wypadku światłami i gniazdami (wszystko na supli).
W tym wypadku zmienną jest informacja czy dana opcja została wybrana.
Sam projekt jest inspirowany poniżyszym:
https://www.youtube.com/watch?v=soIGV6BszcM
W tym wypadku zmienną jest informacja czy dana opcja została wybrana.
Sam projekt jest inspirowany poniżyszym:
https://www.youtube.com/watch?v=soIGV6BszcM
-
klew
- Posts: 13911
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 136 times
- Been thanked: 137 times
Wg mnie najłatwiej obecnie będzie użyć klasy Supla::Sensor:: VirtualBinary i na niej ustawiać stan 0 lub 1 zależnie od stanu zmiennej.
Obecnie na serwerach jest wdrażana aktualizacja, która pozwoli Ci ustawić reakcje zależne od stanu tego czujnika.
Obecnie na serwerach jest wdrażana aktualizacja, która pozwoli Ci ustawić reakcje zależne od stanu tego czujnika.
Najlepsze suple dla Twojego domu 
Czy uruchomiłeś projekt beż udziału supli?Jedrzo wrote: Wed Jul 12, 2023 7:52 pm Projekt obsługujący media danego pokoju opierający się na ekranie dotykowym i wyświetlaczu TFT. Jedną z jego opcji jest sterowanie urządzeniami IoT. W tym wypadku światłami i gniazdami (wszystko na supli).
W tym wypadku zmienną jest informacja czy dana opcja została wybrana.
Sam projekt jest inspirowany poniżyszym:
https://www.youtube.com/watch?v=soIGV6BszcM
wyciągnąłem to z innego kodu
nie sprawdzałem teraz
Code: Select all
#include <SuplaDevice.h>
#include <supla/control/action_trigger.h>
#include <supla/network/esp_wifi.h>
Supla::ESPWifi wifi("your_wifi_ssid", "your_wifi_password");
Supla::Control::ActionTrigger *action_trigger_1 = nullptr;
void setup() {
Serial.begin(115200);
char GUID[SUPLA_GUID_SIZE] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
action_trigger_1 = new Supla::Control::ActionTrigger();
action_trigger_1->activateAction(Supla::SEND_AT_SHORT_PRESS_x1);
SuplaDevice.begin( GUID, "svrX.supla.org", "email@address", AUTHKEY );
}
void loop() {
delay(25);
SuplaDevice.iterate();
static bool ZMIENNA_X;
static bool last_ZMIENNA_X;
if ( ZMIENNA_X != last_ZMIENNA_X) {
last_ZMIENNA_X = ZMIENNA_X;
action_trigger_1->handleAction(0, Supla::SEND_AT_SHORT_PRESS_x1); Serial.println("AT CLICK 1");
// action_trigger_1->handleAction(0, Supla::SEND_AT_SHORT_PRESS_x2); Serial.println("AT CLICK 2");
// action_trigger_1->handleAction(0, Supla::SEND_AT_SHORT_PRESS_x3); Serial.println("AT CLICK 3");
// action_trigger_1->handleAction(0, Supla::SEND_AT_SHORT_PRESS_x4); Serial.println("AT CLICK 4");
// action_trigger_1->handleAction(0, Supla::SEND_AT_SHORT_PRESS_x5); Serial.println("AT CLICK 5");
// action_trigger_1->handleAction(0, Supla::SEND_AT_HOLD); Serial.println("AT HOLD");
}
// tutaj kod zmieniający ZMIENNA_X =0 lub 1
}
-
Jedrzo
- Posts: 4
- Joined: Fri Jan 06, 2023 8:38 pm
Tak sam projekt już od dłuższego czasu ulepszam. Dopiero teraz wziąłem się za aspekt obsługi supli.
co do następnego wpisu dziękuje za kod, jak najbardziej działa i zaspokaja wszystkie potrzeby na cele projektu
W tym momencie uważam temat za zamknięty. Dziękuje wam za pomoc.
Pozdrawiam
