Most WiFI-433 MHz czyli... elektronika to jednak fajne hobby!


Słowem wstępu

Po swoich sukcesach z poprzednim projektem elektronicznym postanowiłem poświęcić swój wolny czas na kolejny projekt. Jaki?



Przed świętami Bożego Narodzenia wpadłem na pomysł, że warto kupić zdalnie sterowane gniazda elektryczne z pilotem, by wychodząc z domu móc łatwo wyłączyć oświetlenie choinkowe. Super sprawa ale niestety, szybko okazało się, że często kładąc się spać zapominałem mieć przy sobie pilota. Zawsze jednak na noc podłączam telefon do ładowania i mam go przy łóżku na krzesełku. Oczywistym stało się, że mogę wykorzystać telefon a także zdobytą wiedzę, tak więc...

Potrzeba stała się matką wynalazku...

Oczywiste stało się, że można jakoś połączyć dotykowy interfejs telefonu z sygnałem 433 MHz emitowanym przez pilota, który odbierają gniazdka. Miałem w szufladzie kilka modułów ESP-12E a także poprzedni projekt, zrealizowany na tym samym chipie - ESP8266, więc pomyślałem, że mogę to wykorzystać.

Teraz pozostała tylko kwestia nadania odpowiedniego sygnału na 433MHz. Sprawa była niełatwa, zacząłem od rozebrania pilota dołączonego do gniazd w poszukiwaniu czegoś, dzięki czemu wpadnę na stosowany protokół albo inne, bardziej konkretne informacje.


Nie każda rozebrana rzecz od razu pokazuje, jak działa...


Tak też było w tym przypadku. W środku pilota znalazłem układ scalony TE90TP16N, kilka kondensatorów, rezystorów i antenę w formie ścieżki na PCB. W zasadzie niewiele...

Pomyślałem, że sprawa wymaga zakupu dodatkowych modułów...

Kupiłem moduły radiowe 433 do Arduino - nadajnik i odbiornik. Podłączyłem je do ESP32 na płytce stykowej i zacząłem kombinować.

Zeszło mi kilka dni ogarniania, jaki protokół jest używany przez gniazdka. W zasadzie szybko udało mi się ustalić, że to protokół cyfrowy, modulacja OOK, natomiast znalezienie pasującego protokołu w sieci chwilę zajęło. Nie pamiętam już dokładnie, w każdym razie odkryłem, że to protokół KlikAanKlikUit stosowany przez kilka różnych firm.

No i z górki...

Teraz zrobiło się łatwo ale też bardzo ciekawie. Znalazłem na githubie bibliotekę NewRemoteSwitch, dzięki której podsłuchałem identyfikator pilota oraz całą pozostałą komunikację. Zbudowałem działający prototyp na płytce stykowej.

Kolejną rzeczą, która dla tego projektu była dla mnie kluczowa jest oszczędzanie energii. ESP8266 ma bardzo fajny tryb zwany LIGHT_SLEEP, który w trakcie pracy modułu pozwala oszczędzać energię. Doskonale zdaje egzamin we wszelkiego rodzaju zdalnych przełącznikach.

Przyszedł czas na poskładanie tego do kupy od strony oprogramowania. Napisałem program integrujący w sobie funkcjonalność Blynk, WiFiManager i ową bibliotekę. Nie chcę tutaj tego dokładnie rozpisywać, bo jeszcze mamy trochę przed sobą czyli...

Projektowanie PCB to jednak fajna sprawa...

KiCad stał się moim ulubionym programem. Wzorując się na poprzednim projekcie przygotowałem w kilka godzin schemat obwodu bramy WiFi-443MHz. Design zakładał użycie modułu RFM110, który zapewnia transmisję zadanego sygnału OOK/ASK oraz odpowiednie parametry (tj. napięcie, moc itp). W roli modułu WiFi użyłem ESP-07, jednak finalnie, ze względu na to, że miałem pod ręką ESP-12E, użyłem tego właśnie modułu. Było to możliwe, dzięki temu, że są one kompatybilne pinami.


Po schemacie przyszedł czas na zaprojektowanie płytki. To przyszło w zasadzie szybko i bezproblemowo. Największą trudnością było wykonanie footprintu modułu RFM110. Po wykonaniu płytek trzeba było czekać, aż chińska fabryka JLCPCB wykona zlecenie i paczka dotrze bezproblemowo.



Lutowanie płytki zajęło mi właściwie cały dzień. Miałem problemy z zastygającą pastą lutowniczą, jednak w końcu udało mi się wszystko polutować. Najgorszym elementem był port USB, który najlepiej lutować cienkim grotem, gdyż użycie lutownicy hot-air upłynni plastikowy element portu. W każdym razie port USB wynagradza uniwersalnością, w postaci możliwości podpięcia urządzenia do dowolnego portu/ładowarki USB.

