5.2 KiB
Jak działa podczerwień
Światło podczerwone jest niewidoczne dla ludzi. Długość fali podczerwieni wynosi od 0,7 do 1000 mikronów. Piloty do domu używają sygnału podczerwonego do transmisji danych i działają w zakresie długości fali od 0,75 do 1,4 mikrona. Mikrokontroler w pilocie sprawia, że dioda podczerwona migocze z określoną częstotliwością, zamieniając sygnał cyfrowy w sygnał podczerwony.
Do odbierania sygnałów podczerwonych używa się fotoodbiornika. Konwertuje on światło podczerwone na impulsy napięcia, które są już sygnałami cyfrowymi. Zazwyczaj w odbiorniku znajduje się filtr światła ciemnego, który przepuszcza tylko pożądaną długość fali i eliminuje szum.
Różnorodność protokołów podczerwieni
Protokoły podczerwieni różnią się pod względem 3 czynników:
- kodowanie bitów
- struktura danych
- częstotliwość nośna — często w zakresie 36 do 38 kHz
Sposoby kodowania bitów
1. Kodowanie odległości impulsów
Bity są kodowane poprzez modulację czasu trwania przestrzeni między impulsami. Szerokość samego impulsu jest stała.
![](/Mirrors/hacktricks/media/commit/342596cac22bcbb67b7edc5fa5e398ef53e8d532/.gitbook/assets/image%20%28292%29.png)
2. Kodowanie szerokości impulsu
Bity są kodowane poprzez modulację szerokości impulsu. Szerokość przestrzeni po wybuchu impulsu jest stała.
![](/Mirrors/hacktricks/media/commit/342596cac22bcbb67b7edc5fa5e398ef53e8d532/.gitbook/assets/image%20%28279%29.png)
3. Kodowanie fazy
Jest również znane jako kodowanie Manchester. Wartość logiczna jest określana przez polaryzację przejścia między wybuchem impulsu a przestrzenią. "Przejście z przestrzeni na wybuch impulsu" oznacza logiczne "0", a "wybuch impulsu na przestrzeń" oznacza logiczne "1".
![](/Mirrors/hacktricks/media/commit/342596cac22bcbb67b7edc5fa5e398ef53e8d532/.gitbook/assets/image%20%28631%29.png)
4. Kombinacja powyższych i innych egzotycznych
{% hint style="info" %} Istnieją protokoły podczerwieni, które starają się stać uniwersalne dla kilku rodzajów urządzeń. Najbardziej znane to RC5 i NEC. Niestety, najbardziej znane nie oznacza najbardziej powszechne. W moim otoczeniu spotkałem tylko dwa pilota NEC i żadnego pilota RC5.
Producenci lubią używać swoich unikalnych protokołów podczerwieni, nawet w obrębie tego samego rodzaju urządzeń (na przykład dekodery TV). Dlatego pilota z różnych firm, a czasami z różnych modeli tej samej firmy, nie można używać z innymi urządzeniami tego samego typu. {% endhint %}
Badanie sygnału podczerwieni
Najbardziej niezawodnym sposobem zobaczenia, jak wygląda sygnał podczerwony z pilota, jest użycie oscyloskopu. Nie demoduluje on ani nie odwraca otrzymanego sygnału, po prostu wyświetla go "tak jak jest". Jest to przydatne do testowania i debugowania. Pokażę oczekiwany sygnał na przykładzie protokołu podczerwieni NEC.
![](/Mirrors/hacktricks/media/commit/342596cac22bcbb67b7edc5fa5e398ef53e8d532/.gitbook/assets/image%20%28232%29.png)
Zazwyczaj na początku zakodowanego pakietu znajduje się preambuła. Pozwala to odbiornikowi określić poziom wzmocnienia i tło. Istnieją również protokoły bez preambuły, na przykład Sharp.
Następnie przesyłane są dane. Struktura, preambuła i metoda kodowania bitów są określone przez konkretny protokół.
Protokół podczerwieni NEC zawiera krótki kod i kod powtórzenia, który jest wysyłany podczas naciśnięcia przycisku. Zarówno kod, jak i kod powtórzenia mają tę samą preambułę na początku.
Kod NEC składa się, oprócz preambuły, z bajtu adresu i bajtu numeru komendy, dzięki którym urządzenie rozumie, co ma wykonać. Bajty adresu i numeru komendy są zduplikowane z wartościami odwrotnymi, aby sprawdzić integralność transmisji. Na końcu komendy znajduje się dodatkowy bit stopu.
Kod powtórzenia ma "1" po preambule, co oznacza bit stopu.
Dla logicznych "0" i "1" NEC używa kodowania odległości impulsów: najpierw przesyłany jest wybuch impulsu, po którym następuje pauza, której długość określa wartość bitu.
Klimatyzatory
W przeciwieństwie do innych pilotów, klimatyzatory nie przesyłają tylko kodu naciśniętego przycisku. Przesyłają również wszystkie informacje po naciśnięciu przycisku, aby zapewnić synchronizację między urządzeniem klimatyzacyjnym a pilotem.
Dzięki temu unikniemy sytuacji, w której urządzenie ustawione na 20ºC zostanie zwiększone do 21ºC za pomocą jednego pilota, a następnie, gdy użyty zostanie inny pilot, który nadal ma temperaturę ustawioną na 20ºC, zwiększy on temperaturę, "zwiększając" ją do 21ºC (a nie do 22ºC, myśląc, że jest w 21ºC).
Ataki
Możesz zaatakować podczerwień za pomocą Flipper Zero:
{% content-ref url="flipper-zero/fz-infrared.md" %} fz-infrared.md {% endcontent-ref %}