ger Koper’ s blog

Piloty zdalnego sterowania są zwykle używane do bram garażowych i tym podobnych. Wykorzystują je również systemy otwierania drzwi samochodowych. Protokół tych urządzeń wydaje się być stosunkowo standardowy. Po naciśnięciu jednego z przycisków wysyłane są serie impulsów o częstotliwości radiowej (rf), które są następnie odbierane przez urządzenie otwierające drzwi. Porównują one otrzymaną sekwencję kodu z wewnętrznie przechowywanym kodem, a gdy są równe, otwierają lub zamykają drzwi. Zasada ta jest również używana do sterowania oświetleniem, przesyłania informacji o stacji pogodowej itp.

ten mały raport jest na tak zwanych brelokach, jak pokazano powyżej. Są one obecnie obficie dostępne w Internecie. Mają tę zaletę, że posiadają mechanizm, za pomocą którego można je zaprogramować z innego pilota. Procedura jest stosunkowo prosta, ale wymaga pewnej wytrwałości: w końcu zadziała:

  • Naciśnij jednocześnie przyciski A I B. DIODA LED włącza się i po pewnym czasie zaczyna szybko migać. Oznacza to, że brelok został wymazany i przyciski mogą zostać zwolnione.
  • teraz, po naciśnięciu dowolnego przycisku DIODA LED miga tylko raz bardzo krótko. Oznacza to, że kod nie jest przesyłany.
  • nazwijmy to „pustym” kluczem numer 1. Brelok, z którego chcemy skopiować, to numer 2.
  • skopiujemy teraz kod przycisku X, albo A, B, C lub D, z pilota 2 na pilota 1 przycisku Y (A, B, C lub D).
  • przycisk X na pilocie 2, jego dioda LED będzie płonąć w sposób ciągły, aby wskazać, że przesyła sekwencje kodu.
  • przycisk Y na pilocie 1, jego dioda LED powoduje początkowe krótkie mrugnięcie, a następnie pozostaje wyłączona.
  • Przynieś dwa breloki, trzymając przyciski razem, zwykle od przodu do przodu, ale inne pozycje mogą również działać, dopóki DIODA LED na klawiszu 1 nie zacznie migać. Następnie przyciski mogą zostać zwolnione.
  • naciśnij Teraz przycisk Y na pilocie 1, A DIODA LED powinna świecić nieprzerwanie, aby wskazać, że przesyła kod. Jeśli wszystko poszło dobrze ten kod aktywuje również drzwi, które były kontrolowane przez brelok 2.
  • można to powtórzyć dla wszystkich czterech przycisków. Można również zaprogramować identyczne kody dla dwóch różnych przycisków, Klawisz nie będzie narzekał.

warto zauważyć, że podobnie wyglądające breloki mogą mieć różne, choć podobne, protokoły. W razie potrzeby postępuj zgodnie z instrukcjami sprzedawcy.

można również zakupić jednostkę sterującą, która zawiera dwa przekaźniki, którymi można sterować z dwóch przycisków wyżej opisanego pilota. Urządzenia te również muszą być zaprogramowane, chociaż są wyposażone w zaprogramowane piloty. Urządzenie posiada dip-selektor, który ustawia tryb sterowania. Tutaj używamy, że jeden przycisk włącza i wyłącza. Urządzenie posiada dwie diody LED, które znajdują się obok przekaźników i wskazują stan przekaźnika: włączony lub wyłączony. W pobliżu przycisku sterującego znajduje się kolejna DIODA LED. Miga po otrzymaniu zakodowanego sygnału rf z pilota.

jeśli ktoś chce pracować z innymi kodami niż zakodowane w fabryce, postępuje w następujący sposób

  • kody są kasowane przez naciśnięcie przycisku, aż DIODA zacznie migać.
  • teraz klawisze nie mogą już przełączać przekaźników, chociaż DIODA LED może migać, wskazując, że otrzymano kod.
  • naciśnięcie przycisku na urządzeniu po przejściu urządzenia w tryb programowania DIODA LED włącza się.
  • wciśnij najpierw przycisk, który ma sterować przekaźnikiem A. DIODA LED zacznie migać, aby wskazać odbiór. Zwolnij przycisk. DIODA LED pozostaje włączona.
  • naciśnij teraz na pilocie przycisk, który ma sterować przekaźnikiem B. DIODA LED zacznie migać, aby wskazać odbiór i zgasnąć.
  • urządzenie jest teraz zaprogramowane. Naciśnięcie dwóch przycisków spowoduje teraz aktywację przekaźników A I B.
  • zauważ, że naciśnięcie dwa razy tego samego przycisku zaprogramuje tylko przekaźnik a!

interesujące może być użycie zupełnie innego kodu z kluczami i urządzeniem. Taki jest opisany dla Raspberry Pi przez instrukcję napisany przez george7378. Poniżej przykładowy ślad kodu przycisku.

sygnał rf jest włączony podczas „wysokiego” czasu, zwykle około 0,5 ms, i wyłączony podczas „niskiego” sygnału, około 1 ms. Sekwencje te są powtarzane w odstępie około 10 ms, tak że setki sekwencji kodu są wysyłane przez naciśnięcie przycisku na sekundę lub tak. Kod może być łatwo odczytany, krótki wysoki, po którym następuje długi niski, jest interpretowany jako binarny 1, podczas gdy długi wysoki, po którym następuje krótki niski, jest binarny 0. Sekwencja kodu binarnego składa się zatem z 25 bitów, tutaj 1111 0000 0101 0110 0101 1110 1. Istnieje 225 = 33,554,432 różnych kodów możliwych z tymi 25 bitami.

z małym programem Pythona opisanym wyżej instrukcją jest stosunkowo proste wprowadzenie własnego kodu. Zastosowanie anteny 17,2 cm na nadajniku 433 MHz sprawia, że kodowanie breloczków jest o wiele prostsze. Zwłaszcza jeśli liczba powtórzeń sekwencji jest duża, tzn. zmiana NUM_ATTEMPTS z 10 na 100.

istnieje wiele różnych kodów możliwych już przy tej sekwencji 25-bitowej, ale jeśli ktoś sobie wyobrazi, że liczba bitów, czas „wysoki”, czas „niski” i czas powtarzania mogą być dowolnie zmieniane, widzi, dlaczego zwykle nie ma zbyt dużej interferencji między jednostkami i brelokami różnego pochodzenia. Będą limity na czas i kody używane, ale wiele zmian pozostaje dla danego zestawu.

kilka uwag na temat programów opisanych w instrukcji.

  • używa tego samego portu GPIO do wysyłania i odbierania. Łatwiej było mieć różne, aby obie jednostki mogły być połączone jednocześnie.
  • użycie w pierwszej linii kodu
    #!/usr/bin/python

    i uczynienie go wykonywalnym na przykład przez

    chmod +x TransmitRF.py

    pozwala na prostsze wywołanie programu jako

    ./TransmitRF.py a_on

    i powtórzenie jego operacji.

  • zamiast używać ReceiveRF.py, program do odczytu sekwencji kodu z breloczków, wolę używać mojego Logic 4 Digital + Analog Logic Analyzer firmy Saleae. Daje to znacznie więcej swobody w analizie danych.

Leave a Reply

Twój adres e-mail nie zostanie opublikowany.