cziter15 Napisano Październik 12, 2019 Udostępnij Napisano Październik 12, 2019 (edytowany) W zeszłym roku, jakoś przed świętami Bożego Narodzenia kupiłem gniazdka zdalnie sterowane za pomocą pilota na 433MHz. Kupiłem je głównie z myślą, żeby nie musieć się schylać każdorazowo przy wyłączaniu oświetlenia na choince. Któregoś dnia wpadłem na pomysł, żeby dorobić do tego sterowanie z pomocą smartfona i szczerze wątpiłem, że mi się uda. Ale się udało! W elektronice nie siedzę jakoś długo, raczej jest to dodatkowa "pasja" uzupełniająca programowanie, którym zawodowo się zajmuję. Tak się złożyło, że szybko uciekłem od Arduino Pro Mini na rzecz płytek prototypowych z ESP8266. Przed tym projektem zrobiłem przetarcie w projektowaniu PCB za pomocą płytki zrobionej w interfejsie webowym EasyEDA. Na PCB osadziłem stabilizator napięcia i diodę. Jedyne do czego tej płytki użyłem, to mruganie tą diodą i testowanie programowania układu. Były to dobre pierwsze kroki, które pozwoliły przesiąść się na KiCAD'a. Kupiłem moduły do 433Mhz dla Arduino i zacząłem pisać prototypowy kod Dzięki modułom mogłem wyśledzić, co jest nadawane "w eter" i podsłuchać kody, które są przesyłane gdy na pilocie wciskamy przyciski, gdyż płytka PCB pilota nie mówiła nic (zdjęcie powyżej). Szybko okazało się, że gotowe wzory implementacji są w internecie a protokół, jaki jest używany znany jest z gniazdek Kaku Power Switch oraz Nexa Power Switch, który bazuje na kodzie manchester. Podsłuchane kody zadziałały na płytce prototypowej, czas było to przenieść na docelowe ESP8266 / ESP-12. Przyszedł czas na przeniesienie się na własne PCB Zaprojektowałem płytkę PCB, w roli modułu radiowego użyłem RFM110W, który ładnie pasował i nie powiększał znacząco wymiarów płytki. Przylutowany powierzchniowo nie odstaje od PCB i wydaje się być jej integralną częścią. Urządzenie zasilane jest z gniazda microUSB, z którego prąd wędruje do stabilizatora napięcia a następnie do pozostałych części urządzenia - czyli modułu ESP12 oraz RFM110W. Na płytce pozostało miejsce na pin-socket odbiornika, natomiast praktyka pokazała, że podsłuchanie kodów lepiej zrealizować osobnym urządzeniem, więc gniazdo to nie jest wykorzystywane. Software - czyli najbardziej czasochłonna sprawa Program pisałem kilka razy, początkowo korzystając z biblioteki Blynk, którą porzuciłem na rzecz MQTT (PubSubClient). Protokół MQTT pozwala na uniwersalną komunikację, potrafi przechowywać stany w "tematach", działa podobnie do chatów, gdzie w tematach możemy publikować wiadomości. Napisałem również aplikację na peceta w C#, do sterowania gniazdami. Efekt końcowy Jak się podoba? Edytowano Październik 13, 2019 przez cziter15 2
Treker (Damian Szymański) Październik 16, 2019 Udostępnij Październik 16, 2019 Właśnie zaakceptowałem Twój opis, możesz go teraz zgłosić do akcji rabatowej umieszczając link w temacie zbiorczym. Dziękuję za przedstawienie ciekawego projektu, zachęcam do prezentowania kolejnych DIY oraz aktywności na naszym forum
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »