Perfekcyjne działanie tego urządzenia było wyzwaniem, ale dzięki fantastycznemu wsparciu ze strony p.kaczmarek2 i kilku poprawkom oprogramowania sprzętowego udało nam się sprawić, że działa idealnie. Poniżej przedstawiono demontaż i programowanie urządzenia, a także wymaganą integrację z Home Assistant. Jest dostępny w Australii od Kmart. Jednak istnieje wiele podobnych modeli dostępnych online pod różnymi markami.

Lampa Genio Galaxy
To urządzenie różni się od większości zwykłych urządzeń ESP. Posiada 3 główne komponenty oraz diodę/sterownik RGB, laser i silnik.
Podstawowa operacja polega na tym, że dioda RGB jest wyświetlana przez soczewkę podobną do kalejdoskopu, która następnie jest wyświetlana przez szklaną płytkę w stylu Fresnela, a na koniec z urządzenia przez soczewkę powiększającą. Efektem tego jest kolorowy obraz przypominający chmurę, podobny do mgławicy lub galaktyki. Laser, który wygląda na dość dużą moc, jest również emitowany przez tubę w stylu kalejdoskopu, która następnie jest wyświetlana przez soczewkę dyfuzyjną na zewnątrz urządzenia. W ten sposób powstają gwiazdy ,,galaktyki". Interesujące jest to, że zarówno soczewka Fresnela, jak i tuba kalejdoskopowa lasera mają przymocowane koło zębate. Te koła zębate zazębiają się ze sobą i są przestawiane tak, aby były napędzane przez silnik. Osiąga to przeciwny obrót lasera i diody RGB, tzn. gwiazdy obracają się zgodnie z ruchem wskazówek zegara, a dioda LED przeciwnie do ruchu wskazówek zegara!
Daje fantastyczny efekt na suficie każdego pomieszczenia.


Wnętrze
Po odkręceniu 4 śrubek z zewnętrznej strony obudowy, urządzenie można rozłożyć na pół. Pomiędzy płytką przycisków a główną płytką drukowaną znajduje się kabel.


Usuń 3 śruby z płytki drukowanej, aby uzyskać dostęp do nagłówków programowania.

Trzecia śruba ukryta za złączami silnika i lasera.

Układ WB3s (BK7231T)

Piny TX i RX do programowania. (spód PCB)

Piny 3v3 i GND do programowania. (spód PCB)

Programowanie BK7321T
Programowanie BK7231T
Pobierz pliki binarne ostatniej partii i BKwriter 1.60 z:
Połączyć
Wszystkie czynności wykonuje się po odłączeniu produktu od sieci elektrycznej.
W zależności od programatora podłącz 3v3, GND RX i TX do odpowiednich nagłówków na płytce drukowanej. Przykłady tego można zobaczyć w wielu innych postach na forum. Niestety nie zrobiłem wtedy żadnych zdjęć.
Programowanie
Podłącz konwerter USB UART, może być konieczne podłączenie do pada 5 V w zależności od programatora, ponieważ niektóre nie wytwarzają wystarczającej ilości prądu, aby poprawnie uruchomić moduł Wi-Fi.
Uruchom BKwritera 1.60. ( Połączyć )
Zrób kopię oryginalnego wsadu (przycisk Odczyt), programowanie odbywa się w ten sam sposób, tylko najpierw wybieramy jaki wsad chcemy wgrać.
Wybierz, którą partię przesłać (tutaj wybierz wersje UA) i rozpocznij programowanie (czekając na uruchomienie BK):

Teraz, dopóki BKwriter aktywnie czeka na sygnał rozruchowy BK, tymczasowo podłącz CEN do masy (tutaj jest to tylko pin klucza sprzętowego USB), dosłownie na sekundę. Dopiero wtedy rozpocznie się właściwe programowanie:

Sukces programowania:

Punkt dostępowy BK jest już widoczny:

Połącz się z punktem WiFi utworzonym przez BK7231T.
Tutaj może być konieczne ustawienie naszego WiFi na sztywne IP, np. 192.168.4.10, na wypadek gdyby DHCP nie działało:

Otwórz stronę 192.168.4.1:

