Cześć,
posiadam drukarkę brother hl-l2300d, która ma jedynie port usb. Jest podłączona do routera na którym mam uruchomionego gargoyla, właśnie przez port usb - tak żeby móc drukować z drukarki z każdego urządzenia w sieci. Wszystko sobie działa bez problemu, natomiast drukarka na logikę jest w miejscu obok routera (w sumie to tylko AP). Załóżmy że chcę coś wydrukować z pomieszczenia, które jest piętro niżej. W takiej sytuacji najpierw muszę wyjść do drukarki, która jest na drugim piętrze po drugiej stronie domu. Włączyć drukarkę, wrócić do pc, kliknąć na drukuj i dopiero iść po wydruk. Może sytuacja wydaje się śmieszna i warto ruszyć 4 litery żeby chociaż na chwilę wstać od pc, aleee... dla nauki, poszerzania swojej wiedzy i powiedzmy no... dla swojej wygody 😊 miałem w domu nodemcu v3 kupione kiedyś z myślą że w przyszłości się coś poduczę i właśnie taka chwila nadeszła. Wziąłem więc nodemcu, moduł przekaźnika z srd-05vdc-sl-c, kilka przewodów i połączyłem wszystko w całość. Na przycisku gdzie oznaczone jest 1 i 2 gdy nie jest zwarty jest 4,5V, gdy jest zwarty to spada do 0V. Przylutowałem więc do 1 i 2 po jednym przewodzie i podłączyłem do przekaźnika. Na nodemcu wgrałem Tasmote i bez problemu uruchamiam i wyłączam drukarkę aleeeee... nie wiem w danym momencie w jakim jest stanie 😔 . Tzn. kiedy włączę przez tasmote to wiem że jest włączona, ale gdy władze ją np. fizycznie na przycisku to na tasmocie się nie aktualizuje jej stan (logiczne). Na płytce ze zdjęcia są 4 diody kolejno opisane ready itd. Pomyślałem że mógłbym w jakiś sposób odczytywać stan tych diod i w taki sposób aktualizować stan w tasmocie i przy okazji w HomeAssistancie. Gdy zapalona jest dioda nr. 1 (od prawej) to drukarka jest ready, gdy dioda nr. 2 to drukarka ma problem z papierem itd. i analogicznie gdy nie jest włączona żadna dioda to drukarka jest off. Czy istnieje w jakiś sposób odczytywanie stanu konkretnej diody przez nodemcu i tasmote? Zapewne rozwiązanie jest trywialne. Jestem jednak na początku przygody z esp itp i stąd moje pytanie i przydługa historia wokół. Będę bardzo wdzięczny jeżeli ktoś wyrazi chęć pomocy.
Dziękuję i pozdrawiam!
@foonfee masz dwie możliwości, bezinwazyjna to, fotodioda lub fototranzystor czyli mierzymy ilość światła emitowanego przez LED, druga opcja transoptor np PC817 podłączony równolegle z LED i wyjście transoptora jedna noga do GND druga do GPIO , w tasmocie ustawiony switch na tym GPIO i masz stan
@isom Dziękuję Ci bardzo za odpowiedź i naprowadzenie mnie. Wybiorę najprawdopodobniej opcję drugą. Mam jednak jeszcze inne pytanie. Gdzieś wyczytałem że GPIO może pracować jako INPUT, czy mogę na taki pin bezpośrednio podać napięcie 3v3 stosując stabilizator napięcia np. AMS1117 i w jakiś sposób odczytać w tasmocie wysoki stan i uznać to za uruchomioną diodę?
@foonfee jeżeli myślisz o podaniu napięcia z tego panelu drukarki na ESP to dodatkowo musisz połączyć masę panelu z masą ESP. Takie połączenie to praktycznie to samo co użycie transoptora, tylko o tyle gorzej że nie ma separacji galwanicznej między urządzeniami.
Podanie 3V3 na GPIO zadziała podobnie jak podanie Masy więc interpratacja stanu będzie na 100% możliwa, a czy w tasmocie użyjesz do tego fikcyjnego przekaźnika, czy samego przełącznika to już zależy jak mocno czujesz się w tym firmware.
@isom Otóż w Tasmocie jestem początkujący. Jeżeli dobrze zrozumiałem to wystarczy że na GPIO na które podam 3v3 wybiorę Switch?
podam 3v3 wybiorę Switch?
Tak tylko wybierajac Switch musisz ustawić SwitchMode na 15 lub 16 , po takim ustawieniu zmiana stanu tego switcha będzie publikowana i można to połączyć z HA
Jak dodasz do switcha fikcyjny przekaźnik, nic nie trzeba konfigurować. Switch musi miec ten sam numer co fikcyjny przekaźnik
@isom Jestem Ci bardzo wdzięczny za każdą wskazówkę, radę i pomoc! Testuje sobie to wszystko, wziąłem płytkę stykową, podłączyłem i próbuję ale cały czas coś nie działa po mojej myśli.
Podłączone jest wszystko tak jak na rysunku. W tasmocie na D0 wybrałem Switch 1. W konsoli wpisałem SwitchMode1 15. I niby pokazuje że "ON".
{"Time":"2023-04-10T21:39:12","Switch1":"ON"}
Na czerwonym przewodzie zmierzyłem napięcie i jest ~3,25V, natomiast jak go odepnę od diody to ta nadal świeci ale już słabiej (stwierdziłem że tutaj też zmierzę i wyszło ~2,45V, natomiast w konsoli widnieje nadal "ON" co jest zrozumiałe bo ciągle jest jakieś napięcie. Co robię źle?
Swoją drogą zamówiłem już 4 kanałowy moduł optoizolatora PC817 12V i WEMOS D1 mini ESP8266-12F bo jest trochę mniejszy niż nodemcu i finalnie na tym module będę to chciał wszystko ogarnąć. Pytanie jeszcze poboczne. Czy zamiast aktualnego modułu z przekaźnikiem mogę użyć do tego celu tak samo optoizolatora?
@foonfee wybór GPIO 16 nie jest dobrym posunięciem, poczytaj https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/
W drugiej kolejności zbuduj dwa takie proste połaczenia i sprawdź różnicę w działaniu switcha podlączonego do D1 czyli GPIO 5
Czy zamiast aktualnego modułu z przekaźnikiem mogę użyć do tego celu tak samo optoizolatora?
Jest to wręcz zalecane rozwiązanie, bo daje pełną separację galawaniczną dwóch układów i zwiększa niezawodność. Tranzystor w tarnsoptorze wytrzyma znaczniej więcej cykli załączeń niż cewka przekaźnika.
wybór GPIO 16 nie jest dobrym posunięciem
Przeczytałem artykuł i wiem że najlepszym wyborem jeżeli chodzi o input będzie D1, D2, D5, D6, D7.
W drugiej kolejności zbuduj dwa takie proste połaczenia i sprawdź różnicę w działaniu switcha podlączonego do D1 czyli GPIO 5
Zbudowane, przetestowane i z obserwacji jestem w stanie stwierdzić że w przypadku pierwszym jeżeli obwód jest przerwany to switch zwraca wartość OFF, natomiast kiedy jest zamknięty zwraca ON. W drugim jest całkowicie na odwrót. Kiedy obwód jest zamknięty to zwraca OFF, natomiast kiedy jest otwarty to ON. Postanowiłem dorzucić do opcji 1 diode led (tak jak na schemacie)
W tym przypadku dioda led się zaświeca (dosyć słabo), ale switch zwraca wartość OFF, po odpięciu 3v3 dioda gaśnie, a switch nadal pokazuje OFF.
Jutro powinien dotrzeć moduł optoizolatorów i wemos. Jeżeli wszystko dobrze zrozumiałem dotychczas to powinienem spiąć to w sposób taki jak na schemacie? A przy odpowiednim GPIO wybrać odpowiednio Switch 1, Switch 2 itd?
@isom dziękuję Ci jeszcze raz że poświęcasz swój czas i tak chętnie odpowiadasz na moje komentarze. Możliwe że zadaję błache pytania, ale tak jak wspomniałem są to moje początki i chciałbym rozwijać swoją wiedzę. Uważam że i tak już dużo mi pomogłeś, ale będę wdzięczny jeżeli z Twoją pomocą oraz naprowadzeniem uda mi się dokończyć to co zacząłem.
@foonfee na tym schemacie masz status wszystkich 4 LED bez sterowania drukarką ON/OFF , jeśli o to chodzi to jest ok. Jak chcesz jednak sterować to na jedno z wejść modułu 4x transoptor musi być podłaczone GPIO jako OUT , a wyjscie z transoptora pod mikroprzycisk 1,2.
Podłączenia diody LED do schematu nr 1 nie będę komentował, bo nie ma sensu, to co zrobiłeś to zasiliłeś tą diodę przez rezystor 10k dlatego słabo swieciła bez wzgledu na stan GPIO :))
Mam nadzieję, że po przeczytaniu tego już to widzisz 🙂
@isom Jeżeli chodzi o on/off to mam to rozwiązane aktualnie przez moduł przekaźnika JQC-3FF-S-Z. Dwa przewody wychodzą z COM i NO i są przylutowane pod 1 i 2. Włączenie drukarki odbywa się przez chwilowe zwarcie mikroprzycisku, a wyłączenie przez przytrzymanie przycisku ok. 3s. W HA mam dwa przyciski jeden, który uruchamia przekaźnik i po 350 ms go wyłącza, a drugi który znowu uruchamia przekaźnik ale w tym przypadku dopiero po 3s go wyłącza. Może nie jest to idealne rozwiązanie, ale na szybko i działa.
Jak chcesz jednak sterować to na jedno z wejść modułu 4x transoptor musi być podłaczone GPIO jako OUT , a wyjscie z transoptora pod mikroprzycisk 1,2.
Jeżeli dobrze rozumiem to na tasmocie wtedy wybieram na tym GPIO Relay 1?
Jeżeli dobrze rozumiem to na tasmocie wtedy wybieram na tym GPIO Relay 1?
Wybierasz tak samo jak dla obecnego przekaźnika 🙂 tylko zamiast klepania styków masz bezgłośne załączenie/ wyłączenie. To co masz w HA może sobie zostać, albo można te czasy ustawić bezpośrednio w tasmocie. Przypuszczam, że gdy drukarka jest OFF to przytrzymanie tego przycisku 3 sek też ją włączy , więc jeden czas wystarczy.
Czeka Cię tylko mała niespdzianka, trzeba się pozbyć rezystorów na wejściach tego modułu 4x PC817 i zrobić zamiast rezystorów zworki.
Myślałem że kupisz gołe transoptory, byłoby taniej i bez zabawy.
@isom Dziękuję za wszystkie rady. Jak tylko przyjdzie moduł i wemos to zacznę działać. Dużo mi pomogłeś. Dowiedziałem się czegoś nowego. 🍻
@foonfee przeczytaj sobie jeszcze raz ostatnie kilka moich wpisów, edytowałem dwa i jest tam trochę info 🙂
@isom Przeczytałem. Dlaczego te tranzystory powinny zostać wylutowane? Swoją drogą przyszedł do mnie moduł i wemos. Ogólnie w tym momencie podłączyłem sobie wszystko testowo na płytce stykowej. W momencie kiedy dioda się świeci, tasmota zwraca OFF, a kiedy dioda zgaśnie to ON.
edit: Jeżeli chodzi o OFF i ON to już rozwiązałem - SwitchMode 16
edit2: Z ciekawości zapytam jeszcze czy jest szansa aby odczytywać czy np. dana dioda miga, a nie świeci w danym momencie?
Dlaczego te tranzystory powinny zostać wylutowane?
Nie tranzystory tylko rezystory, wyobraź sobie że w środku tego transoptora z czterema nogami jest dioda led, która się zaświeca równolegle z diodą drukarki, producent wstawił tam rezystory żeby ta dioda wytrzymała wyższe napięcia niż 3V, napięcie na diodach drukarki raczej nie jest wyższe więc ten transoptor może działać na granicy otwarcia tranzystora. Powiem tak skoro działa to możesz tak zostawić, jak będą sytuacje, że nie zawsze zadziała trzeba się pozbyć tych rezystrów a w ich miejsce zrobić zwarcie cyną lub drutem.
Odczytanie migajacej diody to już raczej z poziomu HA, czyli prosta automatyzacja z pomocnikiem typu input_boolean.
Jak swiitch w ciągu 5 sekund zrobi trzy razy ON to włącz przełącznik "Brak papieru" - input_boolean.
To oczywiscie tylko przykład, zrobisz jak Ci będzie wygodniej.
@isom Dzięki! Robisz wielką robotę! Podziwiam Cię że znajdujesz czas na odpisywanie i pomoc takim osobom jak ja. Gdybym miał możliwość postawiłbym 🍺.
Masz na myśli te zaznaczone na zdjęciu?
Tak oznaczone 302 czyli 3K , można dać zamiast nich 100 ohm , ale drut też będzie ok
Pytanie Jak jasno swiecą te czerwone diody obok tych rezystorów ? Podłącz np 5V do IN i GND i porównaj jasność.
Tylko bez tych rezystorów nie podłączaj 5V :)))