Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который мы разрабатываем.
Предыдущие посты
Как выглядит тестирование электроники 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)


  1. f66
    08.07.2021 13:24
    +1

    В программах вроде ZaZaRemote можно найти пульт от конкретной модели телевизора перебрав тестами 3 кнопки. У вас так можно?


    1. Serega_Barsukov Автор
      08.07.2021 13:53

      Сейчас реализовано так, что вы можете создать список перебора на каждую кнопку в Интерфейсе Флиппера. Можно задать на кнопку хоть 3, хоть 103 команды для перебора. При этом команды могут быть разных протоколов


      1. Xobotun
        08.07.2021 14:30
        +1

        Я так понял, @f66 имел в виду не ситуацию, когда перед флиппером стоит телевизор и надо выполнить какую-то команду на нём, пусть и методом перебора, а другую ситуацию, когда перед флиппером лежит пульт телевизора и надо определить модель телевизора, к которому этот пульт подходит. То есть с точностью до наоборот.


        1. Serega_Barsukov Автор
          08.07.2021 14:44

          Флиппер может определить сам ИК-протокол, который использует пульт, а не модель телевизора. Конкртено такой возможности, о которой вы спрашиваете сейчас нет.

          ИК-протоколы пультов часто имеют наименование компаний. Но нет никаких гарантий, что пульт от iTV будет использовать протокол Apple, а не Samsung32.


        1. Haoose
          08.07.2021 14:46
          +1

          Нажимаешь последовательно три кнопки, а программа ищет в базе подходящую модель пульта под эти сигналы (чтобы была возможность использовать остальные кнопки без обучения)? Теоретически возможно. Или даже не три, а больше. Чем больше будет нажимать — тем меньше пультов будет подходить по параметрам.


  1. ohm
    08.07.2021 13:28
    -5

    Зачем делать такое огромное окошко?


    У меня в мобиле сяоми дырочка размером с булавку


    1. ohm
      08.07.2021 13:36
      -1

      INB4: чтобы был МОЩНЫЙ сигнал и уверенный приём


      но зачем? можно же место сэкономить и дешевле было бы


    1. Serega_Barsukov Автор
      08.07.2021 13:37
      +9

      За ИК-окошком и приемник, и передатчик. Это сразу 3 передающих светодиода для мощности, и микросхема TSOP для перехвата ИК-сигнала. Сяоми только передавать умеет, перехватывать не научили.


      1. 15432
        08.07.2021 17:39
        +2

        Мой huawei умеет перехватывать, окошко при этом совсем мелкое. Так, к слову


        1. Serega_Barsukov Автор
          08.07.2021 17:53
          +1

          Поделитесь пожалуйста моделью телефона:) я думаю это интересно для читателей


          1. 15432
            08.07.2021 18:02
            +2

            Huawei P20 Pro, есть встроенная программка для создания своего пульта. Обучение на большинстве работает хорошо, на некоторых видимо не распознает границы сигнала, но раза с пятого получается запомнить кнопку


          1. Antti
            08.07.2021 19:46
            +2

            Huawei Mate 20 Pro тоже может передавать и принимать («учить» новые команды)


    1. Yarik217
      08.07.2021 13:45

      Возможно потому, что:

      Если у вас телефон типа Xiaomi, в котором тоже есть ИК-порт, имейте в виду, что он может ТОЛЬКО передавать сигналы, но не может принимать.

      На ней (плате) с двух сторон расположено 3 ИК-светодиода — это передатчики сигнала

      И из-за наличия приёмника сигналов, которому в статье посвящено несколько разделов

      Рекомендую к прочтению


      1. ohm
        08.07.2021 14:07
        -1

        ну тогда сделайте ДВЕ маленькие дырочки, а не окно


        1. Serega_Barsukov Автор
          08.07.2021 14:29
          +2

          Само по себе окно - еще и ИК-фильтр, чтобы убирать шумы от излучений с другими длинами волн.

          Сам фотоприемник-TSOP широкий, и ему будет недостаточно маленькой дырочки. Плюс маленькие дырочки ограничивают ИК-сигналы при перехвате сигнала. А расположить ТРИ светодиода куда проще за окно.


    1. zhovner
      08.07.2021 15:54
      +7



      Дело в том, что у нас 3 диода передатчика и приемник с двумя глазами. Получается всего 5 линз за этим стеклом. Можно было конечно поставить 1 диод на передачу, но тогда бы пришлось больше мучаться при передаче сигнала и с положением флиппера в пространстве, подходить ближе. Наши 3 диода направлены чуть под разным углом, получается шире радиус передаваемого сигнала. Да и корпус не был бы тоньше если бы это окно сделали меньше, поэтому непонятно зачем мелочиться.


      1. Mike-M
        09.07.2021 13:02
        -5

        "********* с положением флиппера" — просьба выбирать выражения.


        1. Mike-M
          09.07.2021 17:54
          -4

          Спасибо администрации Хабра за замену у автора поста обсценной лексики.
          Найдется ли добрый культурный человек, кто вернет мне потерянную из-за этого карму?


  1. vaboretti
    08.07.2021 13:34
    +2

    Если у вас три светодиода, можно ли использовать как джеммер, то есть глушить ИК сигнал так, чтобы легитимный владелец пульта не смог воспользоваться своим пультом?


    1. Serega_Barsukov Автор
      08.07.2021 13:58
      +3

      Сейчас такой возможности нет. Мы уточним законно ли это, и если комьюнити будет интересно и законно, то можем реализовать.


      1. order227
        09.07.2021 01:24
        +1

        Когда будут исходники сами реализуем)) Благо в плане софта "тупая глушилка" штука весьма простая.


    1. Mike-M
      09.07.2021 13:03

      Это ж какой расход батареи будет!


  1. whoismaikl
    08.07.2021 13:38
    +1

    Мой старый LG G2 имел такую же функцию) Правда база девайсов не обновляляст, но была большой. + универсальный пульт обысно работал.


    1. Serega_Barsukov Автор
      08.07.2021 13:49

      Обычно универсальные пульты не работают с кондиционерами, так как очень уж много их. Тут может пригодится функция записи. Например в офисе или на отдыхе


      1. Haoose
        08.07.2021 14:24

        Функция записи будет работать и с кондиционерами? А как там можно будет, например, поменять температуру, не трогая остальные параметры, если в одном пакете все данные будут.
        Спасибо за интересные подробности в статьях. Пробовал как-то на телефоне «играться» с кондиционером в офисе — ничего не получилось. Теперь понимаю возможную причину )


        1. Serega_Barsukov Автор
          08.07.2021 14:37
          +2

          Да, Флиппер будет поддерживать запись ИК-сигнала, без определения протокола

          Можно выставить нужные параметры на пульте и записать сигнал целиком. Потом выставить другую температуру и записать другой сигнал целиком. Конечно это не изменение одного параметра, но на неизвестных протоколов кондиционеров пока планируется такой подход.


          1. Haoose
            08.07.2021 14:41

            А будет возможность редактировать записанный сигнал? Сравнивать их друг с другом?
            Например сравнить два сигнала с разной температурой, увидеть отличие, создать третий сигнал с нарисованной от руки на этом месте огибающей. Если не на флиппере, то, может на ПК или телефоне? =)


            1. Serega_Barsukov Автор
              08.07.2021 15:05
              +1

              Да, можно будет. RAW-протокол будет записан в текстовом виде на SD-карту. Там будут записаны тайминги. Их можно посмотреть, сравнить, руками отредактировать, положить обратно на SD-карту и воспроизвести.


              1. vladkorotnev
                09.07.2021 03:22

                Было бы ещё интересно иметь прогу для импорта файлов пультов из lirc на флиппер.


                Надо будет попробовать потом обучить его пульту от Олимп-005 — там какая-то полностью нестандартная модуляция и протокол, из всех перепробованных универсальных его осилил только какой-то древний филипс.


        1. zuek
          16.07.2021 21:28

          Ballu? Hama? Переносные кондеи (их много. очень), да даже Daikin - у меня в трёх комнатах по "дайкину", и ни один из них не понимает пульт от "соседа" (да, они разных поколений, один даже с двусторонней связью - на пульте коды ошибок пишет).


  1. anonymous
    00.00.0000 00:00


  1. anonymous
    00.00.0000 00:00


  1. fedison
    08.07.2021 13:38
    +1

    планирируется ли обновляемая онлайнбаза устройств/моделей?


    1. Serega_Barsukov Автор
      08.07.2021 13:40
      +3

      Планируем с помощью комьюнити Флиппера собирать базу устройств/протоколов, которые можно будет себе заливать


  1. ionicman
    08.07.2021 13:57
    +2

    Очень понравилась TSOP-75338, но чего-то я ее вообще в продаже не вижу, где заказывали? Mouser?


    1. Serega_Barsukov Автор
      08.07.2021 14:55
      +1

      Извините, мы не раскрываем наших поставщиков и завод:) Наш завод заранее забронировал для нас нужное количество TSOP у поставщика

      по контракту с заводом мы напрямую у поставщиков не закупаем и не можем, потому что завод даёт нам гарантию качества, а значит отвечает за поступающие компоненты


    1. 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/

      Приобрести можно там же.


  1. Skigh
    08.07.2021 14:14
    +4

    Насколько я помню, это всё было 15 лет назад на WinMobile КПК с их двухсторонним ИК-модулем.


    1. Ark1774
      08.07.2021 14:51
      +2

      И я до сих пор жалею что продал свой dell. Современные программы для пультов на смартфон бесполезный шлак(или я не нашёл нормальное). Громкость, каналы и вкл/выкл. На этом их функциональность заканчивается. На многих, на пульте есть куча кнопок которые просто отсутствуют в универсальных пультах и кроме как с пульта её не настроить.
      У меня к примеру муз центр не настроить станции, а на мониторе с меню нельзя переключать источники звука.


      1. Mike-M
        09.07.2021 13:14

        Попробуйте DIY из 3-х деталей.


    1. Gordon01
      08.07.2021 17:44
      +1

      Ага.
      Я даже приходил в магазин и выключал телевизоры и включал заморозку изображения на проекторе в универе.
      В большинстве случае был легко обнаружен.


    1. nlykl
      19.07.2021 18:50

      На Symbian тоже было, но телефонный ИК-порт бил совсем недалеко.


  1. smart_pic
    08.07.2021 14:45
    +7

    Есть несколько вопросов как к ИК приемнику так и к ИК передатчику.

    1. если частота оригинального пульта отличается от 38кГц на которую настроена TSOP - то Флиппер всетаки примет ИК команду, но вот повторив ее с частотой заполнения 38кГц, а не родной частотой заполнения пульта возникнет ситуация , когда управляемое устройство отеажется принимать команды от Флиппера . Для этого есть определенные методы. Что у вас сделано?

    2. есть ИК пульты которые шлют в одной посылке две стандартные команды в формате NEC . и многие распознавалки захватывают только одну часть команды. И естественно потом не работает воспроизведение команды. Как с этим вы боретесь?

    3. По ИК передатчику. Есть ли возможность подстройки частоты излучения? к примеру можно ли установить частоту 32кГц?.

    4. Некоторые ИК пульты формируют пачки управляющих сигналов используя подсчет количества импульсов несущей ИК сигнала. При вашем методе возникает погрешность формирования сигнала. А если это еще и связано с П.1 - то проблема эмуляции пульта с подходом как у Флиппера только усилится.

    5. Что сделано для распознавания и составления ИК команд управления с кодом повтора. Как известно , нужно указывать с какого импульса исходной ИК последовательности нужно повторить "хвостик" команды. Как это у вас работает?


    1. albkharisov
      08.07.2021 16:21
      +6

      1. Да, всё так. Аппаратно определить частоту мы не сможем, т.к. до нас долетит один сглаженный импульс. Если мы смогли распарсить протокол, то мы учитываем какая частота используется для него, и сигнал будет отправляться именно на этой частоте. Если не смогли — отправляем сырыми данными на 38 кГц. Но я не думаю что в этом будет какая-то проблема, потому что скорее всего на принимающей стороне будет тоже некий TSOP который с очень большой долей вероятности так же сгладит сигнал, ведь частоты отличаются не разительно (если не брать что-нибудь совсем экзотическое). Если же на принимающей стороне идёт подсчёт импульсов, то тогда, конечно, могут возникнуть сложности. Но пока таких проблем мы не встречали.
      2. Если это какой-то ультракастомный формат, то его можно просто запомнить как RAW-сигнал, без парсинга. Если же стандартный (а такие есть, у которых в середине посылки встречается задержка, это, обычно, длинные протоколы, как, например, протоколы для кондиционеров), то мы его парсим, и никаких проблем с ним нет.
      3. В пользовательском приложении такой возможности нет. Частота излучения зависит от протокола. Но можно записать на SD-карту RAW-сигнал и указать там желаемую частоту и скважность.
      4. Да, это например пульты Pronto, у них есть формат Pronto HEX они считают количество импульсов. Проблем с этим не будет, т.к. мы используем точный захват таймингов, используя аппаратные возможности таймера STM32. Да и сами пульты от бытовой техники, зачастую выдают сигнал с большой погрешностью, поэтому и приёмники производятся с расчётом на то, что есть некий «диапазон» в который должен попасть тайминг чтобы быть декодированным.
      5. Это всё парсится и воспроизводится согласно спецификации протокола. В некоторых протоколах для повтора используются не хвосты, а полностью повторяется передача пакета. Например, RC-6.


      1. smart_pic
        08.07.2021 17:30
        +2

        что мешало поставить ИК принимающий фотодиод и захватывать частоту ИК сигнала? А огибающую принимать на TSOP. Конструкцию усложнит - факт. Но Флиппер это не повторение ардуиновских поделок, прибор все таки для гиков, как вы его позиционируете. Для меня это существенный недостаток в ИК управлении.


        1. 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.


        1. utsu
          09.07.2021 19:12
          +1

          Аналоговый тракт на все варианты будет крайне нетривиальным и прийдётся задействовать достаточно большое количество периферии и ног(которых, кстати, нету). В общем наша задача сделать сбалансированное носимое устроство для гиков, а не hackrf для ИК.


  1. Ark1774
    08.07.2021 14:58
    +2

    Столько лет меня раздражает тот факт что производители не смогли договорится об едином формате команд на одинаковые функции, из за чего куча пультов, а на некоторую технику они потерялись и купить замену большая проблема.


    1. drWhy
      08.07.2021 15:14

      А CEC и ныне там, как и DLNA.
      Термояд будет через каких-нибудь 30 лет, а в консорциумах согласья нет и не предвидится. Последним действительно стандартным, удобным и массовым кажется был SCART.
      Жаль, что Flipper здесь не помощник. Или нет?


      1. Ark1774
        08.07.2021 15:41

        CEC вроде как стандарт, но соблюдают его через пень колоду(в результате чего техника одной фирмы ещё работает, а разной фирмы начинаются пляски с бубном), ещё и переименовывают каждый производитель по своему.
        Это по моему только законодательно можно решить, но у государств свои игрушки и проблемы.


      1. Mike-M
        09.07.2021 13:29

        стандарт CEC является опциональным, и к тому же вплоть до v1.4b включительно не обязывал жестко следовать его рекомендациям.
        Источник


    1. spam-receiver
      09.07.2021 01:53

      Тут поможет обучаемый мост Bluetooth LE <-> ИК. Давно такое существует, ибо проблема реальна. Управлять всей домашней ИК-пультовой техникой со смартфона из любой комнаты.


      1. Gordon01
        09.07.2021 11:15

        Xiaomi в своем умном доме такое имеет, да и другие производители.
        Зачем делать еще один?


        1. spam-receiver
          09.07.2021 12:01

          О таких и говорил.


    1. Mike-M
      09.07.2021 13:24

      Также странно, что до сих пор не получили распространения пульты на основе ZigBee.
      Лет 5 назад им предрекали светлое будущее и чуть-ли не повсеместное вытеснение ИК-пультов, расхваливая преимущества передачи радиосигнала.


      1. spam-receiver
        09.07.2021 13:59

        Что же тут странного? Себестоимость ИК передатчиков и ИК приёмников самая низкая из всех существующих беспроводных технологий для пультов дистанционного управления. И при этом, имея два одинаковых устройства в соседних комнатах, можно любым из двух ИК пультов управлять и тем и другим устройством без помех. Сквозь стены и двери ближний инфракрасный свет не проходит, в отличие от радиосигнала 2.4ГГц, на котором работает ZigBee. И как реализовать быструю замену вышедшему из строя радиопульту на ZigBee? С ИК нет таких проблем - купил новый пульт, вставил батарейки и готово. Просто, как и всё гениальное.


        1. Ark1774
          09.07.2021 14:45

          У ИК зато порой нужно направлять пульт точно в технику, ещё и с определённых положений, плюс пульт нужно искать/заказывать конкретно от этой модели, т.к. даже в рамках одной серии техники они могут быть несовместимы.
          Проблема прохождения сквозь стены радиосигнала решается привязкой к конкретным устройствам и выбором нужного по хоткею. Производитель экономит копейки(если считать на детали на один ТВ), а все покупатели получают кучу неудобств.


          1. drWhy
            09.07.2021 14:50
            +1

            Бывает достаточно увеличить ёмкость конденсатора на пульте, чтобы пультом можно было пулять в противоположную стену при уверенном срабатывании приёмника.

            У промышленных плазменных панелей NEC ИК-пульт мог подключаться кабелем и работал как проводной на цепочку устройств.


          1. spam-receiver
            09.07.2021 14:54

            Производитель ничего не экономит, он зарабатывает больше прибыли снижая себестоимость устройства. Если РЧ подсистема ДУ так выгодна пользователю, то попробуйте на ней заработать сами.


            1. Ark1774
              09.07.2021 17:13
              +1

              Он мог бы экономить на пульте, если бы техника работала от одного универсального или специализированно универсального(т.е. универсального, но только для кондиционеров).
              РЧ подсистема ДУ выгодна пользователю, но её должны поддерживать производители как единый стандарт, иначе это бесполезно.
              В идеале это должен быть пульт с частью универсальных кнопок и частью вынесенной на сенсорный e-ink с подсветкой(автоматической/ручной).
              У меня только в одной комнате пять пультов(монитор, колонки, вентилятор, люстра и доп свет) и я совершенно не считаю это нормальным.


              1. spam-receiver
                09.07.2021 18:59

                Лично у меня нет ни одного устройства с пультом дистанционного управления. На всю квартиру всего два универсальных ИК пульта Hama. Используются очень пожилыми родителями для единственного телевизора в их комнате, которым они пользуются по очереди. И таких примеров хоть отбавляй. Поэтому производители пока не собираются ничего менять. Как только спрос на суперуниверсальные ДУ станет массовым, немедленно последует его удовлетворение. Свято место пусто не бывает.


        1. Mike-M
          09.07.2021 17:25
          +1

          Мой пост скорее о том, как хорошо, что я в свое время не стал тратить ресурсы на работу с новой технологией, которая так и не стала массовой, несмотря на уверения ее авторов, стандартизацию альянсом Zigbee, и усиленную рекламу производителей.


          1. spam-receiver
            09.07.2021 18:50

            Это было весьма разумно с вашей стороны. Время - единственный невозобновляемый ресурс.


            1. AVX
              10.07.2021 11:10

              Спасибо! Выбрал tcl, вполне нормально работает. Одна кнопка лишняя "направление". Кондиционер не умеет произвольно менять направление, только можно качание включить и выключить когда надо.

              Но цель достигнута, это главное.


              1. zuek
                17.07.2021 11:45

                Про дубак и фильтры - штатными пиктограммами. Про всё остальное - "загадочными кодами ошибок". Мне ещё на низкий уровень фреона жаловался однажды (тоже Exxx какой-то) - не скажу, что супер-нужная инфа, но при вызове ремонтника позволило сузить диапазон возможных неисправностей.

                В принципе, то же самое можно и на теле внутреннего блока писать, но вот тут решили дисплейчик на пульт поместить...


        1. AVX
          09.07.2021 21:18

          А для timberk что выбрать, не подскажете? В списке нет такого :(


          1. zuek
            17.07.2021 11:37

            Мой кондей, например, жалуется на слишком низкую забортную температуру, на забитые фильтры, на неустановившееся состояние испарителя (если после нагрева сразу попытаться включить холод и наоборот)... не скажу, что супер-полезная информация, но вот про температуру - вполне помогает понять, что это не кондей сломался и не греет, а просто дубак за окном такой, на который данный девайс не рассчитан.


  1. zag2art
    08.07.2021 15:20

    Да, но 9600р....


    1. tzlom
      08.07.2021 22:35
      +8

      Очень дёшево, я тоже заметил


  1. AVX
    08.07.2021 15:40
    +1

    Штука нужная! И перспективы хорошие.

    К слову, у меня телефон Redmi Note 8T. В нём есть ИК передатчик. И вещь довольно удобная! Во встроенном mi remote есть довольно много устройств, для частых задач очень удобно.
    Для некоторых телевизоров (LG например) приходится ставить другие программы (штатная не работает как надо).
    В итоге, я настроил и для своего ТВ домашнего, и для ТВ у родителей, и ТВ которые в детской поликлинике (пока в очереди сидишь, а телевизор в коридоре слишком тихо или громко, или мультик не тот...)
    На хабр q&a я уже обсуждал вопрос законности — выходит, не совсем это дело законное — управлять чужими устройствами, могут и наказать за хулиганство (но это надо что-то такое делать, что будет всем мешать).
    А вот приёмника нет в нём :(


    1. Kanut
      08.07.2021 15:44
      +1

      С телевизорами всё это относительно хорошо работает на смартфонах. А вот попробуйте так кондиционер настроить или вентилятор.


  1. anonymous
    00.00.0000 00:00


  1. anonymous
    00.00.0000 00:00


  1. AlexAV1000
    08.07.2021 15:50

    Лазер туда надо поставить. Посветил в окно со 100 метров и выключил футбол.


    1. romxx
      09.07.2021 15:02
      +1

      > Посветил в окно со 100 метров

      В глаз вратарю?


      1. JerleShannara
        09.07.2021 13:44

        Смысл в том, что кондей на него ещё и ошибки сбрасывает. Плюс спокойно можно рулить с нескольких пультов, если стационарный ставить влом.


  1. JerleShannara
    08.07.2021 15:53

    Кстати говоря, есть кондиционеры с двусторонним ИК пультом, (К примеру не самые базовые Дайкины)


  1. anonymous
    00.00.0000 00:00


  1. anonymous
    00.00.0000 00:00


  1. anonymous
    00.00.0000 00:00


  1. anonymous
    00.00.0000 00:00


  1. Kellis
    08.07.2021 16:23
    +2

    Пожалуйста, не делайте кат со свернутым контентом, в rss статься пришла на несколько экранов.


    1. Mike-M
      09.07.2021 13:32
      +1

      Мне кажется, это проблема RSS, а не автора статьи.
      При чтении с десктопа — наоборот, свертка очень удобна.


  1. Viper029
    08.07.2021 16:51
    +3

    Будет ли возможность создать свой собственный универсальный пульт? Допустим, у меня есть несколько телевизоров, музыкальный центр, кондиционер и другие устройства у друзей\родных\в любимом баре. Я собираю все эти пульты в один универсальный, который перебирает только мои команды при выключении\изменении громкости\переключении канала. Понятно, что такой можно будет сделать на компе, но хотелось бы собирать его находясь в «поле» используя пульты от разной техники.


    1. Serega_Barsukov Автор
      08.07.2021 17:29
      +1

      Собрать сигналы "в поле" можно. Добавить в список для брутфорса пока только правя SD-карту

      Сейчас можно записывать ИК-сигналы, добавляя их к абстрактным пультам. То есть вы можете создать пульт "похек-на-районе", собрать интересующие вас сигналы, назвав их, например, ВЫКЛ_тв_бар, ВЫКЛ_музыка_кофейня и находясь в "поле" выбирать нужный сигнал. Так можно сразу и собрать сигналы, и использовать. Для брутофорса, собранные сигналы можно будет добавить позже, например, с компьютера.


      1. 00DVS
        08.07.2021 18:02

        Собрать сигналы "в поле" можно

        Это смог бы и любой смартфон с приклеенным фильтром ИФК-диапазона на чехле. Фильтрами и приложениями под андроид торговать планируете? ЕСЛИ с ключом - лучше в форм-факторе симки, второе гнездо под которую не так уж и нужно. А против чехла с ИФK-лазером вашим конкурирующим партнёрам предложить поди и нечего-с, разве что чехлы и лазеры у них есть


        1. Serega_Barsukov Автор
          09.07.2021 10:52

          Далеко не любой смартфон умеет записывать ИК-сигнал. Из тех что умеют, мало какие обладают хорошей чувствительностью, для перехвата сигнала на отдалении. Лично мне не известны такие.


        1. spam-receiver
          09.07.2021 12:04
          +1

          Что за ИФК-диапазон?


    1. engine9
      09.07.2021 10:12

      Забано, такое на КПК делал, там можно было даже дизайн кнопок выбирать и местоположение на «пульте». Причём, сделано было удобно: создал кнопку, нажал «запись» посветил пультом и получил аналог этой кнопки.

      Работало со всем что было дома и можно разные сигналы располагать на одном виртуальном «пульте».


  1. DocMIPT
    08.07.2021 17:12
    +2

    Самый простой способ прочитать ИК сигнал на компьютере — это подключить к TSOP 5 вольт питания, а его выход через резистор соединить с Line In звуковой карты компьютера. Дальше уже с помощью программ считывать входящий аудиосигнал. Тут даже паять ничего не надо.


  1. smart_pic
    08.07.2021 17:35

    Предусмотрена ли возможность отправлять ИК сигнал на один из пинов Флиппера? Это для того чтобы повесить дополнительные внешние ИК излучатели и физически разнести управление устройствами с одинаковыми командами?


    1. Serega_Barsukov Автор
      08.07.2021 19:33

      Штатно такого не предусмотрено. Можно сделать отдельным внешним модулем


  1. Gnuava
    08.07.2021 19:01

    А циклы есть?

    Когда, к примеру, подается в 20:00 сигнал для кондиционера о переходе в ночной режим, в 21:00 — о снижении температуры на градус, в 22:00 — на два градуса, и затем наоборот, утром?


    1. Serega_Barsukov Автор
      08.07.2021 19:28
      +1

      Такой возможности пока нет. Возможно при разработке приложения можно будет задать что-то подобное... Но это не точно:) Идея интересная!


      1. Theageoflove
        12.07.2021 19:48

        А если будет возможность не просто воспроизводить записанный сигнал, а отправлять сигнал N раз с интервалом M секунд, то флиппер станет ещё и универсальным цейтрафером. Очень полезная функция для фотолюбителей.


    1. vvzvlad
      09.07.2021 00:03

      А флиппер что, будет все это время лежать на полке? Имхо, очень специфичный кейс, попытка запихнуть во флиппер что-то, ему не очень свойственное. Купите малину, к ней шилд с ик, и будет гораздо более расширяемое решение, с возможностью настроить все это по сети к тому же.


      1. Mike-M
        09.07.2021 13:38
        -1

        … и соответствующими счетами на оплату потребляемой каждый месяц малиной электроэнергии )


        1. romxx
          09.07.2021 15:08
          -2

          … ловите «зеленого»! :)


          1. Mike-M
            09.07.2021 17:32
            +1

            Не, лучше заботьтесь о ресурсах планеты :)
            Они продолжают истощаться, в то время как мировое население неуклонно растет.
            Пусть лучше будущие поколения занимаются любовью, а не войной за место под солнцем.


        1. vvzvlad
          13.07.2021 18:36
          -1

          Там мизер. Она жрет 5В/0.8A (по факту меньше). ((5*0.8)*24*30)/1000=2.9квч, по 5 рубля это 15 рублей в месяц. Недорого за удобство.
          А если вас волнует абстрактное непричинение вреда природе, стоит для начала выключить кондиционер и потерпеть.


    1. AVX
      09.07.2021 21:29

      Кондиционеры обычно и так это умеют. У меня на прошлой квартире был general climate не особо дорогой, но там была опция на пульте, и я даже пользовался. Не помню название, но они похоже у всех разные, как и логика, может различаться. Тот у меня при этом режиме плавно менял температуру, вроде тоже на 1-2 градуса. И ещё таймер был, очень удобная штука - поставил когда включиться, когда отключиться. Например, в 15-00 включается, в 17-30 выключается. И к моему приходу с работы он успевал включиться и охладить комнату. А дальше к вечеру или необходимости уже не было, или я сам включу как надо. Но более продвинутые алгоритмы приведут к необходимости передавать целую программу с каждым нажатием кнопки пульта.


  1. smart_pic
    08.07.2021 20:41
    +1

    Что насчет интересного протокола Global Cache , который поддерживают разные производители ? Скорее всего будет невозможно по причинам которые писал выше. А жаль , в этом формате очень большая база ИК пультов.

    например http://wiki2.iridiummobile.ru/Global_Cache:_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE_%D0%98%D0%9A


    1. Serega_Barsukov Автор
      09.07.2021 12:07

      В спецификации есть формат описания данных для отправки по IR - его можно подтянуть. Но лучше, если у вас есть, пришлите базы, например в сообщениях на хабр. Тогда мы сможем ответить точнее.


      1. smart_pic
        10.07.2021 05:23

        Суть этого формата не только в том , что бы описать передаваемую последовательность , но его очень легко конвертировать с экрана осциллографа в описание импульсов. В отношении Флиппера уже задавал вопрос, но пока ответа не увидел.

        Вот здесь есть база , но она для зарегистрированных пользователей https://irdb.globalcache.com/Home/Database

        можно найти на спец ресурсах типа этого http://www.remotecentral.com/cgi-bin/mboard/forums.cgi

        Если поискать - то точно много найдется.

        Оборудование которое поддерживает этот формат достаточно много, тот же iRidium о котором здесь писали , есть и другие. Может кто из iRidium более подробно напишет о базе ИК пультов. Есть оборудование , которое сканирует ИК команды в этот формат. Есть даже очень удобные и с современным удобным веб интерфейсом.


        1. Serega_Barsukov Автор
          12.07.2021 12:17

          его очень легко конвертировать с экрана осциллографа в описание импульсов. В отношении Флиппера уже задавал вопрос, но пока ответа не увидел.

          На этот вопрос ответил utsu
          Да, для сырого формата описание состоит из частоты несущей + длительности модуляции.

          Другими словами, сигнал с осциллографа можно положить во Флиппер как сырой формат, отредактировав частоту несущей и длительности модуляций (пакеты импульсов и паузы между ними)


  1. gregox
    08.07.2021 23:44

    Скажите, а почему вы на своем сайте описали на русском как приобрести ваш девайс, а описание его самого не стали делать?


    1. agathakazar
      16.07.2021 17:13

      Справедливый вопрос, магазин ещё переделаем, но попозже.


  1. lasc
    09.07.2021 03:53

    $170 цена. Можно взять смартфон с такими функциями тот же huawei p20 с ебай


    1. CrashLogger
      09.07.2021 11:10
      +2

      Flipper - это универсальный хакерский инструмент для перехвата не только ИК, но и кучи других сигналов и протоколов. Плюс он полностью открытый с возможностью модификации как железа, так и прошивки. Можете вы сделать то же самое с huawei ?


      1. ITMatika
        09.07.2021 12:07

        Где пруфы насчёт полностью открытого проекта? Где исходники прошивки и библиотек, которые можно самостоятельно модифицировать и компилировать? Для присоединившихся к Developer Program — что-то доступно. Для остальных — пока лишь в неопределённых перспективах.
        ЗЫ
        буду рад, конечно, ошибиться, но официального ответа о полной доступности пока нет


        1. koteeq
          09.07.2021 12:39
          +2

          Официально отвечаем: прошивка будет открыта целиком и полностью, как только начнётся массовая доставка Флипперов. Также будут опубликованы все принципиальные схемы и 3D-модель внешнего каркаса корпуса.

          НЕ будут опубликованы герберы печатных плат и полные 3D-модели внутренних элементов корпуса.


          1. ITMatika
            09.07.2021 12:42
            +1

            Спасибо!
            В прошлый раз мне на этот вопрос не ответили.
            Проект только что значительно вырос в моих глазах!


            1. koteeq
              09.07.2021 12:45

              Ура!

              Кстати, принципиальные схемы уже выложены, но они успели стать неактуальными, а ещё там временно порезаны номиналы.

              3D-модели внешнего каркаса тоже есть, тоже пока неактуальные.


      1. lasc
        10.07.2021 00:07

        Про остальные то в статье нет, только про ИК. На кикстартере есть.


  1. Jeyko
    09.07.2021 05:09

    Есть радио пульты. И синезубые. Их сможет заменить?


    1. Serega_Barsukov Автор
      09.07.2021 12:39

      Радиопульт можно, в зависимости от частоты. Например SUB 1Ghz, управление которыми предусмотренно во Флиппере. Блюпупы - как пульт пока не предусмотренно.


  1. smart_pic
    09.07.2021 06:42
    +3

    За модуль ИК управления можно поставить твердую 3.

    Так как ничем не отличается от функционала смартфонов, не вносит ничего дополнительного к тому, что делает самый рядовой смартфон с ИК модулем.

    Вот эта фраза в статье: "Для проверки и отладки сигнала неизвестного ИК-протокола, надежнее всего использовать осциллограф. Если вы не уверены, что ИК-приемник работает правильно — осциллограф поможет увидеть, что именно приходит на приемник. " - окончательно ставит точки над i.

    На "ИНСТРУМЕНТ" в области ИК управления Флиппер не тянет. Поправить это уже невозможно , так как не предусмотрено в железе.


    1. spam-receiver
      09.07.2021 08:53
      +3

      Настоящему железно-софтовому хакеру заменить TSOP75338 на TSMP77000 не составляет никакого труда. В продаже имеются. Цоколёвка одинаковая. Многим это будет в удовольствие. Типа кастомный апгрейд карманной игрушки. Я бы просто добавил TSMP77000, так как потребляет не более 0.9мА (0.45мА TSOP75338). Для этого нужны: резистор и конденсатор фильтра по питанию, подтягивающий резистор 4.7кОм с выхода на питание (без него фронты и спады заваливаются на слабом ИК сигнале, форма пилообразная с неполной амплитудой), ну и проводок от него до свободного порта STM32WB55 через токоограничивающий резистор 1кОм. Ради экономии энергии аккумулятора неплохо бы ещё в цепь земли ИК приёмников добавить полевые транзисторы для их обесточивания. Проверено, работает. А портов управления у STM32WB55 предостаточно.


      1. smart_pic
        09.07.2021 11:53

        Замена на TSMP77000 решает одну проблему , но создает друю. При помощи TSMP77000 мы выделим несущую частоту. Сможем измерить частоту несущей. Но возникает проблема с получением огибающей ИК сигнала управления. Придется делать программную фильтрацию полезного сигнала.

        Добавление TSMP77000 позволяет решить проблему с определениемнесущей частоты и подстройки частоты излучения ИК светодиода. Но и то не в широком диапазоне , так как приемник TSOP75338 имеет ограниченную полосу пропускания, и мы не сможем в широком диапазоне принимать огибающую ИК сигнала.

        Для диапазона 36-38кГц в котором работает большинство пультов Флиппер будет работать. в остальных диапазонах работоспособность под вопросом.


        1. spam-receiver
          09.07.2021 12:11

          Согласен. Кроме того TSMP77000 не имеет никакой помехоустойчивости, и поэтому подходит лишь для идеальных условий обучения сигналами пультов. К сожалению универсальных и одновременно дешёвых вариантов решения задачи пока нет.


    1. Serega_Barsukov Автор
      09.07.2021 10:40
      +2

      Так как ничем не отличается от функционала смартфонов, не вносит ничего дополнительного к тому, что делает самый рядовой смартфон с ИК модулем.

      Большинство телефонов не имеет ИК-порт. Те которые имеют, в большинстве случаев не умеют захватывать ИК-сигнал.

      От телефонного ИК-порта флиппер отличается высокой чувствительностью. Это позволяет перехватить сигнал с ИК-пульта, находясь далеко от него. Большинство телефонов в продаже себе не может позволить этого. Конкретно я не знаю ни одного, у которого была бы чувствительность, позволяющая записывать сигнал на отдалении.

      Вот эта фраза в статье: "Для проверки и отладки сигнала неизвестного ИК-протокола, надежнее всего использовать осциллограф. Если вы не уверены, что ИК-приемник работает правильно — осциллограф поможет увидеть, что именно приходит на приемник. " - окончательно ставит точки над i.

      В статье я имел ввиду не доверие к приемнику Флиппера, а инженерный подход - хочешь видеть сигнал, смотри сам источник. Спасибо, что указали, где может возникнуть непонимание! Этот момент в статье я исправлю.

      Что касается ИК-приемника во Флиппере, то он отлично перехватывает сигнал и имеет точный захват таймингов. С помощью чего можно анализировать полученный сигнал.


      1. smart_pic
        09.07.2021 12:04
        +1

        По поводу растояния: оптимальное растояние 0,5-2м . При близком располажении оригинального ИК пульта и Флиппера ик приемники TSOP начинают портить тайминги ИК посылок. При растоянии более 3м и отраженном сигнале качественно измерить тайминги ИК сигнала становится проблематично.

        Из того , что видел Флиппер уверенно можно назвать достойным помощником для ИК управления. На те проблемы , что описал реально приходится не более 10% ситуаций. Но если что то возникнет - то это уже отдельная тема.


  1. divanus
    09.07.2021 10:00
    +2

    Поддержал. Сделал предзаказ.


  1. engine9
    09.07.2021 10:05
    +1

    КДПВ — творение гения :)


  1. 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.


    1. smart_pic
      09.07.2021 12:07

      эмиттер - излучатель. Совершенно верно, имеется ввиду один ИК светодиод.


  1. LSiazsaHrd
    09.07.2021 10:14

    Извините, что с таким вопросом здесь, но факт — единственное место, где проявилась данная ошибка. При оплате предзаказа при помощи Apple Pay, ругается на адрес плательщика (is not valid region in Russia). Ругается так на Москву.


    1. koteeq
      09.07.2021 12:42

      Уже давно пытаемся это решить, но наш SaaS-партнёр пока не готов на это повлиять :(

      Попробуйте, пожалуйста, указать регион Moscow (латиницей) или же использовать Apple Pay не с главной страницы, а уже после клика по ссылке «Другие способы оплаты».


  1. engine9
    09.07.2021 10:21
    +1

    Оффтопик. Раз такая тема, интересно просто из любопытства. Нашел плату от какого-то крупного МФУ, предположительно Panasonic или Kyocera. Два вот таких датчика. Один оставил, другой разобрал. Может быть местные знатоки расскажут для чего эта штука и принцип её работы?

    Предполагаю, что это датчик расстояния или считывалка штрих кода. Их было в устройстве два, располагались за механической сдвижной шторкой на одной детали. Сам девайс был уже сильно развандален и мне только эти датчики достались :)

    SMD микросхема — ОУ, заточенный на работу с фотоприёмниками, так в даташите указано. Между фото и светодиодами стоят стеклянные пластинки.

    Заголовок спойлера




    1. spam-receiver
      09.07.2021 10:41
      +1

      Предполагаю, что это датчик движения бумаги или ленты печки, с принципом работы как у сенсора оптической мыши.


  1. sergopl
    09.07.2021 12:42
    +3

    Отличная статья, особо радует описание протоколов, и методы получения и анализа кодовой посылки, даже без наличия Флиппер.

    Вместе с отзывами, где описывают другие методы или варианты обработки сигналов - статью точно буду перечитывать, реально полезно даже без Флиппера...


    1. koteeq
      09.07.2021 12:50
      +2

      Это цикл обучающих материалов, которые задумывались как полезные и без Флиппера. Эта статья в его рамках уже вторая, предыдущая была про iButton, тоже за авторством Сергея.

      Впереди ещё много :)


  1. SdrRos
    09.07.2021 12:56

    Как то попадалось описание подобного устройства, подключаемое как гарнитура к телефону (ИК диод как динамик, фотоэлемент как микрофон). Управлялось приложением на телефоне(вроде Audio IR но ещё с возможностью записи). Не проще было повторить что-то подобное?


    1. smart_pic
      09.07.2021 14:22

      Есть такие устройства. Очень часто используются для синхронного перевода на другие языки в конференц залах. Идея и реализация очень проста. На несущей , в диапазоне 50-100кГц с помощью частотной модуляции передается сигнал, на приемной стороне(беспроводная гарнитура) стоит микросхема ЧМ приемника , которая преобразует сигнал и подает его на наушники. Оборудование и схемы легко находятся по запросу "синхронный перевод ИК".

      Это немного другая область и к ИК управлению имеет самое далекое отношение.


  1. smart_pic
    09.07.2021 13:44

    Еще раз перечитал стаью. Безусловно , статья очень полезная и подробная , насколько позволял объем. Очень хорошо описание добавляют рисунки.

    Для меня осталась еще пара вопросов , которые не затронули в комментариях и нет описания в статье.

    1. Есть ли возможность редактировать сырые данные , что бы немного подчистить то, что словил Флиппер? Для более четкого формирования в дальнейшем ИК посылки.

    2. есть ли возможность "переноса" информации полученной при помощи осциллографа? Как перенести описание ИК посылки "ручным" методом , к примеру с этой картинки https://hsto.org/r/w1560/webt/um/fq/et/umfqetm2o0aywwoico969m9ruv4.png в Флиппер?

    Не нашел среди протоколов , представленных вами , протокола на приемник спутникового телевидения HUMAX , видимо потому что он немного не стандартный. )

    Кодировка пульта похожа на NEC, только не стандартно передается команда. Если записать в НЕХ виде то получится

    55AADA25___55AADA25___F50A04FB___F50A04FB , т.е вместо одной команды передается две команды, но это не две команды , а одна команда для ресивера.

    Интересно как Флиппер это распознает ?

    С повтором сырых данных думаю проблем не возникнет


    1. utsu
      09.07.2021 19:29
      +1

      1) Да, данные можно будет править.
      2) Да, для сырого формата описание состоит из частоты несущей + длительности модуляции.

      Декодер простокола под ваше устройство не выглядит как что-то необычное, просто появляется второй слой в машине состояний который собирает отдельно распознанные куски.


  1. Mike-M
    09.07.2021 13:47

    Прекрасно оформленная и полезная статья! Плюс за публикацию и в карму автору — однозначно! )

    Простой вопрос: как рассчитывали резисторы 150R и 10к в цепи затвора MOSFET, который управляет ИК-светодиодами?


    1. 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, параметров полевиков, желаемой крутизны фронтов.


      1. Mike-M
        09.07.2021 21:19

        Понятно, 150R в данном случае банально по закону Ома, спасибо.
        А что по поводу расчета 10к? Предназначение этого резистора изначально понятно. Непонятен выбор номинала. Почему, например, не 100к, как в других подобных применениях?


        1. utsu
          10.07.2021 02:23
          +1

          100к ставят там где есть потребность экономить и нет противопоказаний. 10к тоже вполне стандартный вариант, чуть более консервативный с той точки зрения что если камень уходит в резет с GPIO в HIGH, FET закроется быстрее и в общем что бы не происходило с линией или рядом с ней открыть его этим будет сложнее.
          При этом надо помнить что в HIGH через него будет течь ток, но в нашем случае это 300мкА добавляемые к 200ма диодов и это не является критичным.
          В других случаях мотивация может быть иной.


          1. Mike-M
            10.07.2021 11:53

            Спасибо, понятно.
            Если есть Application Note на эту тему, поделитесь ссылкой, пожалуйста.


            1. utsu
              10.07.2021 14:54

              Это покрывается базовой электротехникой и физикой полупроводников. Самое простое это рассматривать затвор как конденсатор и рассчитывать обвязку согласно тому что вы хотите на нем получить.


  1. S0mbre
    16.07.2021 07:43

    Спасибо за вашу работу и ее освещение! Предзаказал )


  1. dijapif
    16.08.2021 12:56

    Очень хочется такую же фичу для 2.4 GHZ (2.4G FSK) пультов. Для ИК пультов таких решений навалом, а вот для 2.4 GHZ найти не удалось. Могло бы стать уникальной киллерфичей флиппера, из-за которой я с удовольствием его купил бы! Надеюсь учтёте в будущей версии девайса.


  1. datacompboy
    13.09.2021 16:04
    +1

    Сорри за некропостинг, забыл откомментить сразу :)

    Такой перебор занимает время. Чем больше словарь, тем больше потребуется ждать, пока закончится перебор всех сигналов. Узнать, какой именно сигнал распознал телевизор, нельзя, так как у телевизора нет обратной связи.

    Можно узнать какой сингла методом дихотомии. Плюнуть пол словаря, и спросить оператора отреагировал ли телевизор. Повторять для пройденной половины (Если да) или для половины еще не пройденной (Если нет). :)


    1. Chupaka
      23.09.2021 22:36

      А я напомню, в соседнем абзаце речь про выключение телевизора, висящего в ресторане - там такие пляски весьма странно будут выглядеть :)


      1. datacompboy
        24.09.2021 14:09

        это делается через поиск команды изменения громкости. это можно сделать в ресторане ;) после чего уже остальные кнопки из того же набора юзать.