Описание проблемы
Я смотрю фильмы на большом ЖК телевизоре. Информация подается через HDMI кабель c компьютера, который домашние называют «сервер». Это строго говоря не сервер, а более-менее стандартный компьютер под управлением Windows 10, с большими дисками для хранения общесемейной информации, в том числе – фильмов, оптимизированный под минимальный акустический шум.
Для воспроизведения фильмов используется программа KODI (Open Source Home Theater Software).
Обычный сценарий использования KODI таков: программируемым ИК пультом телевизор переключается в режим HDMI входа, затем в руки берется Bluetooth пульт и им включается нужный медиа-файл на воспроизведение. Фото пульта показано на рис. 1.
Рис 1. Mini wireless touchpad and keyboard
Пульт может работать в двух режимах: как тачпад и как клавиатура. Питается пульт от литиевого аккумулятора, который требует зарядки примерно раз в месяц.
Чаще всего выполняемая операция на таком пульте – пауза и отмена паузы, обычно для ответа на звонок телефона или на поговорить с домашними. В моем случае есть еще одна проблема – верхние соседи делают ремонт в режиме «до основания и затем» и внезапный грохот отбойника над головой сильно мешает восприятию фильма.
Bluetooth пультом надо выполнить несколько операций: нажать кнопку для активации и повозить пальцем по тачпаду. Использовать надо обе руки — одной держать его, второй управлять.
Рядом так же лежит ИК программируемый пульт, купленный в Ашане за небольшие деньги и оказавшийся вполне вменяемым и удобным. Марка пульта GAL LM-S005L. Возможности пульта стандартны: он имеет 8 наборов команд, каждый из которых может быть либо закодирован на выполнение стандартного набора кодов конкретного устройства из списка, либо запомнить команду родного пульта и присвоить ее какой-либо кнопке. Есть кнопка DIY, которая позволяет создать макрокоманду. Есть ограничение по суммарному количеству программируемых кнопок, я с этим ограничением не столкнулся. Внешний вид пульта показан на рис.2.
Рис 2. Программируемый пульт GAL LM-S005L
Постановка задачи
Подавать команды KODI таким пультом было бы здорово – нажать одну кнопку удобнее операций с тачпадом.
Изучение проблемы
Поиск информации по управлению KODI показал, что управлять KODI можно добавив в систему ИК приемник с драйвером и набор программ, реагирующих на данные от ИК приемника и транслирующих их в KODI.
USB ИК приемник я нашел на балконе, он оказался рабочим. Однако при попытке установить его на сервер оказалось, что драйверов для 64 бит Windows 10 машины нет. Быстрый поиск по магазинам и Авито показал, что купить ИК приемник невозможно – их нет в продаже от слова совсем.
Этот путь оказался тупиковым.
Есть еще один путь внешнего управления KODI: это JSON команды по адресу KODI WWW сервера.
В моем случае KODI WWW server уже был настроен, что позволяло с любой домашней машины заходить на этот сервер и управлять KODI.
Среди JSON команд есть команды «Пауза», «Стоп», «Следующий файл», «Предыдущий файл».
Подробное описание JSON команд тут
https://kodi.wiki/view/JSON-RPC_API/v12
Техническое задание
Требуется сделать устройство, способное принимать ИК команды и вырабатывать JSON посылки для KODI.
Выполнение ТЗ
Для определения частоты несущей команд от ИК пульта я воспользовался самодельным прибором, способным измерить параметры ИК потока и показать спектр измеренного сигнала. Мой пульт излучает на частоте 38 КГц. Фото экрана показано на рис 3.
Рис 3. Фото экрана прибора с отображением FFT для определения несущей пульта
Для приема ИК команд нужен модуль приема ИК команд. Такие модули выпускаются Vishay, например, TSOP1738 или TL1838 от HK Shanhai Group.
ИК приемника у меня не было в тот момент. Впоследствии оказалось, что таки был! Купил года четыре назад в Чипе и Дипе для одного из своих проектов, но применил в итоге другое решение и напрочь забыл о купленном. Плюшкин, да :).
Ехать в Чип не хотелось, поэтому я вырезал Дремелем ИК приемник вместе с обвязкой из неисправного DVB-С/T2 приемника. Рассмотрев устройство под микроскопом, я считал его название и нашел мануал. Тип ИК приемника TL1838. То, что надо на 38 Кгц. Обвязка приемника была сделана не совсем по мануалу, отсутствовал резистор фильтра по питанию номиналом 51 Ом. Его я припаял прямо на разъем, в свою очередь прикрепленный к вырезанной платке. Фото получившегося безобразия представлено на рис 4.
Рис 4. Приемник ИК излучения TL1838 с обвязкой
Модули ESP8266 и ESP32 уже имелись, были куплены на Али давно.
Для приема и расшифровки команд от ИК пультов я использовал библиотеку IRRemoteEsp8266 из репозитория Arduino.
Схему подключения не привожу из-за очевидной простоты, ИК приемник был подключен тремя проводами в соответствии с указаниями в использованной программе для обработки ИК команд. Выход приемника подключен на вывод D15 ESP32 (он же GPIO15), расположенный рядом с выводами +3.3 вольта и общий, для питания приемника.
Эксперименты с ESP32 и ESP8266 показали, что ESP32 работает с данной программой лучше. ESP32 и был использован.
Запустив демо из выше упомянутой библиотеки (IRreceivedemo) я обнаружил, что программируемый пульт генерирует команды несколько своеобразно. Так, некоторые команды декодируются по-разному при каждом нажатии кнопки: Например, при нажатии кнопки пульта STOP будет принята 32-х битная посылка, в которой младшая группа будет всегда одинакова (0x273F), а старшая меняются между 0x0000 и 0x0001 строго через раз. Т.е. первое нажатие даст код 0x0000273F, а второе 0x0001273F и т.д.
Некоторые клавиши генерируют код команды (всегда один и тот же), но дополнительно сопровождают их некоторым количеством (4-5) посылок типа 0xFFFFFFFF. Т.е. на одно нажатие прилетает много команд.
Эти глюки отсутствует при использовании родного пульта от ТВ, который был использован для обучения.
Я попробовал переобучить пульт, но успеха не достиг – клавиши с повторами так и остались с ними, клавиши, генерирующие два кода через раз, тоже остались.
Предположительно, глюки в программе распознавания и\или генерации посылок в программируемом пульте.
К счастью, младшая группа всегда давала один и тот же результат, и я остановился на выделении этой младшей группы и дальнейшем ее использовании в группе операторов IF.
Я использовал эту программу IRreceivedemo в качестве основы для своей. Я добавил модуль обработки принятого кода и подпрограмму kodi.
Модуль обработки принятого IR кода выделяет постоянную часть и проверяет его на принадлежность к одному их правильных кодов. Если обнаружен один из кодов управления KODI, то происходит вызов подпрограммы kodi.
В подпрограмме kodi формируется нужная JSON строка, открывается канал к серверу, посылается запрос и ожидается ответ от сервера.
В процессе отладки обнаружилось, что записать в переменную типа String JSON запрос, в котором внутри используются двойные кавычки " невозможно. Компилятор преобразует такую строку в число.
Исправил ситуацию заменой двойных кавычек на одинарные в тексте запроса и выполняя затем контекстную замену символа одинарной кавычки на двойную.
Это делалось в процессе отладки сбоящей программы. Сервер возвращал ответ «ошибка 415», которая означает, что он меня не понял.
Поначалу я думал, что проблема в одинарных кавычках, поэтому и применил замену одинарных кавычек на двойные.
Проблема же оказалась в неверном заголовке посылки: надо «Content-Type», «application/json», а у меня было «text/json».
Проверять, работает ли JSON запрос с одинарными кавычками мне было лень и я оставил программу as is.
Делать корпус для устройства я не стал, просто повесил ESP32 c ИК приемником коротким кабелем на ресивер от МТС, благо в нем 2 USB порта. Железяка подключенный ESP32 не распознала и просто подает +5 вольт на него, что мне и было надо. Внешний вид готового устройства, подключенного к ресиверу МТС, показан на рис. 5
Рис 5. Генератор JSON команд, подключенный к МТС ресиверу.
Через несколько дней эксплуатации устройства мне пришла в голову очередная мысль для неувеличения энтропии Вселенной :)
У меня дома использованы выключатели Livolo для управления светом. Эти выключатели могут управляться сенсорной панелью и дистанционно радиокомандой на частоте 433 МГц. Для дистанционного управления имеется родной пультик от Livolo, а также модуль на Ардуино Нано, который управляет передатчиком на частоте 433 МГц и умеет генерировать команды для всех выключателей в квартире. Ардуино Нано подключен к безвентиляторной управляющей машине, на которой поднят IIS, который умеет принимать команды по HTTP и транслировать их в команды в Ардуино Нано, а тот уже генерирует радиокоманды, которыми управляются выключатели Livolo. Идея заключалась в добавлении дополнительной функциональности для управления светом от ИК пульта. Т.е. если хочется спать – то можно остановить проигрывание медиа в KODI, выключить телевизор и выключить свет как в комнате, так и вообще везде и сделать это все нажатием трех кнопок на ИК пульте.
Для реализации этой функциональности я добавил распознавание еще четырех кнопок ИК пульта: красной, зеленой, желтой и синей. По нажатию одной из этих кнопок управление передается подпрограмме svet(). Эта подпрограмма выполняет вызов соответствующего URL, что и приводит к изменению состояния соответствующего выключателя.
Заключение
Поставленная задача «управлять KODI» ИК пультом выполнена, команды отрабатываются беспроблемно, пользоваться пультом удобнее, чем тачпадом. Попутно реализована дополнительная функциональность управления светом.
Программу можно скачать здесь
https://github.com/Winnie0The0Pooh/ESP32_IR_to_KODI_JSON/
Но за старания конечно большой плюс. Задача решена, хоть и с избытком ))
рип на 14гб это хорошо. Особенно если телевизор 4к и рип качественный. Но лично я со своего дивана разницы между 720р и 1080р не вижу. Поэтому не заморачиваюсь и сочувствую тем кто видит ))
И кстати, на пиратских серверах большинство лежит в 1080р и можно стримить с таким разрешением. Так что если интернет позволяет…
Я свои фото со смартфона не успеваю как следует посмотреть. Чужие фото смотрю только превью.
Есть подписка на КИНОПОИСК, но за последний месяц смотрел один фильм и то ради тестирования модема.
От куда люди берут свободное время???
Скажу по секрету я тоже ничего не смотрел ни онлайн, ни скачивая фильм…
Мы с женой отвели под это вечер субботы (фильм какой-нибудь), а также утро воскресенья (сериал можно пару серий посмотреть).
И когда это действительно нечастое и запланированное событие, то возникает и желание организовать этот просмотр хорошо — мы по возможности вообще стараемся фильмы на дисках BD UHD 4k покупать или на крайний случай на обычных BD — ежли уж получать удовольствие, то не от пережатых торрентов.
И вообще, нужен сейчас кому-то телевизор или достаточно смарт-телефона на все случаи жизни?
Подобные вещи должны доставлять удовольствие — а иначе нет смысла и заморачиваться.
Помню была такая скорость в 2006 году — тоска.
overclockers.ru/itnews/show/92536/filmy-so-zvukom-dolby-atmos-na-russkom-yazyke-stali-dostupny-na-nvidia-shield-tv
Покупать фильмы ты конечно же не планируешь?
www.ozon.ru/category/video-13000/?sound=121592%2C94312
На иви почти 400 фильмов 4к, звук там разный, но есть подозрение что и ты со своим утонченным вкусом найдёшь что посмотреть.)
www.cableman.ru/content/tri-onlain-kinoteatra-vozglavili-reiting-dostupnosti-4k-kontenta
Да не планирую, поскольку фильмов из моей коллекции в продаже не видел.
Я ещё в 2005 наигрался с многоканальным звуком — dts были(на ДВД болванках) только англ дороги…
Что за фильмы которых нет в продаже?
А вы хорошо искали???
«Или попробуйте настроить тв бокс для этого.»
На ТВ боксе смотрю рипы по 25-50 гигов. Контента полно.
Проблема с выводом многоканала, т.н. битстрим, к тому же у андроид нет поддержки 24-битного звука. А все хайрес форматы 24/96.
Но этот проект не про деньги, это решение не из разряда «купил дорогой ТВ бокс, он клёвый».
Автор решил задачу максимально использовав те ресурсы которые у него есть: «железо» из наличия, умения и мозги.
Такая работа приносит удовлетворение.
Автору респект и +
По vpn зашел, закинул торрент через трансмишн ремоут и вечером смотришь.
И больше ничего не нужно на тв-боксе.
*elec — не оболочка, а ОС.
Шить — громко сказано. Просто перезагрузить приставку с нажатой reset и вставленной флешкой.
Внутренний NAND остаётся нетронутым.
При этом, например, всё управляется родным пультом ТВ (HDMI CEC) и ещё много чего приятного.
Кажется сложным только со стороны. Всё очень просто и быстро (правда, для SOC на Amlogic (905/912).
По сути получается чистый смарт-тв. С одним пультом. Даже пенсионеры справились. Аэромышь и клавиатура нафиг не нужна :)
Аэромышь и клава к ТВ? Нет, спасибо. Наигрались и выбросили.
Если посмотреть онлайн кино, то проще на смартфоне в hdvideobox или youtube его найти, выбрать «поделиться» и отправить на бокс (так можно).
ТВ даже сам включится (спасибо hdmi cec)и начнёт проигрывание (смарт отправляет только ссылку и далее не участвует).
При выключении ТВ воспроизведение ставится на паузу. И т.д.
Естественно, боксом через смарт можно полностью управлять (в т.ч. и запускать проигрывание домашней медиатеки с сетевых хранилищ).
ИМХО, ТВ бокс + *elec с большим запасом перекрывает функционал самого навороченного смарт-ТВ (разве только нет голосового поиска? еще не наигрались?).
За последние пару лет штук 15 боксов приобретено и подключено себе в семью и знакомым. В т.ч. пенсионерам 60+ (Попробуйте дать пенсионеру аэромышь и микро-клавиатуру).
Пока возвращаться с *elec на android или тв-бокс обратно не захотелось никому.
Некоторые сильно расстроились, что переплатили за смарт-тв (который только за присутствие рекламы в ютубе включать не хочется).
Очень популярная софтина была во времена ИК приемников для COM порта.
Добавьте, пожалуйста, заглавное фото обзора.
И всё, сервер с Kodi, управляемый с дивана!
На фото в процессе отладки. Потом уже красиво в корпус системника спрятал.
Ну и плюс заранее купленного железа на попробовать оказалось много.
Не выбрасывать же? Использую, пусть и неоптимальным способом :)
Комп (ION2 Intel Atom 525) в одной комнате,
древний плеер Asus O!Play HDP-R1 (ТВ, УМ, АС) — в другой,
Ethernet кабель от плеера к роутеру DIR-320.
Т.е. дополнительное оборудование — 10м кабеля от плеера к роутеру. )))
Примерно так:
/**** Define Remote control keys ****/
#define vol_up 248
#define vol_down 208
#define kodi 82
и т.д.
Затем:
/* Assign functions to the buttons */
if (Data_back == vol_up) {
TrinketHidCombo.pressMultimediaKey(MMKEY_VOL_UP);
} else if (Data_back == vol_down) {
TrinketHidCombo.pressMultimediaKey(MMKEY_VOL_DOWN);
} else if (Data_back == kodi) {
TrinketHidCombo.pressKey(0x03, KEYCODE_W);
и т.д.
Устройство видится компом, как клавиатура. В моём случае я задействовал почти все кнопки пульта, кроме цветных кнопок, на которые уже не смог придумать нужного действия.
2.Решить эту проблему.
3. Перейти к пункту 1. (и так до бесконечности.....)
За прямые руки и за описание текста конечно плюс. Всё таки не поленились и рассказали. Но в целом это проблема высосанная из пальца и затем успешно решенная. (а может быть и не успешно, как посмотреть)
А оно вон чо… :-)
Кстати ещё удобно было то, что в гирдере было видно, какая система команд используется пультом.
Я пробовал много разных вариантов дистанционного управления, где-то даже есть плата которая должна была ументь включать ПК, а не только выключать.
Также в то время товарищ переписал программу которая была для известной модели на 16f84 под at90s2313, причём по моему даже без исходников.
А вот с использованием устройства in question — легко.
Вернее не так, у материнок и был вход wol, но туда ЕМНИП как раз подключался сигнал от сетевой карты, с платой ИК управления сигнал давала она, но это была просто подача напряжения.
Называлась эта схема — UIRT2, дома плата почти собранная лежит до сих пор.
Я использовал долгое время схему URCR с PIC16F84.
Universal Media Server требует меньше телодвижений и ставит признак просмотренного фильма — удобно для сериалов.
В-целом согласен, так и пользуюсь.
На компе надо поставить hms — по трудозатратам несопоставимо с тем, что сделал автор, так что я считаю это тоже из той же самой коробки.
Кстати, у меня позиция в фильме запоминается до перезапуска телевизора или сервера. Чья это заслуга — сказать затрудняюсь.
Но пультом — удобнее :)
Нету у меня ирлинков и совместимых приемников. Покупать старье прошлого века — ну нет, увольте.
А вот размять мозг и сделать нечто свое — это мы завсегда :))
Удовольствие от творчества бесценно :)
Сделал из толстого акрила, немного затёр, чтобы корпус стал полупрозрачным. На фото видно также IR-светодиод у приёмного окошка ТВ:
Спрятал бы проводки за матовой пленкой было бы на 5 +
Управление по ик удобно если кроме коди есть еще ресивер, в противном случае лучше hdmi-cec. Для пк есть hdmi-cec адаптер pulse eight. У меня где то один завалялся. Если нужен кому- пишите в личку
У меня на стене висит импровизированный «пульт» с Arduino Nano и IR-передатчиками, реализует сценарии вроде «одним нажатием кнопки включить ТВ-приставку, аудио 5.1 и запустить ТВ с нужным HDMI-входом»
Самым сложным было нагуглить «discrete IR codes» с тайными командами для ТВ и аудио 5.1, которые нельзя считать с пульта. Например пульт выдаёт только универсальную команду «вкл-выкл». В зависимости от текущего состояния ТВ или включается, или выключается. А если знать дискретную команду «включиться» и послать её — то включённый ТВ её проигнорирует, а выключенный — исполнит.
А про 240 МГц… Вопрос неоднозначный. С одной стороны — вроде бы оверкилл…
А с другой — цена сопоставима, возможностей существенно больше, ресурсов человека на решение задачи тратится гораздо меньше.
А что у нас невозобновляемый ресурс? Личное время. Лично для меня мое время гораздо ценнее, чем тактовая частота процессора.
атемега сама по себе wifi не потянет
Как по мне, так не хватает облачного сервиса — без него проект кажется незавершённым.
По облачным сервисам — лично я принципиальный противник использования таких сервисов. Только локально и независимо.
Сарказм мне Ваш понятен, но ответил всерьез.
Кстати, wifi для неё — тоже не очень хорошее решение.
Касаемо самой проблемы — развлекался подобными штуковинами 12+ лет назад — проще было бы поставить линух и не иметь никаких проблем. Тем более что Windows для всего сложнее чем игрушки или word — это исключительно набор проблем, которые нужно героически преодолевать.
Ну а новый софт — это всегда новые возможные глюки. Перекосило у вас что-то слегка из-за новой питоновской библиотеки — ну так сделайте pip install указав версию рабочую, да и будет вам счастье…
Мне как-то без включённых unattended-upgrades неспокойно. Но они часто ломают систему, так что убунта не безгрешна.
Ну и опять же не путайте надёжность и безопасность — в большинстве европейских клиник внутренние сети физически не подключены к интернету, именно по требованиям безопасности (хотя и не всегда так). У тех же американцев с этим гораздо вольнее.
А отваливаться он будет даже в идеальных условиях. А уж в реальных, и особенно в многоквартирных домах, он будет и отваливаться, и лагать, и тормозить. В случае UDP это гарантированная потеря кучи данных. Ну и даже в случае TCP большинство девайсов не будет ждать восстановления коннекта чтобы посылать данные ещё раз. Так что если автоматизация, и обязательно надо чтобы беспроводная, то лучше использовать то, что было разработано для «медленно, но надёжно» — zigbee, z-wave, ble, knx-rf — много их. А если устройству нужна именно сеть, но установлено оно стационарно, то лучше старого доброго ethernet ничего не придумать.
Я живу как раз в многоквартирном доме, WiFi 2.4 конечно забит донельзя.
Но у меня для IOT выделен маленький отдельный рутер и все устройства работают беспроблемно. ПОтерь информации не наблюдаю, самое старое устройство лет 10 как ежеминутно сообщает о состоянии водяных счетчиков.
Зато теперь надёжно. Когда я экспериментировал с управлением через wifi, надёжность меня не устроила.
Что означает «надежность не устроила»?
Какие были заданы критерии надежности и что именно не получилось реализовать?
А WiFi иногда отваливается по самым разным причинам — имеет право. Особенно на всяких ESP, не отличающихся сложной и вылизанной реализацией этой части.
Так что если говорить о критериях надёжности — мне нужно, чтобы работало всегда. Даже если мы говорим не о критичных приложениях, типа освещения, то меня категорически не устроит, если свет во дворе или в коридоре не включится вечером по таймеру. И уж тем более не устроит, если он не будет включаться-выключаться при нажатии на кнопку. Всегда.
Ну а если говорить про счётчик воды, то на него как раз у меня никакой автоматизации не подключено. Два раза в год приходит специально обученный товарищ и снимает показания этого счётчика (сам счётчик живёт за пределами территории дома, в небольшом колодце под чугунным люком) — это его работа и не будем ему мешать.
Я ожидал прочитать что-то более-менее инженерное, например:
«Я хочу, чтобы надежность работы гаражных ворот составляла не менее 98%. Термин „Надежность гаражных ворот“ я определяю так: „команда открыть и закрыть была подана 1000 раз и 988 раз была правильно отработана“, т.е. вероятность правильной работы ворот 98.8%. Я проверил работу ESP и в моем случае она составила 95% по заданным мной критериям. Я проверил работу Zigbee и надежность составила 99%. ПОэтому я выбрал Zigbee.»
Естественно, требуется также подробное описание условий эксперимента.
Или скажем Вы обосновали бы свою точку зрения ссылками на серьезные исследования сравнительной надежности радиоканалов для разных типов передачи.
Вот такой стиль изложения технической информации мне, инженеру, понятен. А лирику в стиле «мне нужно, чтобы работало всегда» — это я не понимаю.
А вот дома я вполне могу быть субъективным и полагаться исключительно на результаты собственных наблюдений.
Я попробовал несколько устройств с WiFi в домашнем обиходе (несколько разных лампочек, sonoff с альтернативной прошивкой, всякие rpi подключённые по wifi) в качестве PoC — мне не понравилось. Оно иногда отваливалось, и причина этого — отнюдь не моя криворукость.
Я попробовал лампочки с zigbee (опять же вначале ограниченное количество в режиме PoC) — понравилось. Поставил бридж KNX — Philips HUE — опять же, стабильнейше работает всё. После этого и стал расширять всё в этом направлении.
Да, а для того чтобы излагать информацию в стиле, который вам нравится, нужно вначале проводить полноценные серьёзные испытания. Определившись с методологией, критериями и прочим.
Или что ещё хуже — как вы предлагаете искать какие-то «серьёзные исследования», а потом пытаться запихнуть данного сферического коня в вакууме в рамки моей скромной задачи, чтобы получить какие-то выводы чуть более ценные, чем предсказание погоды в Антарктиде.
У меня на это нет ни времени ни сил (и опять же, мне как инженеру более чем хватает этого на работе). А брать цифры с потолка и пытаться придать им «учёности», излагая их типа «по стандарту» — вот это как раз не наши методы.
Я узнал, все что хотел, спасибо.
www.philips-hue.com/it-it/p/hue-bridge-hue/8718696511800
А питаю через активный poe-splitter.
Розеток я особо не любитель, но есть несколько (для приложений типа гирлянды на ёлке), тоже philips и innr — определяются именно как розетки (и в алексе тоже розетками показываются), работают без проблем.
Возможно через API можно и чего-то дополнительное зацепить, что не получится добавить в приложении, но у меня не возникало таких ситуаций. Я просто перед покупкой чего-то нового смотрю, чтобы оно было совместимо с этим бриджем.
У бати есть Samsung smartTV достаточно свежий, года 2-3 ему. Хотел подключить к нему airmouse с клавиатурой.
Погуглил, вроде должно работать, но не все мыши и не со всеми телевизорами.
У меня Mele F10pro и G7 были мыши. Не хотят работать. Реакция на какие-то кнопки была, но неадекватная, и в настройках не видны в подключеных устройствах. Все меню облазил, не добился ничего.
Может какие-то нюансы есть, кто-нибудь пробовал? Реально это?
Может модель проверенная есть, которая работает с Samsung.
Попытаюсь еще, может найдется что.
В Ардуине работает программа, слушающая сериал порт и по приходу одной из команд передается радио-команда. К Ардуине подключен передатчик на 433 МГц.
IIS по получению GET запроса выводит одну из команд в сериал порт и слушает ответ. Ардуина по выполнению команды ответит чем-то типа ОК.
Я возможно неточно понял, что Вы хотите узнать, уточните вопрос тогда.
И почему именно KODI? Чем плох MPC?
точнее нет поверхности для, иногда
mpc не показываект длаже ютуб не говоря прро прочие онлайн источники (или я чего то не знаю :)
Пока курю вот это вот — forum.arduino.cc/index.php?topic=153525.0
Передатчик и приемник подключаются к Ардуине примитивно просто — земля, питание и сигнальный.
И передатчик и приемник куплены горстями на Али. Не специально, так получилось :) ПРодаван почему-то послал заказ три раза и пропал совсем.
Программой ReceiveDemo_Simple я прочитал пультик от Ливоло:
Decimal: 1298880 (24Bit) Binary: 000100111101000111000000 Tri-State: 0F011F0F1000 PulseLength: 261 microseconds Protocol: 1
Raw data: 8108,228,816,224,820,224,812,748,308,220,816,224,820,744,296,752,288,748,296,752,296,216,824,748,296,220,816,232,816,224,816,748,292,752,296,752,292,228,820,220,820,224,824,220,820,216,820,228,812,
B
Decimal: 1298736 (24Bit) Binary: 000100111101000100110000 Tri-State: 0F011F0F0100{, PulseLength: 261 microseconds Protocol: 1
Raw data: 8108,236,808,228,816,228,816,748,292,232,808,232,808,752,292,752,292,748,292,752,292,228,816,756,284,228,816,228,812,232,812,752,288,232,816,224,820,752,288,752,292,228,812,232,812,232,808,232,812,
C
Decimal: 1298700 (24Bit) Binary: 000100111101000100001100 Tri-State: 0F011F0F00100 PulseLength: 261 microseconds Protocol: 1
Raw data: 8112,224,816,228,816,224,816,748,296,232,808,228,816,748,296,744,296,748,296,748,296,224,816,748,300,220,820,220,828,216,820,748,292,228,812,228,820,220,820,224,816,748,296,744,296,228,816,224,816,
D
Decimal: 1298691 (24Bit) Binary: 000100111101000100000011 Tri-State: 0F011F0F0001 PulseLength: 261 microseconds Protocol: 1
Raw data: 8108,228,816,228,812,228,816,748,292,232,812,228,816,748,292,748,292,752,292,748,296,224,820,752,288,228,816,224,824,216,816,752,292,228,816,224,812,228,816,228,816,224,816,228,812,748,296,748,292,
И потом вставил эти полученные коды в программу посылки, взяв за основу SendDemo
Для управления другими выключателями я чуть-чуть изменял код, например 1298736 заменял на 1298737 и обучал выключатель этому коду.
Вот и все. ПРоблем никаких я не помню.