Cześć,
Badał może ktoś temat zasuplowania dimmera dwukanałowego QS-WIFI-D02-TRIAC-2C? Ewentualnie MS-105? Potencjalnie mogłaby to być tańsza alternatywa dla zamela DIW-01.
Jeśli nikt nie badał to jeśli ktoś mógłby poprowadzić mnie za rączkę to chętnie zbadam temat
Dimmer/ściemniacz QS-WIFI-D02-TRIAC-2C - konwersja
Nie spodziewałem się takiej ciszy
Zakupiłem na próbę jeden moduł. Po rozebraniu okazuje się że siedzi tam Lingan LM1 - to chyba dobrze bo z dokumentacji wyczytałem, że stoi na ESP8266. Tylko teraz pytanie: co dalej?
Generalnie gotowe softy już wrzucałem na sonoffy czy inne gniazdka więc samo wrzucenie softu pewnie jakoś ogarnę. Natomiast domyślam się, że tu trzeba będzie stworzyć soft. Podpowie ktoś za co złapać się w kolejnym kroku? Zapewne nie ma to znaczenia ale na co dzień programuje w innym języku więc potrzebuje jakiś punktów zaczepienia (co przeczytać?) i może ogarnę.
Zakupiłem na próbę jeden moduł. Po rozebraniu okazuje się że siedzi tam Lingan LM1 - to chyba dobrze bo z dokumentacji wyczytałem, że stoi na ESP8266. Tylko teraz pytanie: co dalej?
Generalnie gotowe softy już wrzucałem na sonoffy czy inne gniazdka więc samo wrzucenie softu pewnie jakoś ogarnę. Natomiast domyślam się, że tu trzeba będzie stworzyć soft. Podpowie ktoś za co złapać się w kolejnym kroku? Zapewne nie ma to znaczenia ale na co dzień programuje w innym języku więc potrzebuje jakiś punktów zaczepienia (co przeczytać?) i może ogarnę.
Najpierw trzeba by sprawdzić w jaki sposób jest zrealizowany hw do ściemnienie.
Raczej ESP nie steruje bezpośrednio triakiem, bo to nie działa dobrze (a przynajmniej mi się nie udało osiągnąć zadowalających efektów i z tego co słyszałem to dimmery zawsze mają osobny układ, który steruje triakiem).
Jak już będziesz wiedział jak to jest zbudowane to trzeba poszukać informacji jak ESP się komunikuje w tym układem i dopiero wtedy możemy zacząć się zastanawiać nad oprogramowaniem
Raczej ESP nie steruje bezpośrednio triakiem, bo to nie działa dobrze (a przynajmniej mi się nie udało osiągnąć zadowalających efektów i z tego co słyszałem to dimmery zawsze mają osobny układ, który steruje triakiem).
Jak już będziesz wiedział jak to jest zbudowane to trzeba poszukać informacji jak ESP się komunikuje w tym układem i dopiero wtedy możemy zacząć się zastanawiać nad oprogramowaniem
Widzimy się na Supla Offline Party vol. 2
Tam generalnie nie ma żadnego triaka ponieważ układ jest zbudowany na mosfetach.
Znalazłem, że ktoś robił już konwersję z tuya na tasmota. Niestety jeszcze nie wiem czy te informacje są przydatne
Wersja dwukanałowa
https://github.com/mick96/QS-WIFI-D02-TRIAC-2C
Wersja jednokanałowa
https://templates.blakadder.com/qs-wifi_D01_dimmer.html
Znalazłem, że ktoś robił już konwersję z tuya na tasmota. Niestety jeszcze nie wiem czy te informacje są przydatne
Wersja dwukanałowa
https://github.com/mick96/QS-WIFI-D02-TRIAC-2C
Wersja jednokanałowa
https://templates.blakadder.com/qs-wifi_D01_dimmer.html
Walczę dalej, C++ to nie mój ulubieniec (jeszcze) ale się nie poddaje. Przeanalizowałem repo supla-device wraz z przykładami i doszedłem do wniosku, że chyba najlepiej byłoby nadpisać klasę RGBWBase, zauważyłem że jest tam metoda setRGB która generalnie zawsze ustawia jasność itp. pomyślałem że to ją odbiorę sobie na cel i ja nadpisze po to aby po jej wykonaniu wysłać odpowiednią komendę. Nie jestem pewien czy w dobrym kierunku wiosłuje i trochę liczę, że mnie poprawicie jeśli jestem w błędzie. Natomiast jeśli kombinuje dobrze to czy moglibyście podpowiedzieć jak wysłać ta komendę przez uart?
Wymyśliłem, że stworzę hardwareserial na odpowiednich pinach i wyśle poprzez write() std::string ale tak nie przejdzie bo już na etapie kompilacji się krzaczy że write nie obsługuje typu std::string&. Nie liczę na kod ale chociaż na jakąś podpowiedź. Dzięki!
Wymyśliłem, że stworzę hardwareserial na odpowiednich pinach i wyśle poprzez write() std::string ale tak nie przejdzie bo już na etapie kompilacji się krzaczy że write nie obsługuje typu std::string&. Nie liczę na kod ale chociaż na jakąś podpowiedź. Dzięki!
RGBW base jest jeśli używasz kanałów RGB oraz W(white/dimmer) (jest to też klasa bazowa dla pozostałych rgb i dimmer). Jeśli to jest tylko "dimmer", to użyj "supla/control/dimmer_base.h" Supla::Control::DimmerBase.arturo pisze: ↑wt lut 07, 2023 12:03 am Walczę dalej, C++ to nie mój ulubieniec (jeszcze) ale się nie poddaje. Przeanalizowałem repo supla-device wraz z przykładami i doszedłem do wniosku, że chyba najlepiej byłoby nadpisać klasę RGBWBase, zauważyłem że jest tam metoda setRGB która generalnie zawsze ustawia jasność itp. pomyślałem że to ją odbiorę sobie na cel i ja nadpisze po to aby po jej wykonaniu wysłać odpowiednią komendę. Nie jestem pewien czy w dobrym kierunku wiosłuje i trochę liczę, że mnie poprawicie jeśli jestem w błędzie. Natomiast jeśli kombinuje dobrze to czy moglibyście podpowiedzieć jak wysłać ta komendę przez uart?
Wymyśliłem, że stworzę hardwareserial na odpowiednich pinach i wyśle poprzez write() std::string ale tak nie przejdzie bo już na etapie kompilacji się krzaczy że write nie obsługuje typu std::string&. Nie liczę na kod ale chociaż na jakąś podpowiedź. Dzięki!
Do nadpisania przy dziedziczeniu jest metoda setRGBWValuesOnDevice oraz prawdopodobnie onInit, aby zainicjalizować co trzeba.
Zerknij sobie na pliki "dimmer_leds.h" i "dimmer_leds.cpp" - tam jest pokazana przykładowoa implementacja dimmera, która używa wyjścia PWM. W "onInit" jest ustawiana inicjalizacja GPIO, a w setRGBWValuesOnDevice jest ustawienie konkretnych wartości na GPIO.
Ty prawdopodobnie musisz ustawić jakąś incicjalizację uarta w metodzie onInit, a w setRGBW... ustawiasz wysyłanie komend z konkretną wartością ściemniacza.
setRGBWValuesOnDevice jest uruchamiana czasem wiele razy na sekundę, z różnymi wartościami, aby realizować np. efekt rozjaśniania/śmieniania/soft start itd.
Osobiście, gdy zaczynam pracować z nowym sprzętem, to często tworzę sobie pusty projelkt w arduino ide i próbuję ogarnąć najpierw komunikację z tym urządzeniem. Czyli zainicjalizowałbym tego uarta, a następnie w pętli np co 1 s wysyłał różne wartości na układ, aby zobaczyć czy wszystko działa.
Jak to mam ogarnięte, to wtedy kod przesoszę do klasy w Supli, która ma to obsługiwać.
Dzięki temu nie walczysz na raz z wieloma potencjalnymi problemami, tylko idziesz po kolei .
Widzimy się na Supla Offline Party vol. 2
Zdecydowanie masz rację zacznę od początku i sprawdzę czy w ogóle komunikacja po uart działa tak jak opisali.klew pisze: ↑wt lut 07, 2023 11:19 amRGBW base jest jeśli używasz kanałów RGB oraz W(white/dimmer) (jest to też klasa bazowa dla pozostałych rgb i dimmer). Jeśli to jest tylko "dimmer", to użyj "supla/control/dimmer_base.h" Supla::Control::DimmerBase.arturo pisze: ↑wt lut 07, 2023 12:03 am Walczę dalej, C++ to nie mój ulubieniec (jeszcze) ale się nie poddaje. Przeanalizowałem repo supla-device wraz z przykładami i doszedłem do wniosku, że chyba najlepiej byłoby nadpisać klasę RGBWBase, zauważyłem że jest tam metoda setRGB która generalnie zawsze ustawia jasność itp. pomyślałem że to ją odbiorę sobie na cel i ja nadpisze po to aby po jej wykonaniu wysłać odpowiednią komendę. Nie jestem pewien czy w dobrym kierunku wiosłuje i trochę liczę, że mnie poprawicie jeśli jestem w błędzie. Natomiast jeśli kombinuje dobrze to czy moglibyście podpowiedzieć jak wysłać ta komendę przez uart?
Wymyśliłem, że stworzę hardwareserial na odpowiednich pinach i wyśle poprzez write() std::string ale tak nie przejdzie bo już na etapie kompilacji się krzaczy że write nie obsługuje typu std::string&. Nie liczę na kod ale chociaż na jakąś podpowiedź. Dzięki!
Do nadpisania przy dziedziczeniu jest metoda setRGBWValuesOnDevice oraz prawdopodobnie onInit, aby zainicjalizować co trzeba.
Zerknij sobie na pliki "dimmer_leds.h" i "dimmer_leds.cpp" - tam jest pokazana przykładowoa implementacja dimmera, która używa wyjścia PWM. W "onInit" jest ustawiana inicjalizacja GPIO, a w setRGBWValuesOnDevice jest ustawienie konkretnych wartości na GPIO.
Ty prawdopodobnie musisz ustawić jakąś incicjalizację uarta w metodzie onInit, a w setRGBW... ustawiasz wysyłanie komend z konkretną wartością ściemniacza.
setRGBWValuesOnDevice jest uruchamiana czasem wiele razy na sekundę, z różnymi wartościami, aby realizować np. efekt rozjaśniania/śmieniania/soft start itd.
Osobiście, gdy zaczynam pracować z nowym sprzętem, to często tworzę sobie pusty projelkt w arduino ide i próbuję ogarnąć najpierw komunikację z tym urządzeniem. Czyli zainicjalizowałbym tego uarta, a następnie w pętli np co 1 s wysyłał różne wartości na układ, aby zobaczyć czy wszystko działa.
Jak to mam ogarnięte, to wtedy kod przesoszę do klasy w Supli, która ma to obsługiwać.
Dzięki temu nie walczysz na raz z wieloma potencjalnymi problemami, tylko idziesz po kolei .
No i mały update, poszedłem za radą kolegi klew i wrzuciłem kawałek kodu który niby ma wysyłać komendy na seriala i niestety nie działa. Użyłem biblioteki softwareserial ustawiłem piny, oraz prędkość i efekt jest taki, że po podłączeniu zasilania żarówka po chwili delikatnie się zaświeca i tak sobie świeci (oczywiście niezależnie od komendy).
Na szczęście należę do tych co robią backupy więc wrzuciłem ponownie oryginalny soft.
Ale jeszcze się nie poddaje wrócę silniejszy
Na szczęście należę do tych co robią backupy więc wrzuciłem ponownie oryginalny soft.
Ale jeszcze się nie poddaje wrócę silniejszy
Może nie do końca w temacie ale też ściemniacz.
viewtopic.php?t=8770
Jest kilka wersji ściemniaczy, są 1,2,4 kanałowe np. https://pl.aliexpress.com/item/10050017 ... 05319%21sh
Przykładowe działanie, uruchomienie w/w ściemniacza
https://www.youtube.com/watch?v=rx0F6wOA-Ic
https://www.youtube.com/watch?v=Kn8ghB2bd9Q
Kod źródłowy https://github.com/nassir-malik/4CH_Dim ... reen_Wemos
viewtopic.php?t=8770
Jest kilka wersji ściemniaczy, są 1,2,4 kanałowe np. https://pl.aliexpress.com/item/10050017 ... 05319%21sh
Przykładowe działanie, uruchomienie w/w ściemniacza
https://www.youtube.com/watch?v=rx0F6wOA-Ic
https://www.youtube.com/watch?v=Kn8ghB2bd9Q
Kod źródłowy https://github.com/nassir-malik/4CH_Dim ... reen_Wemos
Wziąłem udział w Supla Offline Party 2023