Infrared

Support HackTricks

Як працює інфрачервоний

Інфрачервоне світло невидиме для людей. Довжина хвилі ІЧ становить від 0.7 до 1000 мікрон. Пульт дистанційного керування використовує ІЧ-сигнал для передачі даних і працює в діапазоні довжин хвиль 0.75..1.4 мікрон. Мікроконтролер у пульті змушує інфрачервоний світлодіод блимати з певною частотою, перетворюючи цифровий сигнал в ІЧ-сигнал.

Для прийому ІЧ-сигналів використовується фотоприймач. Він перетворює ІЧ-світло в імпульси напруги, які вже є цифровими сигналами. Зазвичай у приймачі є фільтр темного світла, який пропускає тільки бажану довжину хвилі і відсікає шум.

Різноманітність ІЧ-протоколів

ІЧ-протоколи відрізняються за 3 факторами:

  • кодування бітів

  • структура даних

  • несуча частота — часто в діапазоні 36..38 кГц

Способи кодування бітів

1. Кодування відстані імпульсів

Біти кодуються шляхом модуляції тривалості простору між імпульсами. Ширина самого імпульсу є сталою.

2. Кодування ширини імпульсів

Біти кодуються шляхом модуляції ширини імпульсу. Ширина простору після сплеску імпульсу є сталою.

3. Кодування фази

Це також відомо як кодування Манчестера. Логічне значення визначається полярністю переходу між сплеском імпульсу та простором. "Простір до сплеску імпульсу" позначає логіку "0", "сплеск імпульсу до простору" позначає логіку "1".

4. Комбінація попередніх і інших екзотичних

Існують ІЧ-протоколи, які намагаються стати універсальними для кількох типів пристроїв. Найвідомішими є RC5 і NEC. На жаль, найвідоміше не означає найпоширеніше. У моєму оточенні я зустрів лише два пульти NEC і жодного RC5.

Виробники люблять використовувати свої унікальні ІЧ-протоколи, навіть у межах одного і того ж діапазону пристроїв (наприклад, ТВ-бокси). Тому пульти від різних компаній і іноді від різних моделей однієї компанії не можуть працювати з іншими пристроями того ж типу.

Дослідження ІЧ-сигналу

Найнадійніший спосіб побачити, як виглядає ІЧ-сигнал пульта, — це використовувати осцилограф. Він не демодулює і не інвертує отриманий сигнал, він просто відображається "як є". Це корисно для тестування та налагодження. Я покажу очікуваний сигнал на прикладі ІЧ-протоколу NEC.

Зазвичай на початку закодованого пакета є преамбула. Це дозволяє приймачеві визначити рівень підсилення та фону. Існують також протоколи без преамбули, наприклад, Sharp.

Потім передаються дані. Структура, преамбула та метод кодування бітів визначаються конкретним протоколом.

ІЧ-протокол NEC містить коротку команду та код повторення, який надсилається під час натискання кнопки. Як команда, так і код повторення мають однакову преамбулу на початку.

Команда NEC, крім преамбули, складається з байта адреси та байта номера команди, за якими пристрій розуміє, що потрібно виконати. Байти адреси та номера команди дублюються з інверсними значеннями, щоб перевірити цілісність передачі. В кінці команди є додатковий стоп-біт.

Код повторення має "1" після преамбули, що є стоп-бітом.

Для логіки "0" і "1" NEC використовує кодування відстані імпульсів: спочатку передається сплеск імпульсу, після якого йде пауза, довжина якої задає значення біта.

Кондиціонери

На відміну від інших пультів, кондиціонери не передають лише код натиснутої кнопки. Вони також передають всю інформацію під час натискання кнопки, щоб забезпечити, що кондиціонер і пульт синхронізовані. Це дозволить уникнути ситуації, коли машина, налаштована на 20ºC, підвищується до 21ºC з одного пульта, а потім, коли використовується інший пульт, який все ще має температуру 20ºC, температура підвищується до 21ºC (а не до 22ºC, вважаючи, що вона на 21ºC).

Атаки

Ви можете атакувати інфрачервоний з Flipper Zero:

FZ - Infrared

Посилання

Support HackTricks

Last updated