O kurde, to jednak działa o.O...

Zdziwiłem się, bo po wgraniu programu i sprawdzeniu płytki wszystko zaczęło śmigać bez problemu. Miałem co prawda problem z tym, że nie złapał lut jednego z wyprowadzeń modułu ESP12, jednak po skorygowaniu tego urządzenie zaczęło pracować bez problemu.

Przyszedł czas na szlify programu a także kolejne testy. W ciągu dwóch tygodni zaimplementowałem całą konfigurację urządzenia (tryb wyzwalany przyciskiem BOOT), gdzie można ustawiać SSID i hasło do WiFi, konfigurować token usługi Blynk a także inne parametry transmitera. Wraz z kolegą zaczęliśmy biegać z modułem po podwórku, sprawdzając zasięg modułu. Wyniki były bardzo zadowalające. Z drugiego końca podwórka byliśmy w stanie sterować zasilaniem świateł w domu.

Efekt końcowy


Minęło kilka dni, odkąd moduł zaczął pracować w domu na stałe. Dodałem w aplikacji Blynk terminal a także obsługę OTA, dzięki czemu mogę poprawiać program bez dotykania modułu. Schowałem moduł za telewizorem, by nie był specjalnie widoczny.

Cóż pozostało tylko... pokazanie modułu w akcji...

Komentarze

  1. Dobra robota. Miałem podobne plany (co do wykorzystnia ESP w połączeniu z 433mhz).
    Ale narazie (i tak juz pewnie zostanie...) zaimplementowałem obsługe swoich przełączników na tym module wpiętym do raspberryPI (+ moduł odbiorczy, co pozwala uzywać orginalny chinski pilot do innych celów też).
    Do rozpracowania wysyłanych kodów uzyłem tego - github.com/ninjablocks/433Utils.git
    A całość rozwiązania pracuje pod kontrolą Domoticz'a

    OdpowiedzUsuń
    Odpowiedzi
    1. Super ;)

      Ja ostatnio zrezygnowałem z Blynka na rzecz bardziej stabilnego i uniwersalnego protokołu MQTT. Dodatkowo założyłem Webhooki na IFTT, które z pomocą mostka napisanego w PHP (HTTP->MQTT) o określonych godzinach wyłączają oświetlenie w domu (na noc) bądź włączają (rano z budzikiem).

      Założyłem też stronę na hackaday'u:
      https://hackaday.io/project/163833-wifi-to-433-mhz-bridge

      Usuń
  2. Szacunek za ciężką robotę! Nie wiem czy wystarczyłoby mi samozaparcia do stworzenia takiego projektu, raczej przejrzałbym ofertę jakiejś hurtowni elektronicznej, by znaleźć gotowe rozwiązanie. Z drugiej strony, mimo tego, że jestem raczej laikiem w tych sprawach, to cały proces zachęcił mnie do własnych eksperymentów. Kto wie, może uda mi się skonstruować coś podobnego! :)

    OdpowiedzUsuń
  3. Ciekawy wpis. Wszystko dokładnie przedstawione. Pozdrawiam

    OdpowiedzUsuń
  4. Super wpis. Ciekawie napisane

    OdpowiedzUsuń
  5. Jeśli myślisz o własnej elektronice, masz projekt ale nie możesz sam go zrealizować to warto zgłosić się do tej firmy https://printor.pl/oferta/produkcja-pcb/. Firma ta działa na rynku od dawna i zajmuje się produkcją elektroniki. Warunki współpracy są moim zdaniem bardzo dobre,

    OdpowiedzUsuń
  6. Zainteresował mnie ten blog


    OdpowiedzUsuń
  7. Fajnie tu u Ciebie muszę częściej tu zaglądać

    OdpowiedzUsuń
  8. Do protokołu 433mhz polecam rflink - można go łatwo zintegrować z esp np przy pomocy espeasy i puścić po MQTT - dalej integracja z home assistant albo domoticz i można sterować telefonem z dowolnego miejsca

    OdpowiedzUsuń
  9. Wybornie opisujesz wszelkie niejasności dla mnie

    OdpowiedzUsuń
  10. Pewnie, że to bardzo fajne hobby, może dawać wiele satysfakcji jeśli udaje się zbudować swoje pierwsze urządzenia czy je naprawiać. A co do projektowania płytek PCB to te prostsze układy z powodzeniem można wykonać samodzielnie w domu, trudniejsze i bardziej zaawansowane lepiej już zamawiać od producentów mających doświadczenie i odpowiednie wyposażenie.

    OdpowiedzUsuń

Prześlij komentarz