Sterowanie adresowalnymi paskami LED na przykładzie integracji z modułem E-NODE AM-8.3

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: