Witam, mam zasłony sterowane wifi z Tuya, od jakiegoś czasu gubią sygnał wifi i non stop mi je rozłącza pomimo dobrego zasięgu. Można je podłączyć do zwykłego przełącznika i sterować open/stop/close, udało mi się znaleźć post w którym jeden użytkownik podpiął z wyjścia RJ45 karnisza sygnały do wemosa d1, zrobiłem tak samo i niestety u mnie nie działa tutaj link. Zwierając na krótko przewody odpowiadające OPEN/STOP/CLOSE do GND zasłona się steruje po podpięciu do wemosa nie działa tutaj kod:
Teoretycznie to powinno działać (rozwiązanie z przełączaniem trybu pracy GPIO bardzo sprytne).
Masz multimetr? Jeśli tak to sprawdź napięcia na wejściach sterujących (względem lokalnej masy) i czy spada ono na sekundę w okolice zera po wystawieniu niskiego sygnału z danego wyjścia ESP.
Na tym schemacie brakuje trzech rezystorów i tranzystorów NPN , manualne sterowanie wymaga czystego zwarcia do masy, a nie niskiego stanu na GPIO.
Podłącz bazy tranzystorów np BC 547 przez 10K do GPIO, Emitery do GND tego sterownika, a wyjscia Kolektor tranzystorów do zacisków Open/Close
W takim wypadku trzeba też odwrócić logikę sterowania.
Mimo wszystko zakładam, że to “bezczelne” rozwiązanie (umożliwiające wymuszenie pracy GPIO symulujące wyjście trójstanowe) ma szansę działać (w oryginalnym wątku autor pomysłu twierdzi, że działa) - w końcu “po drugiej stronie” też mamy jakiś niskonapięciowy MCU sterujący logiką.
Nie znam ESPHome, ale jeśli tak wynika z kodu, to masz 100% racji.
To możliwe, ale czy warto się boksować? Skoro kolega @xjaniux twierdzi, że na krótko mu dziala, a przez GPIO już nie, to chyba nawet bezpieczniej odseparować dwa MCU od siebie tranzystorami
Warto by było znać w ogóle napięcie względem masy na tych pinach sterujących rolety (bo jeśli przekraczają 4V, to można założyć że ESP prędzej czy później spłonie).
W końcu chińska metoda oznaczania tak samo modeli sprzętu różniących się elektroniką jest standardem, a to rozwiązanie można w sumie traktować jedynie w kategorii hacka, by nie stosować dodatkowych elementów (jak najbardziej popieram - rozwiązanie z tranzystorami z pewnością jest lepsze, a w kazdym razie bezpieczniejsze).
PS A tak poza konkurencją na tranzystorze złączowym w stanie nasycenia miedzy kolektorem a emiterem i tak odkłada się napięcie 0,6V (lub nieco wyższe), więc to zwarcie jest raczej umowne (czy jestem w błędzie?).
Pomierzyłem, open i close względem masy wskazuje 0.5V po wystawieniu niskiego spada do 0 na sekundę, natomiast inaczej jest na pinie stop - tutaj wskazuje 3.3V względem masy w normalnym stanie po wystawieniu niskiego spada do 0 i jednocześnie zapala się na chwilę dioda na d1mini, na open/close tego nie ma.
No OK, a zmierzyłeś też bez podpiętego ESP?
Bo pozostaje pytanie czy to napięcie jest skutkiem upływu w ESP czy faktycznie takie jest.
Druga kwestia jest taka - na jaki czas trzeba wcisnąć przycisk aby była reakcja (może czas 1sek. nie jest dobrany poprawnie?).
W kwestii diody najlepiej posłużyć się schematem modułu (możliwe, że ten pin się nie nadaje ze względu na wewnętrzne połączenia z innymi elementami na PCB - właśnie z LED i rezystorem)
Generalnie biorąc się za grzebanie z danym modułem warto np. wydrukować sobie schemat elektryczny (jeśli jest dostępny) i mieć go stale na widoku, to nie ma potem niespodzianek
Więc zamiast D4=GPIO2 użyj jakiegoś innego “normalnego” dostępnego pinu, jakie są “normalne” i “nienormalne” sprawdzisz np. tam:
akurat jest info o LED i aliasach, ale nie jest to regułą pasującą bezwzględnie do każdego modelu płytki prototypowej… (są takie płytki na ESP8266, które mają aliasy niezgodne z D1 czy NodeMCU a LED mają podpięty do innego GPIO).
Mierzylem na esp nie podpiętym do silnika zasłony, zmierzylem również oddzielnie jakie są napięcia na wyjściach z gniazda rj45 silnika i pomiędzy pinami open/stop/close a gnd jest ok 6.5v trochu za dużo mi się wydaję jak dla esp…
Tak, zdecydowanie za dużo, opierając się na tym co podaje producent nie powinno się przekraczać 3,6V (doświadczalnie ustaliłem, że wytrzymują więcej, ale bez przesady - to może dramatycznie skrócić czas życia układu).
Więc tak jak wyżej - zmień nieco kod (nie będzie potrzeba kombinacji z ustawianiem trybu wejścia - potraktuj jako zwyczajne wyjścia, odwróć logikę i po postu 3 szt. tranzystorów npn + 3x rezystor - robisz wyjścia w układzie OC).
Doświadczalnie możesz użyć zwykłej krzemowej diody szeregowo z przyciskiem by zaemulować tranzystor w stanie nasycenia.
Ok, chyba tak bedzie najbezpieczniej, pokombinuję i zdam relację, moze komuś się jeszcze przyda.
Edit:
Ok, udało mi się polutować płytkę wg wskazówek, mam tylko problem z kodem - nie jestem biegły w tej materii, nie udało mi się znaleźć prawidłowego kodu i nie bardzo wiem co pozmieniać w tym istniejącym, czy mógłbyś mi pomóc w tym i wrzucić poprawiony kod?