W Config ustaw swoje dane uwierzytelniające Wi-Fi (np. informacje o naszym domowym WiFi):

Po połączeniu z Wi-Fi zresetuj system. Może być również konieczne chwilowe odłączenie zasilania lub odczekanie minuty, aż urządzenie dołączy do naszej sieci. Jego nowy adres IP znajduje się na naszym routerze na liście klientów DHCP:

Konfiguracja pinów
Po podłączeniu do urządzenia. Kliknij ,,Konfiguruj", a następnie ,,Konfiguruj moduł"
Twoje ustawienia powinny wyglądać następująco. Może się to różnić w zależności od urządzenia i marki, więc być może trzeba będzie poeksperymentować.

Kliknij Zapisz.
Następnie kliknij ,,Konfiguruj ogólne". Powinien być ustawiony w następujący sposób:

Dziękujemy p.kaczmarek2 za dodanie kilku niestandardowych flag i ustawień do oprogramowania układowego, aby wszystko działało idealnie!
Kliknij Zapisz.
Na koniec musimy uruchomić skrypt na urządzeniu, aby umożliwić odpowiednią kontrolę w Home Assistant.
Na ekranie głównym urządzenia kliknij ,,Uruchom aplikację internetową"
Przejdź do zakładki ,,System plików".
Kliknij przycisk ,,Utwórz plik".
Utwórz plik o nazwie ,,autoexec.bat"
W polu edycji wklej następujący skrypt:

Kliknij ,,Zapisz, zresetuj SVM i uruchom plik jako wątek skryptu"
Uruchom ponownie urządzenie.
Ten skrypt włącza przełącznik PWM.
Przełącznik PWM zapewnia warstwę abstrakcji nad kanałami PWM
i umożliwia włączanie/wyłączanie ich bez utraty ustawionej wartości PWM. Skrypt dodaje również możliwość przełączania RGB, lasera i silnika poprzez przełączanie sterowania RGB. Zasadniczo mówi kontrolerowi ,,jeśli LEDState zmieni się na 0, włącz/wyłącz przełącznik".
Możesz skomentować tę część skryptu, jeśli nie chcesz, aby była aktywowana. Aby włączyć go później, po prostu edytuj skrypt za pomocą aplikacji internetowej i odkomentuj sekcje ,,addEventHandler".
Toggler PWM został stworzony do obsługi tej lampy za pomocą RGB LED i lasera PWM oraz silnika PWM. Dzięki temu Home Assistant rozpoznaje urządzenie jako 3 jednostki świetlne, dając pełną kontrolę nad każdym aspektem urządzenia, jednocześnie zapamiętując wartości, na które są ustawione.
Twój nowy ekran główny powinien wyglądać następująco:

Integracja asystenta domowego
Pod warunkiem, że masz poprawnie skonfigurowane MQTT w Home Assistant, skopiuj następujące elementy do sekcji urządzeń MQTT w swojej konfiguracji:
Unikalny identyfikator będzie przypisany do Twojego urządzenia i będziesz musiał zastąpić przykładowy kod swoim identyfikatorem urządzenia. Można to znaleźć na stronie konfiguracji Home Assistant urządzenia. Kopiuj tylko unikalny identyfikator ze strony konfiguracji Home Assistant. Reszta przykładowej konfiguracji nie będzie działać w Home Assistant:

Dostosuj unikalny identyfikator do każdej części urządzenia, np. OpenBK7231T_760BF030_galaxy_light, OpenBK7231T_760BF030_galaxy_laser i OpenBK7231T_760BF030_galaxy_motor. 3 takie same unikalne identyfikatory nie będą działać, a Home Assistant wykryje tylko 1 jednostkę.
Po ponownym uruchomieniu Home Assistant powinieneś mieć 3 jednostki o nazwach light.GenioRGB, light.GenioLaser i light.GenioMotor. Pamiętaj, że zmiana nazwy tych podmiotów w konfiguracji spowoduje zmianę nazwy, pod jaką są one wyświetlane.

