W tym samouczku pokażemy, jak symulować krótkie naciśnięcie przycisku na zewnętrznym urządzeniu za pomocą dodatkowego modułu WiFi. Użyjemy go do zdalnego sterowania przełącznikiem USB Ugreen 30346 za pośrednictwem Home Assistant. Projekt będzie oparty o moduł WiFi kompatybilny z OBK, może to być układ Beken, Winner Micro, BL602, LN882, a nawet ESP32 i dodatkowy konwerter step down do jego zasilania.
Zastosowany tutaj przełącznik USB Ugreen 30346 umożliwia łatwe przełączanie między 4 hostami USB. Każde naciśnięcie przycisku aktywuje kolejny podłączony host. Dioda LED obok aktywnego portu USB świeci się. Pozwala to na przykład na współdzielenie jednej klawiatury między wieloma komputerami.
Zacznijmy więc od podstawowych wymagań. Co musimy zrobić, aby zasymulować naciśnięcie przycisku?
- Musimy dodać nasz moduł WiFi do switcha i zasilić go, ale USB jest 5V, a moduł WiFi używa 3.3V, więc będziemy potrzebować konwertera step down lub regulatora LDO .
- musimy wysłać krótki impuls do przycisku (zwarcie do masy), na około 0,5 sekundy, więc będziemy potrzebować skryptu OBK do tego celu
Zacznijmy od przyjrzenia się naszemu przełącznikowi. Jest to pojedynczy przycisk, którego przytrzymanie powoduje zwarcie pinu MCU Nuvoton do masy:
Ten pin jest domyślnie podciągnięty do zasilania. W większości przypadków możemy podłączyć go bezpośrednio do GPIO modułu WiFi. Jeśli potrzebujesz izolacji, użyj transoptora. Oto zdjęcie pokazujące to podczas testowania frazy z naszą płytką drukowaną:;
Zobacz temat o wyłącznikach: Płytka do konwersji bez lutowania dla modułów CB2S/WB2S Tuya kompatybilna z płytkami ESP12
Możesz również zobaczyć powiązane rozwiązanie (konwersja nodeMCU):
[Youtube] Jak zrobić płytkę rozwojową BK7231 - konwersja NodeMCU - poradnik lutowania, gorące powietrze, SMD
Aby domyślnie utrzymać pin w stanie wysokim, użyliśmy roli Rel_n , ponieważ Rel_n jest aktywny-niski, podczas gdy po prostu Rel jest aktywny-wysoki w OBK. Oto konfiguracja OBK:
Kod: JSON
Aby pin powrócił do stanu wysokiego po pół sekundy, dodaliśmy również krótki skrypt autoexec.bat .
// 0.5 is delay in seconds, 1 is number of repeats - once
addChangeHandler Channel1 == 1 addRepeatingEvent 0.5 1 setChannel 1 0
Aby sterować nim za pomocą Home Assistant wystarczy wykonać HASS Discovery i otrzymamy:
Przetestujmy to - obserwujmy diodę LED poruszającą się między portami, oznacza ona aktywny port:
Ok, prototyp już działa, ale musimy to wszystko zapakować do obudowy.
Będziemy potrzebować do tego źródła 3.3V.
Mamy pod ręką tani moduł konwertera step down:
Jest to bardzo tanie i małe urządzenie, które może być przydatne w wielu projektach. Poza tym, moduł WiFi nie wymaga żadnych innych zewnętrznych części, jak CB2S czy WB2S, działa po wyjęciu z pudełka, ale dobrze jest też dodać kilka kondensatorów odsprzęgających:
Rezystor na zdjęciu to pull up, może nie być potrzebny, bo Beken ma wewnętrzne pull upy na GPIO..
Dzięki tej modyfikacji możliwe jest nawet podłączenie przełącznika USB do Stream Deck i sterowanie nim z tego miejsca:
Zwróć uwagę na diody LED urządzeń na każdym porcie USB po prawej stronie filmu. Przełączają się one po każdym naciśnięciu.
To samo podejście można wykorzystać do sterowania, przełączania i resetowania wielu innych urządzeń. Co więcej, powyższy mechanizm można zintegrować z automatyzacją Home Assistant, dzięki czemu reset może nastąpić automatycznie o określonej porze dnia lub w przypadku wykrycia problemu. Teraz nasze urządzenie jest znacznie bardziej wszechstronne! Mogliśmy również dodać mechanizm sprzężenia zwrotnego (odczytać, która dioda LED jest włączona, aby określić, który port jest aktywny), ale to zadanie na inny dzień...
Fajne? Ranking DIY Pomogłem? Kup mi kawę.