Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который мы разрабатываем.
Как мы делаем корпус Flipper Zero безупречным
Нахлобучиваем домофонные ключи iButton с помощью Flipper Zero
Как выглядит производство корпусов Flipper Zero изнутри
Altium 365 — как GitHub, но для разработки железа. Как мы делаем Flipper Zero
Flipper Zero — вымученная сертификация, открытие исходников и новые приколдесы
Делаем отладочную плату для Flipper Zero в Altium
Flipper Zero — план по производству и доставке
[Конкурс завершён] Помогите написать лор для Flipper Zero
Flipper Zero — предфинальные детали для пресс-форм, готовимся к запуску производства
Flipper Zero — в шаге от финальной версии железа
Псс, парень, не хочешь сделать модуль для Flipper Zero?
Flipper Zero — прогресс за сентябрь
Flipper Zero — давайте пилить вместе. Приглашаем разработчиков
Flipper Zero — как выйти на Кикстартер сидя на карантине на даче
Flipper Zero/One — теперь два устройства. Подготовка к Кикстартеру
[Flipper Zero] отказываемся от Raspberry Pi, делаем собственную плату с нуля. Поиск правильного WiFi чипа
Flipper Zero — пацанский мультитул-тамагочи для пентестера
Первый пост
Пульты от телевизоров, кондиционеров, музыкальных проигрывателей передают команды через ИК-порт. Инфракрасный порт во Flipper Zero позволяет рулить всеми ИК-устройствами: перехватывать сигналы пультов и сохранять их на SD-карту, брутфорсить неизвестные коды от бытовой техники и загружать свои коды пультов и новые протоколы.
В статье я покажу:
- Как устроены инфракрасные приемники и передатчики
- Какие бывают цифровые сигналы ИК-пультов
- Перехват и анализ ИК-сигналов
- Как с помощью Flipper Zero стать инфракрасным властелином
Как работает ИК-порт
Инфракрасное излучение — это невидимое для человека электромагнитное излучение с длиной волны от 0,7 до 1000 мкм. Бытовые пульты дистанционного управления используют ИК-сигнал для передачи данных и работают в диапазоне излучения 0,75..1,4 мкм. Микроконтроллер в пульте мигает инфракрасным светодиодом с определенной частотой — так цифровой сигнал становится ИК-сигналом.
Пульт передает данные пакетами ИК-импульсов
Для приема сигнала используют фотоприемник, который преобразует ИК-излучение в импульсы напряжения — с ними уже можно работать как с цифровым сигналом. Обычно в приемниках установлен темный фотофильтр, пропускающий излучение с нужной длиной волны, чтобы фильтровать помехи.
Как устроен ИК-порт во Flipper Zero
У ИК-порта Flipper Zero стоит специальное темное окошко — оно блокирует помехи от видимого света и пропускает ИК-излучение от пультов. Это помогает выделять полезный ИК-сигнал и убирать засветы видимого света. Именно этот фильтр мы привыкли видеть во всех ИК-портах. За ним уже расположены элементы приемника и передатчика. Flipper Zero может быть как приемником, так и передатчиком ИК-сигнала.
[Видео] Расположение ИК-порта во Flipper Zero
Сразу за окошком ИК-порта расположена печатная плата. На ней с двух сторон расположено 3 ИК-светодиода — это передатчики сигнала. Их специально 3, чтобы увеличить мощность передачи. На нижней стороне печатной платы расположен фотоприемник TSOP, с помощью которого принимается ИК-сигнал. На выход TSOP выдает цифровой сигнал, который обрабатывается микроконтроллером STM32.
Ниже можно посмотреть интерактивную схему и 3D модель iButton платы, на которой установлены ИК-светодиоды, приемник TSOP, динамик и контакты iButton:
[Кликабельно] Схема и 3D модель платы ИК-порта
Ниже находится интерактивная схема проекта Altium, работающая прямо в теле поста Хабра. Попробуйте переключиться между вкладками SCH, PCB, 3D, BOM. Пока такой oEmbed элемент нельзя создать самостоятельно, но скоро эта функция будет доступна публично через Altium Viewer altium.com/viewer/
Интерактивная схема и 3D модель платы ИК-порта
Приемник ИК-сигнала во Flipper Zero
Внутри Флиппера стоит цифровой приемник ИК-сигнала TSOP, поэтому он может перехватывать любые сигналы ИК-пультов. Если у вас телефон типа Xiaomi, в котором тоже есть ИК-порт, имейте в виду, что он может ТОЛЬКО передавать сигналы, но не может принимать.
Инфракрасный приемник во Флиппере достаточно чувствительный. Можно ловить сигнал даже стоя сбоку, между пультом и телевизором, не обязательно направлять пульт вплотную к приемнику Флиппера. Это пригождается, когда кто-то переключает каналы, стоя рядом с телевизором, а вы с Флиппером находитесь далеко. Например, когда в кафе бармен переключает телевизор, а вам хочется перехватить управление захватив сигнал.
[Видео] Захват ИК-сигнала
Так как декодинг инфракрасного сигнала происходит программно, потенциально Флиппер поддерживает прием и передачу любых кодов ИК-пультов. В том числе, неизвестных ему протоколов, которые не удалось распознать — в этом случае используется запись и воспроизведение сырого сигнала, без расшифровки.
[Видео] Демонстрация функции обучения: Флиппер захватывает два сигнала переключения каналов и управляет телевизором
Интерфейс сохраненных пультов во Флиппере отображается вертикально — так удобнее держать устройство в руке, направляя ИК-порт в сторону приемника.
Чтобы прочитать ИК-сигнал, нужно направить ИК-порт Флиппера на ИК-окошко пульта. Если вы находитесь не в поле, то сигнал, скорее всего, отразится от какой-нибудь поверхности и попадет на ИК-порт Флиппера, даже если ИК-окошко пульта направлено немного в другую сторону.
Для чтения ИК-сигнала нужно перейти в меню
Infrared -> Learn new remote
, откуда его можно сохранить как новый пульт. К одному пульту можно добавить несколько сигналов, выбрав нужный пульт в меню Infrared -> Saved remotes
. В одном пульте может быть неограниченное число сигналов (кнопок).Универсальный пульт из Flipper Zero
[Видео] Брутфорсим выключение телевизора в кафе
Flipper Zero можно использовать как универсальный пульт для управления любым телевизором, кондиционером или медиацентром. В этом режиме Флиппер перебирает сигналы всех известных ему кодов всех производителей по словарю, лежащему на SD-карте. Когда пользователь решает выключить телевизор, висящий в ресторане, ему не нужно искать пульт именно от этой модели телевизора. Достаточно нажать кнопку выключения в режиме универсального пульта, и Флиппер будет последовательно посылать команды выключения от всех телевизоров, которые он знает: Sony, Samsung, Panasonic… и так далее. Когда телевизор услышит свой сигнал, он отреагирует и выключится.
Такой перебор занимает время. Чем больше словарь, тем больше потребуется ждать, пока закончится перебор всех сигналов. Узнать, какой именно сигнал распознал телевизор, нельзя, так как у телевизора нет обратной связи.
Режим перебора сигналов по словарю
Чтобы воспользоваться режимом универсального пульта, нужно перейти в меню
Infrared -> Universal library
и выбрать тип устройства, которым нужно управлять.Для проверки или редактирования словаря, на SD-карте нужно открыть или создать соответствующий файл. Например, для телевизоров файл словаря содержит примерно следующие строки:
#Имя кнопки #Протокол #Адрес #Команда
POWER NEC A:08 C:17
VOL+ NEC A:08 C:00
VOL- NEC A:08 C:01
CH+ NEC A:08 C:02
CH- NEC A:08 C:03
MUTE NEC A:08 C:0B
....
Мы планируем поставлять словари вместе с прошивкой и хранить их в отдельном репозитории, куда все пользователи смогут предлагать свои коды и ключи.
Универсальные пульты отключения телевизора
Есть устройства, специально созданные для тех, кого раздражают телевизоры, и они хотят их выключить. В таких устройствах зашита база данных сигналов для выключения телевизоров разных производителей. Принцип работы такой же как у Флиппера: устройство просто перебирает по словарю все сигналы подряд, в надежде, что в какой-то сигнал подойдет. При этом база сигналов обычно захардкожена в прошивку, и ее не просто расширить.
Сравнение устройств отключения телевизоров с Флиппером
- Кнопкус Артемия Лебедева — простое и красивое устройство в прорезиненном корпусе с одной кнопкой. После нажатия кнопки начинается перебор кодов. К сожалению список сигналов не очень большой, телевизор в офисе и дома не сработал. Дополнить базу данных сигналов в этом устройстве никак нельзя, внутри какой-то нонеймный микроконтроллер, который непонятно как прошивать.
- TV B GONE — известный старый проект с открытой прошивкой и железом. Сразу 4 мощных ИК-диода делают его очень дальнобойным. Можно добавлять свои коды, но для этого потребуется программатор.
Главное отличие Флиппера в том, что его словарь для перебора хранится на SD-карте и может быть легко обновлен и дополнен. Также пользователи могут создавать свои словари для новых классов бытовой техники и автоматики. При этом Флиппер умеет принимать сигналы, и его можно обучить любым пультам, которых вдруг не нашлось в базе.
Инфракрасный фотоприемник TSOP
Фотоприемник TSOP-75538, используемый во Flipper Zero для приема ИК-сигнала
ИК-приемник во Флиппере — это микросхема TSOP-75338. Этот компонент сам фильтрует сигнал и поддерживает его на одном логическом уровне, усиливая при необходимости. Поэтому TSOP-75338 способен принять даже очень слабый сигнал от маленьких разряженных пультов или отраженный от стен. А встроенный усилитель позволяет всегда получать на выходе микросхемы одинаковые уровни, вне зависимости от силы ИК-сигнала. Это значительно упрощает программную обработку сигнала на стороне процессора.
Плата Flipper Zero, на которой расположен ИК-приемник и передатчик. Схема демонстрирует подключение ИК-приемника TSOP-75538
В схеме питания фотоприемника TSOP-75338 во Flipper Zero стоит RC-фильтр. Он нужен, так как микроконтроллер производит помеху на линиях питания, из-за чего цифровой сигнал на выходе фотоприемника может не соответствовать принимаемому сигналу. Для согласования уровней приемника-TSOP и микроконтроллера STM32 используется диод. На выходе TSOP-а микроконтроллер STM32 уже обрабатывает цифровой сигнал.
Функциональный состав ИК-приемника TSOP-75338:
- ИК-фильтр
- ИК-фотоприемник
- Усилитель с фильтром на конкретную несущую частоту
- Усилитель с автоматической регулировкой
- Демодулятор-детектор, выделяющий огибающую
Для передачи обычно используют сигнал с частотной модуляцией. Поэтому на стороне приема устанавливают демодулятор.
Наш приёмник предназначен для демодуляции сигнала с несущей частотой 38 кГц. Большинство пультов работает на несущей частоте 36-38 кГц.
Почему именно частотная модуляция
Цифровой ИК-сигнал накладывается на шумы и суммируется с ним
На стороне приемника ИК-сигнала, почти всегда есть фоновый шум, потому что вокруг множество предметов излучающих в ИК-диапазоне, например, обычные лампы освещения. Поэтому на приемник приходит суммарный сигнал от шума и полезного сигнала.
- Шум в ИК-диапазоне создают многие источники света, так как источником ИК-излучения является выделяемое тепло. Поэтому фоновый шум будет иметь случайный характер. На гифке выше, для наглядности, он изображен как синусоида.
- Полезный сигнал — пакеты ИК-импульсов, отправляемые пультом. Идеальный пакет импульсов выглядит как ровный меандр. Но такой сигнал возможно увидеть только при полном отсутствии шумов. В реальности меандр всегда будет накладываться на шум и суммироваться с ним.
Частотная модуляция позволяет отличить ИК-сигнал с данными от шума. Когда полезный ИК-сигнал мигает с частотой 38 кГц, то пульсации ИК-частоты видны на фоне непульсирующего излучения. Таким образом фотоприемник может судить о наличии сигнала и отличать его от засвета.
Передатчик ИК-сигнала во Flipper Zero
Схема подключения ИК-передатчика к микроконтроллеру во Флиппере
Передачей ИК-сигнала напрямую управляет микроконтроллер Флиппера STM32. Через внешний транзистор он посылает импульсы на светодиоды. Чтобы повысить мощность ИК-передатчика, используется сразу 3 светодиода вместо одного.
Импульсы на стороне передатчика преобразовываются в инвертированный цифровой сигнал на стороне приемника
Как и в пультах, данные с Flipper Zero передаются пакетами импульсов. В приемнике, из принятых пакетов импульсов, демодулятор формирует огибающие (меандры) и выдает их на выход. Зачастую цифровой сигнал на выходе приемника является инвертированной огибающей.
Для увеличения импульсной мощности передатчика (дальности передачи) используются пакеты импульсов, а не целый меандр. При этом средняя мощность уменьшается или остается прежней, а значит и энергопотребление уменьшается или остается прежним.
В основном передатчики работают с несущими частотами 30..50 кГц. Этот диапазон несущих частот при разработке первых передатчиков имел наименьший уровень помех для доступной элементной базы. Не путать с частотой самого ИК-излучения, соответствующей длине волны 940 нм (318,93 ТГц).
Анализируем ИК-протоколы с Arduino
Для быстрой проверки и отладки ИК-протоколов мы используем библиотеку IRMP от Arduino. На гитхабе можно найти инструкцию, как собрать устройство для анализа ИК-протоколов.
Схема анализатора ИК-протоколов на базе Arduino IRMP
Собрав все ИК-пульты в офисе, мы убедились, что почти все они имеют разные ИК-протоколы. Но безоговорочно доверять собранному анализатору тоже нельзя. Если ИК-протокол неизвестен, то анализатор на Arduino IRMP может распознавать его как протокол Siemens. Для приема ИК-сигнала мы используем непосредственно плату Флиппера. А многообразие известных ИК-протоколов в библиотеке IRMP позволяет быстрее разрабатывать софт.
[Видео] Анализатор ИК-протоколов на базе Arduino IRMP
Чем различаются ИК-протоколы
Следующие 4 фактора в своих сочетаниях дают разные ИК-протоколы:
- способ кодирования бита информации
- состав передаваемых данных
- порядок передаваемых данных
- несущая частота модуляции — часто лежит в диапазоне 36..38 кГц
Способы кодирования бита информации
1. Метод интервалов
Биты кодируются разной длительностью паузы после пакета импульсов. Ширина пакетов импульсов одинаковая для “0” и “1", различается только время паузы между пакетами.
При интервальном кодировании биты различаются только временем паузы между импульсами
2. Кодирование бита данных длительностью
Биты кодируются разной длительностью пакетов импульсов. Паузы между пакетами импульсов одинаковые для «0» и «1», различается ширина пакетов импульсов.
При кодировании битов длительностью различается ширина пакета импульсов для «0» и «1»
3. Бифазный метод
Биты кодируются положением пакета импульсов и паузы в передаваемом интервале. Длительности пакета импульсов и паузы постоянны. Сигнал разделен на 2 фазы. Логический «0» — первая фаза без импульсов, вторая с импульсами. Логическая «1» — первая фаза с импульсами, вторая без импульсов.
При кодировании битов бифазным методом изменяется положение паузы и пакета импульсов
4. Комбинирование предыдущих и редкие экзотические методы
Состав передаваемых данных:
- команда управления
- адрес устройства
- проверочная информация
- любая другая сервисная информация
Существуют ИК-протоколы, пытающиеся стать универсальными для нескольких типов оборудования. Наиболее известными являются форматы: RC5 и NEC.
К сожалению, наиболее известные, не значит наиболее встречаемые. Лично я встретил в своем окружении лишь два ИК-пульта с протоколом NEC и ни одного с RC5.
Очень часто производители аппаратуры используют свои собственные ИК-протоколы, даже внутри одних и тех же типов оборудования (например телевизоров). Поэтому часто пульты от разных производителей, а иногда и от разных моделей одного производителя, не могут работать с другими устройствами того же типа.
Protocol Name | Details |
---|---|
SIRCS | Sony |
NEC | NEC with 32 bits, 16 address + 8 + 8 command bits, Pioneer, JVC, Toshiba, NoName etc |
NEC16 | NEC with 16 bits (incl. sync) |
NEC42 | NEC with 42 bits |
SAMSUNG | Samsung |
SAMSUNG32 | Samsung32: no sync pulse at bit 16, length 32 instead of 37 |
SAMSUNG48 | air conditioner with SAMSUNG protocol (48 bits) |
LGAIR | LG air conditioner |
MATSUSHITA | Matsushita |
TECHNICS | Technics, similar to Matsushita, but 22 instead of 24 bits |
KASEIKYO | Kaseikyo (Panasonic etc) |
PANASONIC | Panasonic (Beamer), start bits similar to KASEIKYO |
MITSU_HEAVY | Mitsubishi-Heavy Aircondition, similar timing as Panasonic beamer |
RECS80 | Philips, Thomson, Nordmende, Telefunken, Saba |
RC5 | Philips etc |
DENON | Denon, Sharp |
RC6 | Philips etc |
APPLE | Apple, very similar to NEC |
RECS80EXT | Philips, Technisat, Thomson, Nordmende, Telefunken, Saba |
NUBERT | Nubert |
BANG_OLUFSEN | Bang & Olufsen |
GRUNDIG | Grundig |
NOKIA | Nokia |
SIEMENS | Siemens, e.g. Gigaset |
FDC | FDC keyboard |
RCCAR | RC Car |
JVC | JVC (NEC with 16 bits) |
RC6A | RC6A, e.g. Kathrein, XBOX |
NIKON | Nikon |
RUWIDO | Ruwido, e.g. T-Home Mediareceiver |
IR60 | IR60 (SDA2008) |
KATHREIN | Kathrein |
NETBOX | Netbox keyboard (bitserial) |
LEGO | LEGO Power Functions RC |
THOMSON | Thomson |
BOSE | BOSE |
A1TVBOX | A1 TV Box |
ORTEK | ORTEK — Hama |
TELEFUNKEN | Telefunken (1560) |
ROOMBA | iRobot Roomba vacuum cleaner |
RCMM32 | Fujitsu-Siemens (Activy remote control) |
RCMM24 | Fujitsu-Siemens (Activy keyboard) |
RCMM12 | Fujitsu-Siemens (Activy keyboard) |
SPEAKER | Another loudspeaker protocol, similar to Nubert |
MERLIN | Merlin (Pollin 620 185) |
PENTAX | Pentax camera |
FAN | FAN (ventilator), very similar to NUBERT, but last bit is data bit instead of stop bit |
S100 | very similar to RC5, but 14 instead of 13 data bits |
ACP24 | Stiebel Eltron ACP24 air conditioner |
VINCENT | Vincent |
SAMSUNGAH | SAMSUNG AH |
IRMP16 | IRMP specific protocol for data transfer, e.g. between two microcontrollers via IR |
GREE | Gree climate |
RCII | RC II Infra Red Remote Control Protocol for FM8 |
METZ | METZ |
ONKYO | Like NEC but with 16 address + 16 command bits |
Смотрим ИК-сигнал осциллографом
[Видео] Захват инфракрасного сигнала с помощью осциллографа
Чтобы увидеть, как выглядит передаваемый ИК-сигнал от пульта, надежнее всего использовать осциллограф. Он не демодулирует и не инвертирует принимаемый сигнал, а отображает его «как есть». Это полезно при отладке. Что должно приходить, я покажу на примере ИК-протокола NEC.
Осциллограмма популярного протокола NEC
При передаче кодированной посылки, в начале передатчик формирует преамбулу, которая представляет собой один или несколько пакетов импульсов. Это позволяет приемнику определить необходимый уровень усиления и фона. Но есть протоколы и без преамбулы, например, Sharp.
Далее данные передаются в виде нулей и единиц, в зависимости от метода кодирования бита. Порядок следования, признак начала, метод кодирования и количество данных определяются протоколом передачи.
ИК-протокол NEC содержит короткую отправляемую команду и код повтора, посылаемый, если кнопка осталась нажата. И команда, и код повтора имеют вначале одинаковую преамбулу.
Команда в NEC, помимо преамбулы, состоит из байта адреса и байта номера-команды. По номеру-команды устройство понимает, что именно нужно выполнять. Байты адреса и номера-команды дублируются инверсными значениями, для проверки целостности передачи. В конце команды дополнительно стоит стоп-бит.
В коде повтора после преамбулы содержится логическая “1” — стоп бит.
Логический “0” и “1” в протоколе NEC определяются интервалами: вначале передается пакет импульсов, после которого идет пауза, задающая значение бита.
Инфракрасный щуп для осциллографа
Осциллограф записывает ИК-сигнал пульта с помощью Silver-bullet
Для захвата ИК-импульсов на осциллографе я использовал самодельный щуп Silver Bullet, придуманный автором программы AnalysIR. Это просто ИК-светодиод и резистор, запаянные в аудио-штекер RCA, который подключен через переходник
BNC->RCA
к осциллографу. Собирается за пять минут. Все компоненты для сборки такого щупа можно купить в ЧИП и ДИП.Схема щупа для захвата ИК-сигнала на осциллографе
Когда ИК-излучение пульта попадает на ИК-светодиод щупа, через него начинает проходить небольшой ток. Этот ток создает разницу напряжения на выводах светодиода, которую отчетливо видно на осциллографе. Для получения на осциллографе четкого сигнала важно, чтобы передатчик вплотную прислонялся к щупу.
Что не так с кондиционерами
Пульты от кондиционеров посылают один большой пакет с полным списком настроек
Пульты от кондиционеров представляют собой полноценные устройства с экранчиком, и, при управлении кондиционером, мы смотрим не на кондиционер, а на экран пульта. Там устанавливается температура, мощность вентилятора и т.д. При этом, сам пульт не знает, услышал ли его сигнал кондиционер, он просто посылает сигнал каждый раз при изменении настроек на пульте.
Но что произойдет, если мы уйдет в другую комнату с пультом от кондиционера, изменим настройки температуры на пульте, но кондиционер не услышит сигнал в момент нажатия на пульт? Допустим на кондиционере сохранилось значение 19°C, мы ушли в другую комнату и полностью поменяли все настройки на пульте, поставили 30°C. Потом подошли к кондиционеру снова и нажали кнопку на пульте, поднимающую температуру на 1°C вверх. Если бы пульт просто посылал нажатие каждой кнопки, как это делают другие пульты, на кондиционере бы установилась температура 20°C, а на экране пульта мы бы увидели 31°C. Получилась бы рассинхронизация данных на пульте и в памяти кондиционера.
Поэтому пульты от кондиционеров, в отличие от остальной техники, передают не команду нажатой кнопки, а сразу целиком все параметры кондиционера, которые видны на экранчике пульта. То есть всегда шлют ВСЕ данные отображаемые на экране пульта в одном большом пакете.
Такие протоколы намного более сложные, так как требуют описания всего пакета данных целиком, а не только одной команды, как в случае с телевизорами.
[Видео] Захват ИК-сигналов программой AnalysIR, используя приемник IR-toy
Для разных кондиционеров данные с пульта могут быть совершенно различными. Помимо отличий в хранении данных, существуют модели с разными уровнями мощностей, контролем влажности, зональностью и прочим. Из-за этого посылаемые данные иногда имеют большой размер и могут передаваться за несколько посылок.
Из-за обилия кондиционеров с их функциями, создание удобного пользовательского интерфейса и правильной посылки данных — громоздкая задача. Сейчас мы можем работать с некоторыми кондиционерами, но поддержка большого количества моделей еще не реализована.
Как анализировать ИК-сигналы на компьютере
Схема использования программы AnalysIR с оборудованием IR-Toy
Для работы с ИК-сигналом на компьютере я использую программу AnalysIR. Это программа для анализа ИК-протоколов, которая поддерживает разные устройства для захвата ИК-сигнала. Самый простой вариант — это изготовить самодельный приемник на базе Arduino и TSOP, и подключить его по USB. Я использую IR-toy V2 в качестве приемника. Список поддерживаемых приемников: AnalysIR.pdf.
AnalysIR показывает не импульсы ИК-диодов, как это делает осциллограф, а огибающую ИК-сигнала. Получая огибающую, программа высчитывает задержки и длительности пакетов импульсов — все это записывается в лог и помогает анализировать неизвестные ИК-протоколы. AnalysIR знает более 100 ИК-протоколов и умеет автоматически их распознавать. Кстати автор программы предложил добавить поддержку Флиппера в качестве ИК-приемника. Что думаете об этой идее?
Наши соцсети
Узнавайте о новостях проекта Flipper Zero первыми в наших соцсетях!
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Предзаказ Flipper Zero
Сейчас запущено производство первой партии Flipper Zero для бекеров заказавших устройство на Kickstarter. Вторая партия будет доступна для покупки осенью 2021. Вы можете зарезервировать устройство из второй партии заранее здесь https://shop.flipperzero.one/ Это важно для нас, чтобы более точно прогнозировать объемы производства.
Комментарии (147)
ohm
08.07.2021 13:28-5Зачем делать такое огромное окошко?
У меня в мобиле сяоми дырочка размером с булавку
ohm
08.07.2021 13:36-1INB4: чтобы был МОЩНЫЙ сигнал и уверенный приём
но зачем? можно же место сэкономить и дешевле было бы
Serega_Barsukov Автор
08.07.2021 13:37+9За ИК-окошком и приемник, и передатчик. Это сразу 3 передающих светодиода для мощности, и микросхема TSOP для перехвата ИК-сигнала. Сяоми только передавать умеет, перехватывать не научили.
15432
08.07.2021 17:39+2Мой huawei умеет перехватывать, окошко при этом совсем мелкое. Так, к слову
Serega_Barsukov Автор
08.07.2021 17:53+1Поделитесь пожалуйста моделью телефона:) я думаю это интересно для читателей
15432
08.07.2021 18:02+2Huawei P20 Pro, есть встроенная программка для создания своего пульта. Обучение на большинстве работает хорошо, на некоторых видимо не распознает границы сигнала, но раза с пятого получается запомнить кнопку
Yarik217
08.07.2021 13:45Возможно потому, что:
Если у вас телефон типа Xiaomi, в котором тоже есть ИК-порт, имейте в виду, что он может ТОЛЬКО передавать сигналы, но не может принимать.
На ней (плате) с двух сторон расположено 3 ИК-светодиода — это передатчики сигнала
И из-за наличия приёмника сигналов, которому в статье посвящено несколько разделов
Рекомендую к прочтению
ohm
08.07.2021 14:07-1ну тогда сделайте ДВЕ маленькие дырочки, а не окно
Serega_Barsukov Автор
08.07.2021 14:29+2Само по себе окно - еще и ИК-фильтр, чтобы убирать шумы от излучений с другими длинами волн.
Сам фотоприемник-TSOP широкий, и ему будет недостаточно маленькой дырочки. Плюс маленькие дырочки ограничивают ИК-сигналы при перехвате сигнала. А расположить ТРИ светодиода куда проще за окно.
zhovner
08.07.2021 15:54+7
Дело в том, что у нас 3 диода передатчика и приемник с двумя глазами. Получается всего 5 линз за этим стеклом. Можно было конечно поставить 1 диод на передачу, но тогда бы пришлось больше мучаться при передаче сигнала и с положением флиппера в пространстве, подходить ближе. Наши 3 диода направлены чуть под разным углом, получается шире радиус передаваемого сигнала. Да и корпус не был бы тоньше если бы это окно сделали меньше, поэтому непонятно зачем мелочиться.Mike-M
09.07.2021 13:02-5"********* с положением флиппера" — просьба выбирать выражения.
Mike-M
09.07.2021 17:54-4Спасибо администрации Хабра за замену у автора поста обсценной лексики.
Найдется лидобрыйкультурный человек, кто вернет мне потерянную из-за этого карму?
vaboretti
08.07.2021 13:34+2Если у вас три светодиода, можно ли использовать как джеммер, то есть глушить ИК сигнал так, чтобы легитимный владелец пульта не смог воспользоваться своим пультом?
Serega_Barsukov Автор
08.07.2021 13:58+3Сейчас такой возможности нет. Мы уточним законно ли это, и если комьюнити будет интересно и законно, то можем реализовать.
order227
09.07.2021 01:24+1Когда будут исходники сами реализуем)) Благо в плане софта "тупая глушилка" штука весьма простая.
whoismaikl
08.07.2021 13:38+1Мой старый LG G2 имел такую же функцию) Правда база девайсов не обновляляст, но была большой. + универсальный пульт обысно работал.
Serega_Barsukov Автор
08.07.2021 13:49Обычно универсальные пульты не работают с кондиционерами, так как очень уж много их. Тут может пригодится функция записи. Например в офисе или на отдыхе
Haoose
08.07.2021 14:24Функция записи будет работать и с кондиционерами? А как там можно будет, например, поменять температуру, не трогая остальные параметры, если в одном пакете все данные будут.
Спасибо за интересные подробности в статьях. Пробовал как-то на телефоне «играться» с кондиционером в офисе — ничего не получилось. Теперь понимаю возможную причину )Serega_Barsukov Автор
08.07.2021 14:37+2Да, Флиппер будет поддерживать запись ИК-сигнала, без определения протокола
Можно выставить нужные параметры на пульте и записать сигнал целиком. Потом выставить другую температуру и записать другой сигнал целиком. Конечно это не изменение одного параметра, но на неизвестных протоколов кондиционеров пока планируется такой подход.
Haoose
08.07.2021 14:41А будет возможность редактировать записанный сигнал? Сравнивать их друг с другом?
Например сравнить два сигнала с разной температурой, увидеть отличие, создать третий сигнал с нарисованной от руки на этом месте огибающей. Если не на флиппере, то, может на ПК или телефоне? =)Serega_Barsukov Автор
08.07.2021 15:05+1Да, можно будет. RAW-протокол будет записан в текстовом виде на SD-карту. Там будут записаны тайминги. Их можно посмотреть, сравнить, руками отредактировать, положить обратно на SD-карту и воспроизвести.
vladkorotnev
09.07.2021 03:22Было бы ещё интересно иметь прогу для импорта файлов пультов из lirc на флиппер.
Надо будет попробовать потом обучить его пульту от Олимп-005 — там какая-то полностью нестандартная модуляция и протокол, из всех перепробованных универсальных его осилил только какой-то древний филипс.
zuek
16.07.2021 21:28Ballu? Hama? Переносные кондеи (их много. очень), да даже Daikin - у меня в трёх комнатах по "дайкину", и ни один из них не понимает пульт от "соседа" (да, они разных поколений, один даже с двусторонней связью - на пульте коды ошибок пишет).
fedison
08.07.2021 13:38+1планирируется ли обновляемая онлайнбаза устройств/моделей?
Serega_Barsukov Автор
08.07.2021 13:40+3Планируем с помощью комьюнити Флиппера собирать базу устройств/протоколов, которые можно будет себе заливать
ionicman
08.07.2021 13:57+2Очень понравилась TSOP-75338, но чего-то я ее вообще в продаже не вижу, где заказывали? Mouser?
Serega_Barsukov Автор
08.07.2021 14:55+1Извините, мы не раскрываем наших поставщиков и завод:) Наш завод заранее забронировал для нас нужное количество TSOP у поставщика
по контракту с заводом мы напрямую у поставщиков не закупаем и не можем, потому что завод даёт нам гарантию качества, а значит отвечает за поступающие компоненты
spam-receiver
09.07.2021 01:15+1У приёмников TSDP34138 и TSDP34338 характеристики лучше, кроме не самого маленького корпуса типа "Mold":
https://www.vishay.com/ir-receiver-modules/list/product-82667/
Покупал в розницу, чтобы проверить как работают, здесь:
https://www.chipdip.ru/search?searchtext=TSDP34138
https://www.chipdip.ru/search?searchtext=TSDP34338
А мелким оптом вот здесь, намного дешевле выходит:
https://www.elitan.ru/price/index.php?find=TSDP34138
https://www.elitan.ru/price/index.php?find=TSDP34338
Кстати там есть и ваши TSOP75338:
https://www.elitan.ru/price/index.php?find=TSOP75338
Если хочется размер ещё меньше, есть тот же чип в другом корпусе:
https://www.vishay.com/ir-receiver-modules/list/product-82446/
Приобрести можно там же.
Skigh
08.07.2021 14:14+4Насколько я помню, это всё было 15 лет назад на WinMobile КПК с их двухсторонним ИК-модулем.
Ark1774
08.07.2021 14:51+2И я до сих пор жалею что продал свой dell. Современные программы для пультов на смартфон бесполезный шлак(или я не нашёл нормальное). Громкость, каналы и вкл/выкл. На этом их функциональность заканчивается. На многих, на пульте есть куча кнопок которые просто отсутствуют в универсальных пультах и кроме как с пульта её не настроить.
У меня к примеру муз центр не настроить станции, а на мониторе с меню нельзя переключать источники звука.
Gordon01
08.07.2021 17:44+1Ага.
Я даже приходил в магазин и выключал телевизоры и включал заморозку изображения на проекторе в универе.
В большинстве случае был легко обнаружен.
smart_pic
08.07.2021 14:45+7Есть несколько вопросов как к ИК приемнику так и к ИК передатчику.
если частота оригинального пульта отличается от 38кГц на которую настроена TSOP - то Флиппер всетаки примет ИК команду, но вот повторив ее с частотой заполнения 38кГц, а не родной частотой заполнения пульта возникнет ситуация , когда управляемое устройство отеажется принимать команды от Флиппера . Для этого есть определенные методы. Что у вас сделано?
есть ИК пульты которые шлют в одной посылке две стандартные команды в формате NEC . и многие распознавалки захватывают только одну часть команды. И естественно потом не работает воспроизведение команды. Как с этим вы боретесь?
По ИК передатчику. Есть ли возможность подстройки частоты излучения? к примеру можно ли установить частоту 32кГц?.
Некоторые ИК пульты формируют пачки управляющих сигналов используя подсчет количества импульсов несущей ИК сигнала. При вашем методе возникает погрешность формирования сигнала. А если это еще и связано с П.1 - то проблема эмуляции пульта с подходом как у Флиппера только усилится.
Что сделано для распознавания и составления ИК команд управления с кодом повтора. Как известно , нужно указывать с какого импульса исходной ИК последовательности нужно повторить "хвостик" команды. Как это у вас работает?
albkharisov
08.07.2021 16:21+6- Да, всё так. Аппаратно определить частоту мы не сможем, т.к. до нас долетит один сглаженный импульс. Если мы смогли распарсить протокол, то мы учитываем какая частота используется для него, и сигнал будет отправляться именно на этой частоте. Если не смогли — отправляем сырыми данными на 38 кГц. Но я не думаю что в этом будет какая-то проблема, потому что скорее всего на принимающей стороне будет тоже некий TSOP который с очень большой долей вероятности так же сгладит сигнал, ведь частоты отличаются не разительно (если не брать что-нибудь совсем экзотическое). Если же на принимающей стороне идёт подсчёт импульсов, то тогда, конечно, могут возникнуть сложности. Но пока таких проблем мы не встречали.
- Если это какой-то ультракастомный формат, то его можно просто запомнить как RAW-сигнал, без парсинга. Если же стандартный (а такие есть, у которых в середине посылки встречается задержка, это, обычно, длинные протоколы, как, например, протоколы для кондиционеров), то мы его парсим, и никаких проблем с ним нет.
- В пользовательском приложении такой возможности нет. Частота излучения зависит от протокола. Но можно записать на SD-карту RAW-сигнал и указать там желаемую частоту и скважность.
- Да, это например пульты Pronto, у них есть формат Pronto HEX они считают количество импульсов. Проблем с этим не будет, т.к. мы используем точный захват таймингов, используя аппаратные возможности таймера STM32. Да и сами пульты от бытовой техники, зачастую выдают сигнал с большой погрешностью, поэтому и приёмники производятся с расчётом на то, что есть некий «диапазон» в который должен попасть тайминг чтобы быть декодированным.
- Это всё парсится и воспроизводится согласно спецификации протокола. В некоторых протоколах для повтора используются не хвосты, а полностью повторяется передача пакета. Например, RC-6.
smart_pic
08.07.2021 17:30+2что мешало поставить ИК принимающий фотодиод и захватывать частоту ИК сигнала? А огибающую принимать на TSOP. Конструкцию усложнит - факт. Но Флиппер это не повторение ардуиновских поделок, прибор все таки для гиков, как вы его позиционируете. Для меня это существенный недостаток в ИК управлении.
spam-receiver
09.07.2021 01:40+2По идее должны были ставить TSMP77000:
https://www.vishay.com/ir-receiver-modules/list/product-82478/
https://www.vishay.com/docs/82478/tsmp77000.pdf
Видимо задачи ставились не столько для обучения командами от ИК пультов в упор, а для помехоустойчивого перехвата отражённого ИК сигнала. Хотя могли поставить оба. Цена вопроса + $2.
utsu
09.07.2021 19:12+1Аналоговый тракт на все варианты будет крайне нетривиальным и прийдётся задействовать достаточно большое количество периферии и ног(которых, кстати, нету). В общем наша задача сделать сбалансированное носимое устроство для гиков, а не hackrf для ИК.
Ark1774
08.07.2021 14:58+2Столько лет меня раздражает тот факт что производители не смогли договорится об едином формате команд на одинаковые функции, из за чего куча пультов, а на некоторую технику они потерялись и купить замену большая проблема.
drWhy
08.07.2021 15:14А CEC и ныне там, как и DLNA.
Термояд будет через каких-нибудь 30 лет, а в консорциумах согласья нет и не предвидится. Последним действительно стандартным, удобным и массовым кажется был SCART.
Жаль, что Flipper здесь не помощник. Или нет?Ark1774
08.07.2021 15:41CEC вроде как стандарт, но соблюдают его через пень колоду(в результате чего техника одной фирмы ещё работает, а разной фирмы начинаются пляски с бубном), ещё и переименовывают каждый производитель по своему.
Это по моему только законодательно можно решить, но у государств свои игрушки и проблемы.
spam-receiver
09.07.2021 01:53Тут поможет обучаемый мост Bluetooth LE <-> ИК. Давно такое существует, ибо проблема реальна. Управлять всей домашней ИК-пультовой техникой со смартфона из любой комнаты.
Gordon01
09.07.2021 11:15Xiaomi в своем умном доме такое имеет, да и другие производители.
Зачем делать еще один?
Mike-M
09.07.2021 13:24Также странно, что до сих пор не получили распространения пульты на основе ZigBee.
Лет 5 назад им предрекали светлое будущее и чуть-ли не повсеместное вытеснение ИК-пультов, расхваливая преимущества передачи радиосигнала.spam-receiver
09.07.2021 13:59Что же тут странного? Себестоимость ИК передатчиков и ИК приёмников самая низкая из всех существующих беспроводных технологий для пультов дистанционного управления. И при этом, имея два одинаковых устройства в соседних комнатах, можно любым из двух ИК пультов управлять и тем и другим устройством без помех. Сквозь стены и двери ближний инфракрасный свет не проходит, в отличие от радиосигнала 2.4ГГц, на котором работает ZigBee. И как реализовать быструю замену вышедшему из строя радиопульту на ZigBee? С ИК нет таких проблем - купил новый пульт, вставил батарейки и готово. Просто, как и всё гениальное.
Ark1774
09.07.2021 14:45У ИК зато порой нужно направлять пульт точно в технику, ещё и с определённых положений, плюс пульт нужно искать/заказывать конкретно от этой модели, т.к. даже в рамках одной серии техники они могут быть несовместимы.
Проблема прохождения сквозь стены радиосигнала решается привязкой к конкретным устройствам и выбором нужного по хоткею. Производитель экономит копейки(если считать на детали на один ТВ), а все покупатели получают кучу неудобств.drWhy
09.07.2021 14:50+1Бывает достаточно увеличить ёмкость конденсатора на пульте, чтобы пультом можно было пулять в противоположную стену при уверенном срабатывании приёмника.
У промышленных плазменных панелей NEC ИК-пульт мог подключаться кабелем и работал как проводной на цепочку устройств.
spam-receiver
09.07.2021 14:54Производитель ничего не экономит, он зарабатывает больше прибыли снижая себестоимость устройства. Если РЧ подсистема ДУ так выгодна пользователю, то попробуйте на ней заработать сами.
Ark1774
09.07.2021 17:13+1Он мог бы экономить на пульте, если бы техника работала от одного универсального или специализированно универсального(т.е. универсального, но только для кондиционеров).
РЧ подсистема ДУ выгодна пользователю, но её должны поддерживать производители как единый стандарт, иначе это бесполезно.
В идеале это должен быть пульт с частью универсальных кнопок и частью вынесенной на сенсорный e-ink с подсветкой(автоматической/ручной).
У меня только в одной комнате пять пультов(монитор, колонки, вентилятор, люстра и доп свет) и я совершенно не считаю это нормальным.spam-receiver
09.07.2021 18:59Лично у меня нет ни одного устройства с пультом дистанционного управления. На всю квартиру всего два универсальных ИК пульта Hama. Используются очень пожилыми родителями для единственного телевизора в их комнате, которым они пользуются по очереди. И таких примеров хоть отбавляй. Поэтому производители пока не собираются ничего менять. Как только спрос на суперуниверсальные ДУ станет массовым, немедленно последует его удовлетворение. Свято место пусто не бывает.
Mike-M
09.07.2021 17:25+1Мой пост скорее о том, как хорошо, что я в свое время не стал тратить ресурсы на работу с новой технологией, которая так и не стала массовой, несмотря на уверения ее авторов, стандартизацию альянсом Zigbee, и усиленную рекламу производителей.
spam-receiver
09.07.2021 18:50Это было весьма разумно с вашей стороны. Время - единственный невозобновляемый ресурс.
AVX
10.07.2021 11:10Спасибо! Выбрал tcl, вполне нормально работает. Одна кнопка лишняя "направление". Кондиционер не умеет произвольно менять направление, только можно качание включить и выключить когда надо.
Но цель достигнута, это главное.
zuek
17.07.2021 11:45Про дубак и фильтры - штатными пиктограммами. Про всё остальное - "загадочными кодами ошибок". Мне ещё на низкий уровень фреона жаловался однажды (тоже Exxx какой-то) - не скажу, что супер-нужная инфа, но при вызове ремонтника позволило сузить диапазон возможных неисправностей.
В принципе, то же самое можно и на теле внутреннего блока писать, но вот тут решили дисплейчик на пульт поместить...
AVX
09.07.2021 21:18А для timberk что выбрать, не подскажете? В списке нет такого :(
zuek
17.07.2021 11:37Мой кондей, например, жалуется на слишком низкую забортную температуру, на забитые фильтры, на неустановившееся состояние испарителя (если после нагрева сразу попытаться включить холод и наоборот)... не скажу, что супер-полезная информация, но вот про температуру - вполне помогает понять, что это не кондей сломался и не греет, а просто дубак за окном такой, на который данный девайс не рассчитан.
AVX
08.07.2021 15:40+1Штука нужная! И перспективы хорошие.
К слову, у меня телефон Redmi Note 8T. В нём есть ИК передатчик. И вещь довольно удобная! Во встроенном mi remote есть довольно много устройств, для частых задач очень удобно.
Для некоторых телевизоров (LG например) приходится ставить другие программы (штатная не работает как надо).
В итоге, я настроил и для своего ТВ домашнего, и для ТВ у родителей, и ТВ которые в детской поликлинике (пока в очереди сидишь, а телевизор в коридоре слишком тихо или громко, или мультик не тот...)
На хабр q&a я уже обсуждал вопрос законности — выходит, не совсем это дело законное — управлять чужими устройствами, могут и наказать за хулиганство (но это надо что-то такое делать, что будет всем мешать).
А вот приёмника нет в нём :(Kanut
08.07.2021 15:44+1С телевизорами всё это относительно хорошо работает на смартфонах. А вот попробуйте так кондиционер настроить или вентилятор.
AlexAV1000
08.07.2021 15:50Лазер туда надо поставить. Посветил в окно со 100 метров и выключил футбол.
romxx
09.07.2021 15:02+1> Посветил в окно со 100 метров
В глаз вратарю?JerleShannara
09.07.2021 13:44Смысл в том, что кондей на него ещё и ошибки сбрасывает. Плюс спокойно можно рулить с нескольких пультов, если стационарный ставить влом.
JerleShannara
08.07.2021 15:53Кстати говоря, есть кондиционеры с двусторонним ИК пультом, (К примеру не самые базовые Дайкины)
Viper029
08.07.2021 16:51+3Будет ли возможность создать свой собственный универсальный пульт? Допустим, у меня есть несколько телевизоров, музыкальный центр, кондиционер и другие устройства у друзей\родных\в любимом баре. Я собираю все эти пульты в один универсальный, который перебирает только мои команды при выключении\изменении громкости\переключении канала. Понятно, что такой можно будет сделать на компе, но хотелось бы собирать его находясь в «поле» используя пульты от разной техники.
Serega_Barsukov Автор
08.07.2021 17:29+1Собрать сигналы "в поле" можно. Добавить в список для брутфорса пока только правя SD-карту
Сейчас можно записывать ИК-сигналы, добавляя их к абстрактным пультам. То есть вы можете создать пульт "похек-на-районе", собрать интересующие вас сигналы, назвав их, например, ВЫКЛ_тв_бар, ВЫКЛ_музыка_кофейня и находясь в "поле" выбирать нужный сигнал. Так можно сразу и собрать сигналы, и использовать. Для брутофорса, собранные сигналы можно будет добавить позже, например, с компьютера.
00DVS
08.07.2021 18:02Собрать сигналы "в поле" можно
Это смог бы и любой смартфон с приклеенным фильтром ИФК-диапазона на чехле. Фильтрами и приложениями под андроид торговать планируете? ЕСЛИ с ключом - лучше в форм-факторе симки, второе гнездо под которую не так уж и нужно. А против чехла с ИФK-лазером вашим конкурирующим партнёрам предложить поди и нечего-с, разве что чехлы и лазеры у них есть
Serega_Barsukov Автор
09.07.2021 10:52Далеко не любой смартфон умеет записывать ИК-сигнал. Из тех что умеют, мало какие обладают хорошей чувствительностью, для перехвата сигнала на отдалении. Лично мне не известны такие.
engine9
09.07.2021 10:12Забано, такое на КПК делал, там можно было даже дизайн кнопок выбирать и местоположение на «пульте». Причём, сделано было удобно: создал кнопку, нажал «запись» посветил пультом и получил аналог этой кнопки.
Работало со всем что было дома и можно разные сигналы располагать на одном виртуальном «пульте».
DocMIPT
08.07.2021 17:12+2Самый простой способ прочитать ИК сигнал на компьютере — это подключить к TSOP 5 вольт питания, а его выход через резистор соединить с Line In звуковой карты компьютера. Дальше уже с помощью программ считывать входящий аудиосигнал. Тут даже паять ничего не надо.
smart_pic
08.07.2021 17:35Предусмотрена ли возможность отправлять ИК сигнал на один из пинов Флиппера? Это для того чтобы повесить дополнительные внешние ИК излучатели и физически разнести управление устройствами с одинаковыми командами?
Serega_Barsukov Автор
08.07.2021 19:33Штатно такого не предусмотрено. Можно сделать отдельным внешним модулем
Gnuava
08.07.2021 19:01А циклы есть?
Когда, к примеру, подается в 20:00 сигнал для кондиционера о переходе в ночной режим, в 21:00 — о снижении температуры на градус, в 22:00 — на два градуса, и затем наоборот, утром?Serega_Barsukov Автор
08.07.2021 19:28+1Такой возможности пока нет. Возможно при разработке приложения можно будет задать что-то подобное... Но это не точно:) Идея интересная!
Theageoflove
12.07.2021 19:48А если будет возможность не просто воспроизводить записанный сигнал, а отправлять сигнал N раз с интервалом M секунд, то флиппер станет ещё и универсальным цейтрафером. Очень полезная функция для фотолюбителей.
vvzvlad
09.07.2021 00:03А флиппер что, будет все это время лежать на полке? Имхо, очень специфичный кейс, попытка запихнуть во флиппер что-то, ему не очень свойственное. Купите малину, к ней шилд с ик, и будет гораздо более расширяемое решение, с возможностью настроить все это по сети к тому же.
Mike-M
09.07.2021 13:38-1… и соответствующими счетами на оплату потребляемой каждый месяц малиной электроэнергии )
vvzvlad
13.07.2021 18:36-1Там мизер. Она жрет 5В/0.8A (по факту меньше). ((5*0.8)*24*30)/1000=2.9квч, по 5 рубля это 15 рублей в месяц. Недорого за удобство.
А если вас волнует абстрактное непричинение вреда природе, стоит для начала выключить кондиционер и потерпеть.
AVX
09.07.2021 21:29Кондиционеры обычно и так это умеют. У меня на прошлой квартире был general climate не особо дорогой, но там была опция на пульте, и я даже пользовался. Не помню название, но они похоже у всех разные, как и логика, может различаться. Тот у меня при этом режиме плавно менял температуру, вроде тоже на 1-2 градуса. И ещё таймер был, очень удобная штука - поставил когда включиться, когда отключиться. Например, в 15-00 включается, в 17-30 выключается. И к моему приходу с работы он успевал включиться и охладить комнату. А дальше к вечеру или необходимости уже не было, или я сам включу как надо. Но более продвинутые алгоритмы приведут к необходимости передавать целую программу с каждым нажатием кнопки пульта.
smart_pic
08.07.2021 20:41+1Что насчет интересного протокола Global Cache , который поддерживают разные производители ? Скорее всего будет невозможно по причинам которые писал выше. А жаль , в этом формате очень большая база ИК пультов.
Serega_Barsukov Автор
09.07.2021 12:07В спецификации есть формат описания данных для отправки по IR - его можно подтянуть. Но лучше, если у вас есть, пришлите базы, например в сообщениях на хабр. Тогда мы сможем ответить точнее.
smart_pic
10.07.2021 05:23Суть этого формата не только в том , что бы описать передаваемую последовательность , но его очень легко конвертировать с экрана осциллографа в описание импульсов. В отношении Флиппера уже задавал вопрос, но пока ответа не увидел.
Вот здесь есть база , но она для зарегистрированных пользователей https://irdb.globalcache.com/Home/Database
можно найти на спец ресурсах типа этого http://www.remotecentral.com/cgi-bin/mboard/forums.cgi
Если поискать - то точно много найдется.
Оборудование которое поддерживает этот формат достаточно много, тот же iRidium о котором здесь писали , есть и другие. Может кто из iRidium более подробно напишет о базе ИК пультов. Есть оборудование , которое сканирует ИК команды в этот формат. Есть даже очень удобные и с современным удобным веб интерфейсом.
Serega_Barsukov Автор
12.07.2021 12:17его очень легко конвертировать с экрана осциллографа в описание импульсов. В отношении Флиппера уже задавал вопрос, но пока ответа не увидел.
На этот вопрос ответил utsuДа, для сырого формата описание состоит из частоты несущей + длительности модуляции.
Другими словами, сигнал с осциллографа можно положить во Флиппер как сырой формат, отредактировав частоту несущей и длительности модуляций (пакеты импульсов и паузы между ними)
gregox
08.07.2021 23:44Скажите, а почему вы на своем сайте описали на русском как приобрести ваш девайс, а описание его самого не стали делать?
lasc
09.07.2021 03:53$170 цена. Можно взять смартфон с такими функциями тот же huawei p20 с ебай
CrashLogger
09.07.2021 11:10+2Flipper - это универсальный хакерский инструмент для перехвата не только ИК, но и кучи других сигналов и протоколов. Плюс он полностью открытый с возможностью модификации как железа, так и прошивки. Можете вы сделать то же самое с huawei ?
ITMatika
09.07.2021 12:07Где пруфы насчёт полностью открытого проекта? Где исходники прошивки и библиотек, которые можно самостоятельно модифицировать и компилировать? Для присоединившихся к Developer Program — что-то доступно. Для остальных — пока лишь в неопределённых перспективах.
ЗЫ
буду рад, конечно, ошибиться, но официального ответа о полной доступности пока нетkoteeq
09.07.2021 12:39+2Официально отвечаем: прошивка будет открыта целиком и полностью, как только начнётся массовая доставка Флипперов. Также будут опубликованы все принципиальные схемы и 3D-модель внешнего каркаса корпуса.
НЕ будут опубликованы герберы печатных плат и полные 3D-модели внутренних элементов корпуса.ITMatika
09.07.2021 12:42+1Спасибо!
В прошлый раз мне на этот вопрос не ответили.
Проект только что значительно вырос в моих глазах!koteeq
09.07.2021 12:45Ура!
Кстати, принципиальные схемы уже выложены, но они успели стать неактуальными, а ещё там временно порезаны номиналы.
3D-модели внешнего каркаса тоже есть, тоже пока неактуальные.
Jeyko
09.07.2021 05:09Есть радио пульты. И синезубые. Их сможет заменить?
Serega_Barsukov Автор
09.07.2021 12:39Радиопульт можно, в зависимости от частоты. Например SUB 1Ghz, управление которыми предусмотренно во Флиппере. Блюпупы - как пульт пока не предусмотренно.
smart_pic
09.07.2021 06:42+3За модуль ИК управления можно поставить твердую 3.
Так как ничем не отличается от функционала смартфонов, не вносит ничего дополнительного к тому, что делает самый рядовой смартфон с ИК модулем.
Вот эта фраза в статье: "Для проверки и отладки сигнала неизвестного ИК-протокола, надежнее всего использовать осциллограф. Если вы не уверены, что ИК-приемник работает правильно — осциллограф поможет увидеть, что именно приходит на приемник. " - окончательно ставит точки над i.
На "ИНСТРУМЕНТ" в области ИК управления Флиппер не тянет. Поправить это уже невозможно , так как не предусмотрено в железе.
spam-receiver
09.07.2021 08:53+3Настоящему железно-софтовому хакеру заменить TSOP75338 на TSMP77000 не составляет никакого труда. В продаже имеются. Цоколёвка одинаковая. Многим это будет в удовольствие. Типа кастомный апгрейд карманной игрушки. Я бы просто добавил TSMP77000, так как потребляет не более 0.9мА (0.45мА TSOP75338). Для этого нужны: резистор и конденсатор фильтра по питанию, подтягивающий резистор 4.7кОм с выхода на питание (без него фронты и спады заваливаются на слабом ИК сигнале, форма пилообразная с неполной амплитудой), ну и проводок от него до свободного порта STM32WB55 через токоограничивающий резистор 1кОм. Ради экономии энергии аккумулятора неплохо бы ещё в цепь земли ИК приёмников добавить полевые транзисторы для их обесточивания. Проверено, работает. А портов управления у STM32WB55 предостаточно.
smart_pic
09.07.2021 11:53Замена на TSMP77000 решает одну проблему , но создает друю. При помощи TSMP77000 мы выделим несущую частоту. Сможем измерить частоту несущей. Но возникает проблема с получением огибающей ИК сигнала управления. Придется делать программную фильтрацию полезного сигнала.
Добавление TSMP77000 позволяет решить проблему с определениемнесущей частоты и подстройки частоты излучения ИК светодиода. Но и то не в широком диапазоне , так как приемник TSOP75338 имеет ограниченную полосу пропускания, и мы не сможем в широком диапазоне принимать огибающую ИК сигнала.
Для диапазона 36-38кГц в котором работает большинство пультов Флиппер будет работать. в остальных диапазонах работоспособность под вопросом.
spam-receiver
09.07.2021 12:11Согласен. Кроме того TSMP77000 не имеет никакой помехоустойчивости, и поэтому подходит лишь для идеальных условий обучения сигналами пультов. К сожалению универсальных и одновременно дешёвых вариантов решения задачи пока нет.
Serega_Barsukov Автор
09.07.2021 10:40+2Так как ничем не отличается от функционала смартфонов, не вносит ничего дополнительного к тому, что делает самый рядовой смартфон с ИК модулем.
Большинство телефонов не имеет ИК-порт. Те которые имеют, в большинстве случаев не умеют захватывать ИК-сигнал.
От телефонного ИК-порта флиппер отличается высокой чувствительностью. Это позволяет перехватить сигнал с ИК-пульта, находясь далеко от него. Большинство телефонов в продаже себе не может позволить этого. Конкретно я не знаю ни одного, у которого была бы чувствительность, позволяющая записывать сигнал на отдалении.
Вот эта фраза в статье: "Для проверки и отладки сигнала неизвестного ИК-протокола, надежнее всего использовать осциллограф. Если вы не уверены, что ИК-приемник работает правильно — осциллограф поможет увидеть, что именно приходит на приемник. " - окончательно ставит точки над i.
В статье я имел ввиду не доверие к приемнику Флиппера, а инженерный подход - хочешь видеть сигнал, смотри сам источник. Спасибо, что указали, где может возникнуть непонимание! Этот момент в статье я исправлю.
Что касается ИК-приемника во Флиппере, то он отлично перехватывает сигнал и имеет точный захват таймингов. С помощью чего можно анализировать полученный сигнал.
smart_pic
09.07.2021 12:04+1По поводу растояния: оптимальное растояние 0,5-2м . При близком располажении оригинального ИК пульта и Флиппера ик приемники TSOP начинают портить тайминги ИК посылок. При растоянии более 3м и отраженном сигнале качественно измерить тайминги ИК сигнала становится проблематично.
Из того , что видел Флиппер уверенно можно назвать достойным помощником для ИК управления. На те проблемы , что описал реально приходится не более 10% ситуаций. Но если что то возникнет - то это уже отдельная тема.
spam-receiver
09.07.2021 10:07Полезная информация:
https://www.vishay.com/docs/80069/circuit.pdf
The duty cycle of the carrier frequency can be between 50 % and 5 %. A remote control system using a Vishay IR receiver is more efficient regarding battery power consumption on the emitter side if the carrier duty cycle is low. This is shown in the following example:
1) Carrier duty cycle 50 %, peak current of emitter 200 mA, the resulting transmission distance is 25 m
2) Carrier duty cycle 10 %, peak current of emitter 800 mA, the resulting transmission distance is 29 m
Перевод:
Рабочий цикл несущей частоты может составлять от 50% до 5%. Система дистанционного управления с использованием ИК-приёмника Vishay более эффективна в отношении энергопотребления батареи на стороне излучателя, если рабочий цикл несущей низкий. Это показано в следующем примере:
1) Рабочий цикл несущей 50%, пиковый ток эмиттера 200 мА, результирующее расстояние передачи составляет 25 м
2) Рабочий цикл несущей 10%, пиковый ток эмиттера 800 мА, результирующее расстояние передачи составляет 29 м
Под эмиттером скорее всего имелся ввиду один ИК светодиод TSAL6200. Он фигурирует в листах данных почти любого ИК приёмника Vishay.
LSiazsaHrd
09.07.2021 10:14Извините, что с таким вопросом здесь, но факт — единственное место, где проявилась данная ошибка. При оплате предзаказа при помощи Apple Pay, ругается на адрес плательщика (is not valid region in Russia). Ругается так на Москву.
koteeq
09.07.2021 12:42Уже давно пытаемся это решить, но наш SaaS-партнёр пока не готов на это повлиять :(
Попробуйте, пожалуйста, указать регион Moscow (латиницей) или же использовать Apple Pay не с главной страницы, а уже после клика по ссылке «Другие способы оплаты».
engine9
09.07.2021 10:21+1Оффтопик. Раз такая тема, интересно просто из любопытства. Нашел плату от какого-то крупного МФУ, предположительно Panasonic или Kyocera. Два вот таких датчика. Один оставил, другой разобрал. Может быть местные знатоки расскажут для чего эта штука и принцип её работы?
Предполагаю, что это датчик расстояния или считывалка штрих кода. Их было в устройстве два, располагались за механической сдвижной шторкой на одной детали. Сам девайс был уже сильно развандален и мне только эти датчики достались :)
SMD микросхема — ОУ, заточенный на работу с фотоприёмниками, так в даташите указано. Между фото и светодиодами стоят стеклянные пластинки.Заголовок спойлера
spam-receiver
09.07.2021 10:41+1Предполагаю, что это датчик движения бумаги или ленты печки, с принципом работы как у сенсора оптической мыши.
sergopl
09.07.2021 12:42+3Отличная статья, особо радует описание протоколов, и методы получения и анализа кодовой посылки, даже без наличия Флиппер.
Вместе с отзывами, где описывают другие методы или варианты обработки сигналов - статью точно буду перечитывать, реально полезно даже без Флиппера...
koteeq
09.07.2021 12:50+2Это цикл обучающих материалов, которые задумывались как полезные и без Флиппера. Эта статья в его рамках уже вторая, предыдущая была про iButton, тоже за авторством Сергея.
Впереди ещё много :)
SdrRos
09.07.2021 12:56Как то попадалось описание подобного устройства, подключаемое как гарнитура к телефону (ИК диод как динамик, фотоэлемент как микрофон). Управлялось приложением на телефоне(вроде Audio IR но ещё с возможностью записи). Не проще было повторить что-то подобное?
smart_pic
09.07.2021 14:22Есть такие устройства. Очень часто используются для синхронного перевода на другие языки в конференц залах. Идея и реализация очень проста. На несущей , в диапазоне 50-100кГц с помощью частотной модуляции передается сигнал, на приемной стороне(беспроводная гарнитура) стоит микросхема ЧМ приемника , которая преобразует сигнал и подает его на наушники. Оборудование и схемы легко находятся по запросу "синхронный перевод ИК".
Это немного другая область и к ИК управлению имеет самое далекое отношение.
smart_pic
09.07.2021 13:44Еще раз перечитал стаью. Безусловно , статья очень полезная и подробная , насколько позволял объем. Очень хорошо описание добавляют рисунки.
Для меня осталась еще пара вопросов , которые не затронули в комментариях и нет описания в статье.
Есть ли возможность редактировать сырые данные , что бы немного подчистить то, что словил Флиппер? Для более четкого формирования в дальнейшем ИК посылки.
есть ли возможность "переноса" информации полученной при помощи осциллографа? Как перенести описание ИК посылки "ручным" методом , к примеру с этой картинки https://hsto.org/r/w1560/webt/um/fq/et/umfqetm2o0aywwoico969m9ruv4.png в Флиппер?
Не нашел среди протоколов , представленных вами , протокола на приемник спутникового телевидения HUMAX , видимо потому что он немного не стандартный. )
Кодировка пульта похожа на NEC, только не стандартно передается команда. Если записать в НЕХ виде то получится
55AADA25___55AADA25___F50A04FB___F50A04FB , т.е вместо одной команды передается две команды, но это не две команды , а одна команда для ресивера.
Интересно как Флиппер это распознает ?
С повтором сырых данных думаю проблем не возникнет
utsu
09.07.2021 19:29+11) Да, данные можно будет править.
2) Да, для сырого формата описание состоит из частоты несущей + длительности модуляции.
Декодер простокола под ваше устройство не выглядит как что-то необычное, просто появляется второй слой в машине состояний который собирает отдельно распознанные куски.
Mike-M
09.07.2021 13:47Прекрасно оформленная и полезная статья! Плюс за публикацию и в карму автору — однозначно! )
Простой вопрос: как рассчитывали резисторы 150R и 10к в цепи затвора MOSFET, который управляет ИК-светодиодами?utsu
09.07.2021 19:42+1Если упростить то:
— 150R — R=U/I где U=3.3 (напряжение GPIO), I=20мА (GPIO rated current). Ограничивает ток который будет протекать через GPIO во время снятия/подачи заряда с/на затвор.
— 10К — подтягивает затвор вниз когда GPIO во float-е. Предотвращает нежелательные открытия затвора.
Если чуть более сложно, то всё зависи от того что именно вы проектируете. Бюджета тока на GPIO, параметров полевиков, желаемой крутизны фронтов.Mike-M
09.07.2021 21:19Понятно, 150R в данном случае банально по закону Ома, спасибо.
А что по поводу расчета 10к? Предназначение этого резистора изначально понятно. Непонятен выбор номинала. Почему, например, не 100к, как в других подобных применениях?utsu
10.07.2021 02:23+1100к ставят там где есть потребность экономить и нет противопоказаний. 10к тоже вполне стандартный вариант, чуть более консервативный с той точки зрения что если камень уходит в резет с GPIO в HIGH, FET закроется быстрее и в общем что бы не происходило с линией или рядом с ней открыть его этим будет сложнее.
При этом надо помнить что в HIGH через него будет течь ток, но в нашем случае это 300мкА добавляемые к 200ма диодов и это не является критичным.
В других случаях мотивация может быть иной.Mike-M
10.07.2021 11:53Спасибо, понятно.
Если есть Application Note на эту тему, поделитесь ссылкой, пожалуйста.utsu
10.07.2021 14:54Это покрывается базовой электротехникой и физикой полупроводников. Самое простое это рассматривать затвор как конденсатор и рассчитывать обвязку согласно тому что вы хотите на нем получить.
dijapif
16.08.2021 12:56Очень хочется такую же фичу для 2.4 GHZ (2.4G FSK) пультов. Для ИК пультов таких решений навалом, а вот для 2.4 GHZ найти не удалось. Могло бы стать уникальной киллерфичей флиппера, из-за которой я с удовольствием его купил бы! Надеюсь учтёте в будущей версии девайса.
datacompboy
13.09.2021 16:04+1Сорри за некропостинг, забыл откомментить сразу :)
Такой перебор занимает время. Чем больше словарь, тем больше потребуется ждать, пока закончится перебор всех сигналов. Узнать, какой именно сигнал распознал телевизор, нельзя, так как у телевизора нет обратной связи.
Можно узнать какой сингла методом дихотомии. Плюнуть пол словаря, и спросить оператора отреагировал ли телевизор. Повторять для пройденной половины (Если да) или для половины еще не пройденной (Если нет). :)
Chupaka
23.09.2021 22:36А я напомню, в соседнем абзаце речь про выключение телевизора, висящего в ресторане - там такие пляски весьма странно будут выглядеть :)
datacompboy
24.09.2021 14:09это делается через поиск команды изменения громкости. это можно сделать в ресторане ;) после чего уже остальные кнопки из того же набора юзать.
f66
В программах вроде ZaZaRemote можно найти пульт от конкретной модели телевизора перебрав тестами 3 кнопки. У вас так можно?
Serega_Barsukov Автор
Сейчас реализовано так, что вы можете создать список перебора на каждую кнопку в Интерфейсе Флиппера. Можно задать на кнопку хоть 3, хоть 103 команды для перебора. При этом команды могут быть разных протоколов
Xobotun
Я так понял, @f66 имел в виду не ситуацию, когда перед флиппером стоит телевизор и надо выполнить какую-то команду на нём, пусть и методом перебора, а другую ситуацию, когда перед флиппером лежит пульт телевизора и надо определить модель телевизора, к которому этот пульт подходит. То есть с точностью до наоборот.
Serega_Barsukov Автор
Флиппер может определить сам ИК-протокол, который использует пульт, а не модель телевизора. Конкртено такой возможности, о которой вы спрашиваете сейчас нет.
ИК-протоколы пультов часто имеют наименование компаний. Но нет никаких гарантий, что пульт от iTV будет использовать протокол Apple, а не Samsung32.
Haoose
Нажимаешь последовательно три кнопки, а программа ищет в базе подходящую модель пульта под эти сигналы (чтобы была возможность использовать остальные кнопки без обучения)? Теоретически возможно. Или даже не три, а больше. Чем больше будет нажимать — тем меньше пультов будет подходить по параметрам.