Operacja
Powinieneś być w stanie wybrać dowolny kolor RGB z koła kolorów, włączyć laser na dowolną jasność i dostosować silnik do dowolnej prędkości. Należy zauważyć, że laser i silnik są połączone elektrycznie w urządzeniu. Oznacza to, że ustawienie maksymalnej jasności lasera przy wyłączonym silniku spowoduje przyćmienie mocy lasera. Włączenie silnika natychmiast zwiększa jasność lasera. Silnik może obracać się bardzo wolno, co nadal zapewnia pełną jasność lasera. Zakładam, że jest to próba zapobieżenia uszkodzeniu przez laser elementów wewnętrznych urządzenia i wygenerowaniu wiązki statycznej. Ostatecznie przycisk z boku urządzenia został ustawiony jako główny przycisk włączania/wyłączania lampy. Po przełączeniu powinien zachować wszystkie wartości jasności. Funkcję tego przycisku można zmienić zmieniając przypisanie kanału przycisku na stronie konfiguracji modułu.
Twoje urządzenie powinno być teraz w pełni sprawne!
Jeszcze raz ogromne podziękowania dla p.kaczmarek2 za oprogramowanie i modyfikacje, dzięki którym to urządzenie działa bez zarzutu!
Lampa Genio Galaxy
To urządzenie różni się od większości zwykłych urządzeń ESP. Posiada 3 główne komponenty oraz diodę/sterownik RGB, laser i silnik.
Podstawowa operacja polega na tym, że dioda RGB jest wyświetlana przez soczewkę podobną do kalejdoskopu, która następnie jest wyświetlana przez szklaną płytkę w stylu Fresnela, a na koniec z urządzenia przez soczewkę powiększającą. Efektem tego jest kolorowy obraz przypominający chmurę, podobny do mgławicy lub galaktyki. Laser, który wygląda na dość dużą moc, jest również emitowany przez tubę w stylu kalejdoskopu, która następnie jest wyświetlana przez soczewkę dyfuzyjną na zewnątrz urządzenia. W ten sposób powstają gwiazdy ,,galaktyki". Interesujące jest to, że zarówno soczewka Fresnela, jak i tuba kalejdoskopowa lasera mają przymocowane koło zębate. Te koła zębate zazębiają się ze sobą i są przestawiane tak, aby były napędzane przez silnik. Osiąga to przeciwny obrót lasera i diody RGB, tzn. gwiazdy obracają się zgodnie z ruchem wskazówek zegara, a dioda LED przeciwnie do ruchu wskazówek zegara!
Daje fantastyczny efekt na suficie każdego pomieszczenia.
Wnętrze
Po odkręceniu 4 śrubek z zewnętrznej strony obudowy, urządzenie można rozłożyć na pół. Pomiędzy płytką przycisków a główną płytką drukowaną znajduje się kabel.
Usuń 3 śruby z płytki drukowanej, aby uzyskać dostęp do nagłówków programowania.
Trzecia śruba ukryta za złączami silnika i lasera.
Układ WB3s (BK7231T)
Piny TX i RX do programowania. (spód PCB)
Piny 3v3 i GND do programowania. (spód PCB)
Programowanie BK7321T
Programowanie BK7231T
Pobierz pliki binarne ostatniej partii i BKwriter 1.60 z:
Połączyć
Wszystkie czynności wykonuje się po odłączeniu produktu od sieci elektrycznej.
W zależności od programatora podłącz 3v3, GND RX i TX do odpowiednich nagłówków na płytce drukowanej. Przykłady tego można zobaczyć w wielu innych postach na forum. Niestety nie zrobiłem wtedy żadnych zdjęć.
Programowanie
Podłącz konwerter USB UART, może być konieczne podłączenie do pada 5 V w zależności od programatora, ponieważ niektóre nie wytwarzają wystarczającej ilości prądu, aby poprawnie uruchomić moduł Wi-Fi.
Uruchom BKwritera 1.60. ( Połączyć )
Zrób kopię oryginalnego wsadu (przycisk Odczyt), programowanie odbywa się w ten sam sposób, tylko najpierw wybieramy jaki wsad chcemy wgrać.
Wybierz, którą partię przesłać (tutaj wybierz wersje UA) i rozpocznij programowanie (czekając na uruchomienie BK):
Teraz, dopóki BKwriter aktywnie czeka na sygnał rozruchowy BK, tymczasowo podłącz CEN do masy (tutaj jest to tylko pin klucza sprzętowego USB), dosłownie na sekundę. Dopiero wtedy rozpocznie się właściwe programowanie:
Sukces programowania:
Punkt dostępowy BK jest już widoczny:
Połącz się z punktem WiFi utworzonym przez BK7231T.
Tutaj może być konieczne ustawienie naszego WiFi na sztywne IP, np. 192.168.4.10, na wypadek gdyby DHCP nie działało:
Otwórz stronę 192.168.4.1:
W Config ustaw swoje dane uwierzytelniające Wi-Fi (np. informacje o naszym domowym WiFi):
Po połączeniu z Wi-Fi zresetuj system. Może być również konieczne chwilowe odłączenie zasilania lub odczekanie minuty, aż urządzenie dołączy do naszej sieci. Jego nowy adres IP znajduje się na naszym routerze na liście klientów DHCP:
Konfiguracja pinów
Po podłączeniu do urządzenia. Kliknij ,,Konfiguruj", a następnie ,,Konfiguruj moduł"
Twoje ustawienia powinny wyglądać następująco. Może się to różnić w zależności od urządzenia i marki, więc być może trzeba będzie poeksperymentować.
Kliknij Zapisz.
Następnie kliknij ,,Konfiguruj ogólne". Powinien być ustawiony w następujący sposób:
Dziękujemy p.kaczmarek2 za dodanie kilku niestandardowych flag i ustawień do oprogramowania układowego, aby wszystko działało idealnie!
Kliknij Zapisz.
Na koniec musimy uruchomić skrypt na urządzeniu, aby umożliwić odpowiednią kontrolę w Home Assistant.
Na ekranie głównym urządzenia kliknij ,,Uruchom aplikację internetową"
Przejdź do zakładki ,,System plików".
Kliknij przycisk ,,Utwórz plik".
Utwórz plik o nazwie ,,autoexec.bat"
W polu edycji wklej następujący skrypt:
startDriver PWMToggler
toggler_channel0 4
toggler_name0 Laser
toggler_channel1 5
toggler_name1 Motor
// this will make disabling LED also disable both togglers (laser and motor)
addEventHandler LEDState 0 backlog toggler_enable0 0; toggler_enable1 0;
// this will make enabling LED also enable both togglers (laser and motor)
// Comment out if you don't want it!
addEventHandler LEDState 1 backlog toggler_enable0 1; toggler_enable1 1;
Kliknij ,,Zapisz, zresetuj SVM i uruchom plik jako wątek skryptu"
Uruchom ponownie urządzenie.
Ten skrypt włącza przełącznik PWM.
Przełącznik PWM zapewnia warstwę abstrakcji nad kanałami PWM
i umożliwia włączanie/wyłączanie ich bez utraty ustawionej wartości PWM. Skrypt dodaje również możliwość przełączania RGB, lasera i silnika poprzez przełączanie sterowania RGB. Zasadniczo mówi kontrolerowi ,,jeśli LEDState zmieni się na 0, włącz/wyłącz przełącznik".
Możesz skomentować tę część skryptu, jeśli nie chcesz, aby była aktywowana. Aby włączyć go później, po prostu edytuj skrypt za pomocą aplikacji internetowej i odkomentuj sekcje ,,addEventHandler".
Toggler PWM został stworzony do obsługi tej lampy za pomocą RGB LED i lasera PWM oraz silnika PWM. Dzięki temu Home Assistant rozpoznaje urządzenie jako 3 jednostki świetlne, dając pełną kontrolę nad każdym aspektem urządzenia, jednocześnie zapamiętując wartości, na które są ustawione.
Twój nowy ekran główny powinien wyglądać następująco:
Integracja asystenta domowego
Pod warunkiem, że masz poprawnie skonfigurowane MQTT w Home Assistant, skopiuj następujące elementy do sekcji urządzeń MQTT w swojej konfiguracji:
light:
- unique_id: "OpenBK7231T_760BF030_galaxy_light"
name: "GenioRGB"
rgb_command_template: "{{ '%02x%02x%02x' | format(red, green, blue)}}"
rgb_state_topic: "obk760BF030/led_basecolor_rgb/get"
rgb_command_topic: "cmnd/obk760BF030/led_basecolor_rgb"
rgb_value_template: "{{ value[0:2]|int(base=16) }},{{ value[2:4]|int(base=16) }},{{ value[4:6]|int(base=16) }}"
#rgb_value_template: "{{ '%02x%02x%02x'| format(red, green, blue) }}"
command_topic: "cmnd/obk760BF030/led_enableAll"
state_topic: "obk760BF030/led_enableAll/get"
availability_topic: "obk760BF030/connected"
payload_on: 1
payload_off: 0
brightness_command_topic: "cmnd/obk760BF030/led_dimmer"
brightness_scale: 100
brightness_state_topic: "obk760BF030/led_dimmer/get"
brightness_value_template: "{{value}}"
- unique_id: "OpenBK7231T_760BF030_galaxy_laser"
name: "GenioLaser"
command_topic: "cmnd/obk760BF030/toggler_enable0"
state_topic: "obk760BF030/toggler_enable0/get"
payload_on: 1
payload_off: 0
brightness_command_topic: "cmnd/obk760BF030/toggler_set0"
brightness_scale: 100
brightness_state_topic: "obk760BF030/toggler_set0/get"
brightness_value_template: "{{value}}"
retain: true
qos: 1
- unique_id: "OpenBK7231T_760BF030_galaxy_motor"
name: "GenioMotor"
command_topic: "cmnd/obk760BF030/toggler_enable1"
state_topic: "obk760BF030/toggler_enable1/get"
payload_on: 1
payload_off: 0
brightness_command_topic: "cmnd/obk760BF030/toggler_set1"
brightness_scale: 100
brightness_state_topic: "obk760BF030/toggler_set1/get"
brightness_value_template: "{{value}}"
retain: true
qos: 1Unikalny identyfikator będzie przypisany do Twojego urządzenia i będziesz musiał zastąpić przykładowy kod swoim identyfikatorem urządzenia. Można to znaleźć na stronie konfiguracji Home Assistant urządzenia. Kopiuj tylko unikalny identyfikator ze strony konfiguracji Home Assistant. Reszta przykładowej konfiguracji nie będzie działać w Home Assistant:
Dostosuj unikalny identyfikator do każdej części urządzenia, np. OpenBK7231T_760BF030_galaxy_light, OpenBK7231T_760BF030_galaxy_laser i OpenBK7231T_760BF030_galaxy_motor. 3 takie same unikalne identyfikatory nie będą działać, a Home Assistant wykryje tylko 1 jednostkę.
Po ponownym uruchomieniu Home Assistant powinieneś mieć 3 jednostki o nazwach light.GenioRGB, light.GenioLaser i light.GenioMotor. Pamiętaj, że zmiana nazwy tych podmiotów w konfiguracji spowoduje zmianę nazwy, pod jaką są one wyświetlane.
Operacja
Powinieneś być w stanie wybrać dowolny kolor RGB z koła kolorów, włączyć laser na dowolną jasność i dostosować silnik do dowolnej prędkości. Należy zauważyć, że laser i silnik są połączone elektrycznie w urządzeniu. Oznacza to, że ustawienie maksymalnej jasności lasera przy wyłączonym silniku spowoduje przyćmienie mocy lasera. Włączenie silnika natychmiast zwiększa jasność lasera. Silnik może obracać się bardzo wolno, co nadal zapewnia pełną jasność lasera. Zakładam, że jest to próba zapobieżenia uszkodzeniu przez laser elementów wewnętrznych urządzenia i wygenerowaniu wiązki statycznej. Ostatecznie przycisk z boku urządzenia został ustawiony jako główny przycisk włączania/wyłączania lampy. Po przełączeniu powinien zachować wszystkie wartości jasności. Funkcję tego przycisku można zmienić zmieniając przypisanie kanału przycisku na stronie konfiguracji modułu.
Twoje urządzenie powinno być teraz w pełni sprawne!
Jeszcze raz ogromne podziękowania dla p.kaczmarek2 za oprogramowanie i modyfikacje, dzięki którym to urządzenie działa bez zarzutu!
Fajne? Ranking DIY
