Celem niniejszego artykułu jest przedstawienie sposobu sterowania adresowalnymi paskami LED na przykładzie integracji z modułem E-NODE AM-8.3.
Integracja ta pozwala na:
- Uruchomienie zaprogramowanej sceny na module
- Zmianę jasności
Do zrealizowania poniższego przykładu potrzebujemy:
- Gate HTTP (o nazwie HTTP)
- Moduł E-NODE AM-8.3
- Pasek adresowalny
Dokumentacja do modułu E-NODE AM8.3 znajduje się tutaj
Tworzenie cech użytkownika
1. Dwukrotnie kliknij w obiekt HTTP, aby wejść do ustawień modułu:
2. Przejdź do zakładki Cechy użytkownika i stwórz potrzebne cechy:
- WybranyProgram - Wartość początkowa: 0 Typ: number
- Jasnosc - Wartość początkowa: 255 Typ: number
Konfiguracja obiektów wirtualnych
1. Na module Gate HTTP dodajemy obiekt wirtualny HttpRequest:
2. Wpisujemy nazwę obiektu: ZmianaJasnosci_Request i uzupełniamy wartości cech wbudowanych obiektu:
Host: http://192.168.0.222 (adres IP konwertera)
Path: /Player?4?254
3. Na module Gate HTTP dodajemy kolejny obiekt wirtualny HttpRequest:
4. Wpisujemy nazwę obiektu: WyborTrybu_Request i uzupełniamy wartości cech wbudowanych obiektu:
Host: http://192.168.0.222 (adres IP konwertera)
Path: /Player?2?3
5. Na module Gate HTTP dodajemy kolejny obiekt wirtualny HttpRequest:
6. Wpisujemy nazwę obiektu: OdczytStanu i uzupełniamy wartości cech wbudowanych obiektu:
Host: http://192.168.0.222 (adres IP konwertera)
Path: /Player?1
7. Na module Gate HTTP dodajemy obiekt wirtualny Timer:
8. Wpisujemy nazwę obiektu: TimerOpzonienie i uzupełniamy wartości cech wbudowanych obiektu:
Tworzenie skryptów
1. Dodaj skrypt sWyborTrybu
Dodaj parametr skryptu o nazwie program i typie number
Wklej poniższą treść skryptu:
local path = "/Player?2?" .. program
HTTP->WyborTrybu_Request->SetPath(path)
HTTP->WyborTrybu_Request->SendRequest()
2. Dodaj skrypt sZmianaJasnosci
Dodaj parametr skryptu o nazwie jasnosc i typie number
Wklej poniższą treść skryptu:
local path = "/Player?4?" .. jasnosc
HTTP->ZmianaJasnosci_Request->SetPath(path)
HTTP->ZmianaJasnosci_Request->SendRequest()
3. Dodaj skrypt sOdczytStanu
Wklej poniższą treść skryptu:
local data = HTTP->OdczytStanu->ResponseBody
HTTP->WybranyProgram = string.match(data, "%d+")
HTTP->Jasnosc = string.match(data, "%,(%d+)")
Przypisanie skryptów do obiektów
1. Do zdarzenia OnResponse obiektu WyborTrybu_Request przypisz metodę Start() obiektu wirtualnego TimerOpoznienie:
2. Do zdarzenia OnResponse obiektu ZmianaJasnosci_Request przypisz metodę Start() obiektu wirtualnego TimerOpoznienie:
3. Do zdarzenia OnResponse obiektu OdczytStanu przypisz skrypt sOdczytStanu().
4. Do zdarzenia OnTimer obiektu TimerOpzonienie przypisz metodę SendRequest() obiektu wirtualnego OdczytStanu:
Sterowanie modułem
Aby włączyć zaprogramowaną scene, należy wywołać skrypt sWyborTrybu z parametrem określającym numer programu. Można to zrobić np. za pomocą widżetu scena. Widżet ten należy skonfigurować w następujący sposób:
Dzięki takiej konfiguracji możemy uruchomić wcześniej zapisany na module program.
W celu sterowania jasnością należy wywołać skrypt sZmianaJasnosci z wartością parametru jaką chcemy ustawić. Można to zrobić np. przez widżet suwak. Widżet ten należy skonfigurować w następujący sposób: