Usb ir receiver что это
Самый классный пульт, который можно найти на данный момент у китайцев, есть джойстик для управления мышью и множество различных функций, например 4 программируемые кнопки, реализованные как горячие клавиши Ctrl+Alt+A(B,C,D) — присваиваешь любому ярлыку горячую клавишу и запускаешь с пульта — супер! Сам пульт достаточно компактный, угол приемника шикарный. Очень удобно, если смотришь кино на телевизоре, подключенном к компьютеру.
- 12 мая 2011, 17:25
- автор: randomomsk
- просмотры: 7190
Заметил интересную вещь. У меня комп настроен на включение по double-click мышкой. Так у меня теперь комп включается каждый раз, когда я ТЕЛЕВИЗИОННЫМ пультом добавляю или убавляю громкость. Странно это :)
Тоже так подумал, но потом потыкал все кнопки на сабжевом пульте — комп включается только если два раза щелкнуть кнопку Left mouse button — то есть как и задумано на компе. Но ИК коды звука и каналов на ТВ пульте не совпадают, т.к. при нажатии на них левая кнопка мыши не щелкается.
аналогично подтверждаю, писал в другом месте, пульт своего стоит, заказывал два(разных) этот — оставил себе.
один только вопрос — у кого-нибудь пауза работает при просмотре фильма? у меня не работает почему-то ;((
Под linux заработало сразу, как только подключил! Сам не ожидал!
Работают почти все кнопки, но при желании можно настроить все
Вот и доехала ко мне эта штуковина. Уже пару дней успел потестить. Из замеченных минусов: нет индикации в каком режиме работает NumLock блок клавиш — иногда раздражает когда хотел нажать стрелку или Esc, а оно отправило нажатие буквы; ещё смущает тонкий шнурок usb-приёмника. Что понравилось: компактный размер, широкий угол приема и при этом сигнал прекрасно отражается от стен :)
В linux практически все кнопки сходу работали правильно, ну или почти правильно. Вообщем, если до этого настраивали мультимедиа клавиатуру, то проблем не возникнет.
Отличная вещь) подключилась к компу сразу (WinXP), дальность хорошая, легкий. Теперь можно ленится и включать с дивана любимые фильмы
Подготовка к работе.
Подготовка к программированию FLIRC. (я сам не ожидал, что будет так все не просто).
1. Замените батарейки на новые (желательно качественные) в пульте ДУ который будет использоваться для программирования FLIRC.
2. Вычислите все кнопки пульта ДУ которые НЕ задействованы в управлении телевизора при подключенном HTPC. (например у меня цифровые кнопки пульта ДУ оказывается используются для переключения канала даже при подключенном HTPC). Только НЕ используемые кнопки пульта ДУ могут быть запрограммированы FLIRC.
фото 3.
За фига? – не знаю как будет у Вас, но я два дня потерял пока не понял этой фишки – IR приемник в устройстве FLIRC очень чувствительный и реагирует на очень слабый сигнал (улавливает IR излучение чуть ли не от ладони руки, что приводит к не возможности его программирования), а включении галки в меню File -> Advanced settings -> Noise Canceler – переводит его в режим бесчувственной болванки. Мой пульт ДУ в легкую пробивает двойной слой фольги с расстояния в 10-30 см.
Программирование (обучение командам) FLIRC.
Суть программирования – записать IR сигнал с пульта ДУ и ассоциировать с ним HID команду (эмуляция нажатия клавиши на клавиатуре ПК). То есть фактически FLIRC преобразовывает нажатия кнопок на пульте ДУ в нажатия клавиш клавиатуры. Поэтому программировать FLIRC можно на одном компе, а использовать на другом, так как команды записаны внутри самого устройства.
1.Необходимо очистить все команды которые были записаны в устройство. Через ПО FLIRC (GUI) меню File -> Clear Configuration.
рис.4
2.Необходимо задать режимы работы устройства, через ПО FLIRC (GUI) меню File -> Advanced settings – убрать галку «Builtin Profiles» (нужна только для МСЕ), в общем сделать как на рисунке 3.
рис.3
3.Запись команды через ПО FLIRC (GUI) .
3.1.На клавиатуре нажать Win+R ввести CMD.EXE, перейти в папку cd “C:\Programm Files (x86)\Flirc\”, выполнить команду “flirc_util.exe keys”
рис.5
Должна появится надпись “No Keys Found” – если этой надписи нет, то повторите пункты 1 и 2. И обратите внимание на то, что после “flirc_util“ необходимо набирать .EXE
“No Keys Found” – означает, что никаких команд в память устройства не записано и можно начинать их запись.
3.2. В программе FLIRC (GUI) через меню «Controllers» выбрать «Full Keyboard».
3.3.1. На экране появится изображение клавиатуры, внизу будет надпись «Click a key to start recording»,
рис.6
3.3.2. на появившейся на экране клавиатуре, мышкой выбрать кнопки левый “Ctrl”, левый “Alt” и “1” – снизу появится надпись «Press the button to be prepared with ‘lconrol+lalt+1’»
рис.7
Вот собственно и записали команду в устройство, при нажатии на пульте кнопки «1» устройство FLIRC в компьютер будет посылать одновременное нажатие клавиш на клавиатуре левый “Ctrl”, левый “Alt” и “1”.
3.3.4.Для проверки записанной команды, нажмите на пульте ДУ кнопку «1», на экранной клавиатуре должны подсветиться зеленым левый “Ctrl”, левый “Alt” и “1”.
рис.9
3.3.5.В открытом в пункте 3.1. окне повторить команду “flirc_util.exe keys”.
рис.10
На экране отобразится записанная команда под «Index»-ом – «0» будет «key» — «left_ctrl+left_alt+!».
3.4. Если при проверке в пункте 3.3.4 на экране не подсвечивались зеленым левый “Ctrl”, левый “Alt” и “1” – то это значить что вместо команды с пульта ДУ, устройство записало тепловой шум –это бывает довольно часто, даже не смотря на экранирование устройства фольгой. Записанную шумовую команду нужно удалить из устройства нажав кнопку «Erase» (либо командой «flirc_util.exe delete_index X» — где «X» — индекс последней записанной команды.)
рис.11
3.5. Повторяя пункты 3.3.1. – 3.3.5. и перебирая все незанятые на пульте ДУ кнопки, для полного программирования устройства FLIRC. Не рекомендую использовать для клавиатурных сокращений буквенные клавиши на клавиатуре, так как при переключении языка ввода с «EN» на «RU» — они работать не будут. Используйте цифры от «0 до 9» и функциональные клавиши «F1- F12», в месте с различными комбинациями клавиш «Ctrl, Alt, Shift»
Вот примерное видео пунктов 3.3.1-3.3.4
4. Запись команды через ПО flirc_util.exe .
Для управления курсором мыши на экране с пульта ДУ телевизора, можно также использовать устройство FLIRC, для этого воспользуемся специальными возможностями Windows.
4.2.Найдите на пульте ДУ девять (3х3) расположенных рядом кнопок, их нужно запрограммировать на нажатия клавиш на цифровом блоке клавиатуры
4.3. На клавиатуре нажать Win+R ввести CMD.EXE, перейти в папку cd “C:\Programm Files (x86)\Flirc\”
4.4. Выполните команду “flirc_util.exe record_api 0 89”, и нажмите на пульте ДУ кнопку отвечающую за движение мыши вниз-влево. Команда будет записана.
рис.14
4.5. Нажмите на пульте ДУ еще раз на эту копку, курсор мыши должен двигаться на экране вниз-влево.
4.6. Если курсор мыши не двигается, удалите последнюю записанную команду как в пункте 3.4 и повторите пункты 4.4.-4.5 пока не получите необходимого результата.
рис.15
4.7. В команде “flirc_util.exe record_api 0 89” — числа от 89 до 97 — соответствуют клавишам от 1 до 9 на цифровом блоке клавиатуры, код 93 соответствует клавише 5 — то есть нажатию на кнопку мыши. Повторите пункты 4.4. — 4.6. для всех девяти кнопок пульта ДУ, соответственно.
Настройка Ace Stream Player для работы с пультом ДУ.
Выберите в настройках Ace Stream Player горячие клавиши, и просто прощелкайте на пульте ДУ необходимые кнопки. Перезапустите Ace Stream Player.
Включение компьютера от кнопки с пульта ДУ.
Для устройства FLIRC заявлена функция кнопки пробуждения из сна «WAKE», но для ее работы необходимо чтобы через BIOS компьютера можно было разрешить функцию пробуждения от USB, Я использовал netbook и в нем такой функции я не нашел, то есть при засыпании отключается питание на USB и устройство FLIRC просто не работает.
Заключение.
Для работы в HTPC с устройства FLIRC нужно снять фольгу. Так как лишних команд в устройстве не записано, оно не будет реагировать на тепловой шум.
Плюсы:
Устройство работает и выполняет заявленные функции.
Минусы:
Отсутствовала инструкция на русском языке (уже исправлено:)
Награждение не причастных:
фото 4.
У меня нет телевизора. Совсем. На антресолях где-то лежит старый маленький пузатик, но кабель антенны давно свернут, а телевизор этот — скорее издевательство, разве что на кухне поставить и то маловат.
Поэтому в качестве музыкального центра и телевизора я использую свой ПК. И все бы хорошо, но лень — это не только двигатель прогресса, но и фактор, который портит удовольствие, заставляя встать с дивана, на котором уютно устроился с кружкой чая, чтобы запустить программу или выключить колонки после просмотра фильма перед сном.
Существует множество ИК приемников, практически все они могут управлять компьютером и даже могут его выключить, но не могут его включить. И вот в этот момент компьютер перестает быть столь же удобным сколь телевизор или музыкальный центр. Но и проект Igor HID не порадовал своим софтом. Вроде все умеет, а неудобно. И не влезешь в него, исходников нет. Вот поэтому я собрался и сделал свой проект, открытый и доступный всем.
Сделал я его с нуля до законченного комплекта. А поскольку мой опыт в разработке и программировании электронных девайсов до него можно сказать был нулевым, то я считаю, что повторить это сможет каждый, кому это интересно.
Называется он USB-IRPC (USB Infrared Remote Personal Computer Control — «Юэсби-ИРПиСи» или ИРПЦ, кому как больше нравится :). Буква R на самом девайсе — просто сокращение от моего ника.
Важным преимуществом девайса является то, что он программно совместим с Arduino и в случае отсутствия уверенности в своих силах в ЛУТ может быть сделан на основе Arduino на макетной плате. Это, конечно, не так компактно и аккуратно, не так дешево, но зато доступно практически всем, даже навыки пайки особые не потребуются.
Если стремление к комфорту вам не чуждо и идея превратить свой компьютер в медиацентр, а заодно поуправлять электророзетками с пульта вам интересна, тогда вперед.
Просьба, если соберетесь делать устройство после прочтения статьи, задавайте вопросы в комментариях. По опыту предыдущих статей: вас довольно много и вопросы вы задаете одинаковые :)
Я лучше один раз отвечу всем, добавив в статью или в комментариях. Уведомления о комментариях с вопросами я просматриваю и стараюсь отвечать.
Итак, идея устройства
- Включать и выключать компьютер с пульта от телевизора или любого другого ИК пульта.
- Включать и выключать розетки, в которые воткнуты настольная лампа и колонки (две розетки, управляются отдельно).
- Управлять розетками с ПК программно, чтобы не искать пульт, оставленный на диване, когда сидишь перед компом или включать колонки для работы ПК в качестве будильника по расписанию с утра :)
- Запускать программы на ПК по нажатию кнопки на пульте.
- Выполнять custom задачи по нажатию кнопок — какие запрограммирую.
- Устройство не требует драйверов, работает и под Win7 х86, Win7 x64, Win 8 x64.
- Не требует прав администратора при подключении и использовании.
- В системе определяется как HID устройство (USB Input Device).
- Никаких дополнительных .dll типа lubusb тоже не потребуется.
- Под Linux не проверял, но не думаю, что будут проблемы. Правда написать софт я не смогу — под Linux я этого не умею.
Недостатки
- Пока на мой взгляд распознавание нажатий кнопок пультов не идеально. Можно сделать лучше, уверен. Но это исправляется программно.
- Вшитые функции, работающие и без ПК, можно поменять только перекомпилировав прошивку, а для этого придется скачать AVR Toolchain — писать прошивку в Arduino IDE сплошное мучение для меня, поэтому я пользуюсь Code::Blocks. Но залить прошивку в Arduino не составляет никакой проблемы. Даже в консоль лезть не придется. Позже можно будет и программно назначить эти функции любым кнопкам пульта.
- Программа на английском. Я знаю, что у подавляющего большинства проблемы с английским и знаю привычку все и вся русифицировать.
- Русские надписи почти всегда длиннее английских либо имеют уродливые сокращения.
- В русском языке не сложилось однозначной терминологии для ИТ и надписи на элементах интерфейса часто больше путают чем проясняют.
Я расскажу сначала как сделать на основе Arduino, затем расскажу как сделать самому с нуля, а если найдутся желающие, напишу отдельно как с этим устройством работать программно с ПК.
USB-IRPC на основе Arduino
На самом деле я и начинал устройство на основе Arduino. Я использовал дешевую Arduino Pro Mini и кусочек макетной платы:
«IRPC v1»
Эта версия не имела связи с ПК, умела только управлять розетаками и питанием ПК, но проработала у меня больше 9 месяцев — с ноября 2011го.
Как обычно, начинаем с закупки деталей.
Нам понадобится:
1. Arduino (любая с питанием от 5В) — примерно от $7
Модуль управления розетками:
2. Плата с реле на 220В, управляемая сигналом 5В. Если хватает опыта, можете сделать сами. У меня была в хозяйстве вот такая, давно думал, куда ее приспособить:
Да, релешек на ней 4, а используется только 2, потому что во-первых — у меня был только 4проводный кабель под рукой, а для 4 реле жил нужно 6 (+- и 4 сигнальных), а во-вторых под рукой было только 2 одинарные розетки, а удлинителей не на общей шине, а с проводами к каждому гнезду отдельно я не нашел на рынке. Мне она досталась за дикие $17, но купил я ее давно. Сейчас она есть на ebay по $3.82, более того, советую вам взять для этого проекта с двумя реле — дешевле и компактнее:
Недостаток реле в том, что они щелкают при переключении. И если бы у меня не валялись без дела, я бы сделал на симисторах BT138 с гальванической развязкой на MOC3063 примерно вот по такой схеме (не моя, дернул кусок из найденной гуглом картинки):
3. Кабель 4-проводный (можно использовать UTP, если есть, тогда розеток можно сделать больше). Длина — чтобы хватило от ПК до места где будет лежать блок розеток.
4. Коннектор PBS-4 для окончательного варианта или вилка PLS-4, если будете делать на Arduino.
5. Кабель медный для подключения розеток к реле — 2 куска примерно сантиметров по 20.
6. Кабель электрический с вилкой Schuko (CEE 7/4) или любой другой, имеющийся под рукой, который выдержит нагрузку:
7. Две настенные накладные розетки (или больше, если релешек больше и кабель UTP) — примерно 30 рублей штука.
8. Кусок фанеры и коробочка для крепления платы с реле и розеток.
Я смонтировал в обычную картонную коробку, прикрепил к куску пластика болтиками и закрепил кабели стяжками. получилось вот так:
«USB-IRPC 2-sockets 220v module»
Под столом это смотрится довольно аккуратно. Розетки разные, да, других не было :) Одну купил, вторая осталась от апгрейда настенной розетки на двойную.
«RPC-2PWR»
Оформительские изыски оставляю на ваше усмотрение.
Модуль ИК приемника
9. ИК приемник TSOP1738, TSOP1736 или IRM_3638. Найдете аналог — попробуйте его. У меня IRM3638 работает лучше всего.
10. Резистор на 10кОм
11. Светодиод + резистор на 100-390 Ом (какой есть такой и берите), на крайний случай можно обойтись встроенным в Arduino на Pin 13 если под рукой ни резистора ни светодиода нет, будет без выносной индикации.
12. 2 Коннектора PBS-4 для окончательного варианта или вилка PLS-4, если будете делать на Arduino.
13. Четырехпроводный кабель такой длины, чтобы хватило от системного блока ПК (девайс установим внутрь) до места, где приемник удобно закрепить, чтобы он был на прямой видимости с дивана (я закрепил на ножке монитора).
Модуль управления питанием ПК
14. Коннектор PBS-2 для подключения к материнской плате вместо кнопки питания.
15. Коннектор PLS-2, для подключения кнопки питания от корпуса параллельно, чтобы не терять возможность ей пользоваться. (можно просто купить одну линейку пинов PLS-40 и откусить кусачками от нее куски с нужным количеством пинов).
16. Оптопара PC817 или ее аналог. По идее стоит 4-8 рублей, но на Царицынском радионыке барыги за нее потребовали 40 рублей.
Можно и реле использовать, но это совсем изврат получится, хотя работать будет :)
17. Токоограничительный резистор на 100-150 ом любой мощности, что найдется под рукой.
Интерфейс с ПК (V-USB)
18. USB кабель, нас интересует только USB A вилка для подключения к ПК, на другом конце может быть что угодно, мы его все равно отрежем. Так что можно использовать любой ненужный кабель. Лишь бы целый был со стороны компа.
19. 2 стабилитрона на 3.6В желательно 0.25 Вт, но можно больше.
20. 2 резистора на 68 Ом.
21. 1 резистор на 2.2 кОм. К мощности особых требований нет.
Паяльник, припой, флюс (канифоль сойдет), немного монтажного провода (да любые проводки, какие есть под рукой).
Какой-нибудь пульт с кодировкой RC-5 типа такого:
«IR RC»
У меня также отлично работает пульт от AverMedia.
Если будете собирать на макетной плате, то понадобятся она и немного проводов, нечто в этом роде :)
Это только кажется что всего много, но на самом деле затраты невелики. Разве что будете покупать все в Чип и Дипе :)
Разбираемся как собрать и как это работает
Если у вас Arduino Pro Mini или Arduino nano, устанавливаем ее на макетную плату типа Breadboard или как в моем случае на кусочек макетки с пятачками для пайки, припаяв ее туда напрямую или с помощью коннекторов, чтобы можно было снять:
Обычную придется подключать к макетной плате проводками.
Подключаем ИК приемник.
Сигнальную ножку напрямую к пину 8 (D8). Между сигнальной и ножкой питания включаем резистор на 10к, ну и оставшуюся ножку заземляем:
у TSOP 1738 сигнальная ножка на фото справа:
Средняя — питание (+5В), левая — земля (GND).
Это три провода, четвертый — для выносного светодиода, я его поставил рядом с приемником, чтобы показывать, что нажатие кнопки принято. Подключаем его через резистор анодом к пину D9, катодом к земле.
Подключаем плату с реле
- VCC к +5 Arduino
- GND к GND Arduino (земля)
- IN1 к пину 6
- IN2 к пину 5
Подключаем управление питанием ПК
Кнопка питания на корпусе просто замыкает два контакта, мы сделаем то же самое с помощью оптопары PC817.
Когда подаешь 5В на вход светодиода, сопротивление между ножками фотодиода падает почти до нуля (на самом деле не до 0 но для наших целей сойдет). Для того, чтобы выход микроконтроллера не спалить, включаем последовательно токоограничивающий резистор.
Резистор подключаем к выходу А2 Arduino, второй контакт резистора к 1й ножке PC817 (отмечена точкой). Вторую ножку на землю. К 3й и 4й подключаем двумя проводами с двухконтактным разъемом те два пина на материнской плате, что обозначены как PWR + и PWR-, сюда же параллельно подключаем кнопку от корпуса ПК, чтобы она тоже могла замыкать эти контакты.
Подключаем к USB
В моем проекте используется программная реализация USB для AVR известная как V-USB.
Берем USB кабель, отрезаем конец, который подключался к устройству
Красный — VCC (пин 1 на схеме справа)
Черный — GND (пин 5 на схеме справа)
Зеленый — D+ (пин 3 на схеме справа)
Белый — D- (пин 2 на схеме справа)
D+ подключаем к пину 2 через резистор 68 Ом, D- подключаем к пину 4 через резистор 68 Ом.
резистором на 2.2 кОм соединяем ножки D3 и D4 (подтяжка).
Стабилитроны включаются в обратном направлении катоды (сторона с черной полоской на корпусе) к — D2 и D4 соотвественно, аноды — на землю.
VCC и GND подключаем соответственно к таким же пинам Arduino — питаться она будет от USB.
Все, наша схема собрана.
Внимательно проверьте все по шагам, чтобы не спалить при подключении ничего.
Если все проверили — прошиваем с помощью AvrDudeR. Дело в том, что писал я прошивку на С, компилировано с помощью AVRToolchain. Проект в Code::Blocks. Исходники проекта выложу чуть позже на странице проекта
Настройки такие:
COM порт указываем тот, который назначился для Arduino, для Duemillanove скорость 57600, для UNO 115200.
Файл прошивки берем этот.
Если прошилось все успешно, можно отключить Arduino от компа, подключаем теперь нашим USB проводом, который мы развели на плате через стабилитроны и резисторы. Одновременно лучше не подключать и хвостом самой Arduino и коннектором проекта.
Если все сделали правильно, в системе определится USB Input Device.
Управление с помощью плагина к MKey
Плагин позволяет назначать кнопкам пульта любые функции MKey.
Качаем MKey, устанавливаем, мой плагин к нему кладем в папку Plugins.
Запускаем MKey, на вкладке настроек включаем плагин R USB-IRPC.
Настройка простая. Жмем Add, открывается окошко, где предлагают нажать кнопку, жмем ее на пульте, даем ей название как на пульте и назначаем для нее действие.
Для того, чтобы управлять реле программно, понадобится моя программа:
- управлять реле и выносным светодиодом
- программно «нажать» кнопку питания на ПК
- автоматически отключается от устройства при засыпании ПК
- автоматически подключается при пробуждении ПК.
- опрашивает устройство каждые 300 мс по умолчанию (настраивается)
- выводит состояние реле и индиакторного светодиода, код последней нажатой с момента опроса кнопки пульта
- включить/отключить прием нажатий кнопок ИК пульта.
- сохранить в EEPROM состояние реле и считать его оттуда. При включении USB-IRPC считывает из EEPROM состояние реле и устанавливает их.
- соответствие названий кодам кнопок пульта считывается из простого текстового файла, выбранный файл конфигурации пульта загружается при старте программы автоматически.
- запуска программ по нажатию кнопки
- передачи нажатий кнопки в запущенную программу
- назначения устройству самостоятельной реакции на выбранные кнопки пульта одной из встроенных функций: переключение реле, нажатие кнопки питания ПК. (сейчас такая функциональность в прошивке встроена для одного конкретного пульта).
Я постарался рассказать максимально подробно для самых начинающих, потому что постоянно получаю множество простых одинаковых вопросов в почте, поэтому объем статьи получился большой.
Во второй части расскажу как сделать устройство, изображенное на самой первой фотографии самостоятельно с нуля, а не на основе Arduino.
Все исходники я немного причешу и выложу на страницу проекта, чтобы функционал можно было изменить под себя. Если будут желающие, отдельно расскажу что и как работает с программной точки зрения.
Часть 2 — изготовление с нуля и программный интерфейс.
Одноплатные компьютеры могут служить отличным корпоративным инструментом — для реализации самых разных целей. В доме одноплатники тоже пригодятся — как для бытовых задач, так и в качестве основы для создания DIY-проектов.
В новой подборке — несколько новых и не очень одноплатных компьютеров, на которые стоит обратить внимание.
Orange Pi 4 LTS
Разработчики линейки одноплатников Orange Pi не так давно анонсировали новую модель, которая оснащена шестиядерным процессором Rockchip RK3399, гигабитным Ethernet, HDMI, USB-портами. Плата поддерживает работу с 4 ГБ ОЗУ, опционально можно установить eMMC-модуль с 16 ГБ памяти. Кроме того, есть еще и слот для карт памяти. Габариты — 91 x 56 мм.
Одноплатник Orange Pi 4 LTS станет доступен уже в этом месяце, стоимость — от $55 до $70.
Если вам кажется, что процессор этого устройства несколько устарел, то вам не кажется. Но он устарел лишь морально, и то — в подобных устройствах он может применяться еще долго. Его достоинство в том, что его спецификации и все прочее очень хорошо известны, поскольку он устанавливался на протяжении нескольких лет в Chromebook-ах.
Более того, он стоит в смартфоне PinePhone Pro и ноутбуке PineBook Pro. Что касается ядер процессора, то два из них — ARM Cortex-A72 CPU, а еще четыре — ARM Cortex-A53 CPU. Графика — ARM Mali-T860MP4.
Новая плата поддерживает работу с такими ОС, как Ubuntu, Debian и Android.
Начиная с середины февраля одноплатник можно будет купить на Amazon и Aliexpress.
PocketBeagle
Это open-source одноплатный компьютер от компании BeagleBone, который имеет одну особенность — у него нет GPU, соответственно, с GUI он работать не может.
Построен он на базе Octavo Systems OSD3358 1 GHz ARM Cortex-A8 и 512 МБ DDR3. Размер одноплатника составляет всего 56 x 35 мм, что делает его таким же маленьким, как Raspberry Pi Zero.
Его можно подключить к ноутбуку или десктопному ПК как флешку — и это очень удобно. Заливать прошивку можно через браузер с поддержкой текстового редактора и командной строки Linux. У одноплатника есть еще и 2 PRU, что расширяет его возможности.
ROCK5
Это еще один новый одноплатник на базе процессора Rockchip RK3588. Он поддерживает сразу 16GB of LPDDR4x RAM, может работать одновременно с тремя дисплеями, есть беспроводные модули с поддержкой WiFi 6E и Bluetooth 5.2. Плюс есть коннектор PCIe 3.0 x4 для подключения NVMe SSD.
К сожалению, это устройство еще недоступно, одноплатник поступит в продажу, начиная со второй половины 2022 года. Стоимость его — $129 за версию с 8 ГБ ОЗУ. Есть и другие модели, стоимость их выше:
- ROCK5 с 4GB RAM за $129
- ROCK5 с 8GB RAM за $149
- ROCK5 с 16GB RAM за $189
- 4 x ARM Cortex-A76 CPU @ 2.4 GHz
- 4 x ARM Cortex-A55 CPU @ 1.8 GHz
- ARM Mali-G610MC4
- Neural Processing Unit с 6 Teraflops
В целом, стоимость устройства оправдана. У него достаточно много коннекторов и разъемов. Например, есть два HDMI 2.1 порта и USB-C порт, что позволяет подключить сразу три дисплея с поддержкой 8K HDR10. И есть еще вход 4k/60 HDMI.
На плате разработчики разместили 40-пиновой GPIO коннектор, два коннектора MIPI-CSI, два порта USB 3.0 Type-A и два порта USB 2.0 Type-A.
Одноплатные ПК — весьма интересная тема, но у нас есть и другие статьи, оцените — мы рассказываем о:
Orange Pi 3 LTS
Еще один представитель линейки Orange Pi. Это базовая версия одноплатника от производителя, которая оснащена процессором Allwinner H6 с 4-ядерным процессором ARM Cortex-A53 и графикой Mali-T720. На плате — 2 ГБ ОЗУ LPDDR3, 8 ГБ eMMC, слот для карт памяти microSD, плюс поддержка WiFi 5 and Bluetooth 5.0.
Как и во всех предыдущих случаях, размер платы небольшой — 85 x 56 мм. Вот, что есть на плате в плане коннекторов и разъемов:
- 1 x USB 3.0 Type-A
- 2 x USB 2.0 Type-A
- 1 x Gigabit Ethernet
- 1 x HDMI 2.0
- 1 x 3.5 мм аудио
- 26-пин коннектор с GPIO, I2C, SPI и UART
- IR ресивер
Odroid-N2+
Новой эту плату не назовешь, но она до сих пор в строю у любителей DIY, да и не только у них. Дешевой плату назвать нельзя, стоит она около $80, но возможности одноплатника неплохие.
Процессор — Amlogic S922X (4x 2.4GHz Cortex-A73, 2x 2.0GHz Cortex A53). Графика — Mali-G52 GPU. Что касается оперативной памяти, то есть два варианта платы — с 2 ГБ и 4 ГБ ОЗУ. Плюс ко всему, разработчики предусмотрели eMMC с объемом до 128 ГБ.
Портов и коннекторов немало:
- HDMI 2.0
- 4x USB 3.0 host
- micro-USB
- 3.5 mm audio/mic
- IR receiver
- UART
- RTC
- 40-pin GPIO
Pine A64-LTS
Это тоже не новая плата, но своей актуальности она не потеряла и в 2022 году. Ее стоит рассматривать в качестве неплохой альтернативы Raspberry Pi 4. У платы есть слот microSD, HDMI, гигабитный интернет, два USB 2.0 и micro-USB порты.
Размер платы составляет всего 133 x 80, при этом устройство оснащено GPIO с 40 пинами.
Кроме того, стоит упомянуть еще 4-ядерный процессор ARM Cortex A53 1.152 GHz 64-bit с графикой Mali-400 MP2 GPU и 2 ГБ ОЗУ LPDDR3. Есть также опция добавления eMMC с объемом до 12 ГБ.
Собственно, на сегодня это все. Если кто-то уже работал с платами из списка, расскажите о своем опыте — что вам понравилось, а что — нет?
Мы слушаем mp3 и смотрим xvid или x264, и компьютер служит центром развлечений как минимум в одной комнате большинства домов. Если только у вас нет мультимедийного ПК (HTPC), довольно проблемно использовать клавиатуру чтобы поставить на паузу, изменить громкость, или прокрутить раздражающие кадры. Модельный ряд приемников дистанционного управления для PC начинается конструкциями для старых последовательных портов (у вас есть такой?) и заканчивается USB устройствами, которые не поддерживаются популярным программным обеспечением. Мы хотим представить вам инфракрасный USB приемник, который имитирует общий протокол, поддерживаемый программным обеспечением Windows, Linux и Mac. У нас есть полное описание протокола, плюс схема и список деталей.
Описание проекта
Пульты дистанционного управления передают данные модулированным инфракрасным пучком. Интегральная микросхема инфракрасного приемника выделяет из модулированного пучка незашумленный поток 0 и 1. Поток данных декодируется микроконтроллером и отправляется на компьютер посредством USB порта. Программное обеспечение обрабатывает коды и совершает необходимые действия на компьютере.
Инфракрасные приемники для компьютера
В самой старой конструкции инфракрасного приемника для ПК микросхема переключает один из контактов разъема последовательного порта, обычно DCD. Эта конструкция, возможно, возникла в Usenet, и до сих пор является самой популярной в сети. Они не являются реальными устройствами для последовательного порта, потому что не посылают данные на компьютер. Вместо этого, компьютерная программа посылает импульсы на последовательный порт и демодулирует сигнал. Эта конструкция очень простая, но она завит от доступа к прямым прерываниям и точности синхронизации, так что больше недоступна в Windows. Пользователи Linux или Mac могут попытаться собрать такое устройство, если у них до сих пор имеется последовательный порт. Нам не удалось заставить такой приемник работать с последовательным портом современного ПК с Windows XP, и мы не уверены в точности синхронизации передачи данных с USB на преобразователь последовательного порта.
Более продвинутые инфракрасные приемники являются реальными устройствами для последовательного порта, которые перед посылкой на компьютер измеряют или декодируют инфракрасный сигнал. UIR/IRMAN и UIR2 собраны на классическом pic 16f84, но не предоставляют пользователям программного обеспечения и/или исходного кода. Эти устройства будут работать на современном компьютере, но для них нужен преобразователь сигналов с USB на последовательный порт. Usbtiny и usbirboy являются «родными» для USB порта устройствами, но они не имеют широкой поддержки.
Программное обеспечение для приемника
Вне зависимости от типа приемника, чтобы воспринимать приходящие от дистанционного управления команды и превращать их в действия, компьютеру нужна программа. У пользователей Linux и Mac есть LIRC, которая поддерживает множество различных типов приемников. Пользователям Windows повезло меньше. WinLIRC – это портированная с LIRC для Windows программа для простых приемников последовательного порта основанных на прерываниях; ее последняя версия вышла в 2003. Girder первоначально была бесплатной утилитой для автоматизации ПК, но впоследствии она разрослась до дорогого проекта с 30-дневным демонстрационным режимом. К счастью, последняя бесплатная версия Girder (3.2.9b) до сих пор доступна для скачивания.
Работа с протоколами инфракрасного дистанционного управления
Декодирование ИК сигналов
Дистанционные пульты управления кодируют команды в виде промежутков или импульсов определенной продолжительности на несущей частоте 38 кГц, объяснение принципов их работы можно найти здесь. Микросхема ИК приемника отделяет поток данных от несущей. Нам остается только расшифровать поток данных при помощи микроконтроллера. Имеются десятки протоколов, которые используются для дистанционного управления, но наиболее широко распространен и используется любителями RC5 от Philips.
RC5 представляет собой поток из 14 битов одинаковой длины по 1,778 мс на бит. Импульс, приходящийся на первую половину этого времени представляет 0, а импульс, приходящийся на вторую половину – 1. Эта схема называется манчестерским кодированием.
Мы использовали логический анализатор, чтобы протестировать выходной сигнал одного известного пульта дистанционного управления для WinTV, использующего протокол RC5. Диаграмма показывает два нажатия на кнопку 1 и два нажатия на кнопку 2; обратите внимание, что выходной сигнал инвертирован, и манчестерское кодирование относительно описанного выше выглядит наоборот.
Первые два бита являются стартовыми, затем следует бит переброски. Бит переброски всякий раз изменяется при нажатии кнопки, поэтому приемник понимает разницу между удерживаемой кнопкой и несколькими повторными нажатиями кнопки. Следующие 5 битов это адрес (0b11110=0×1E), за ними следует команда (0b000001=0×01, 0b000010=0×02). Передача сигнала в обратном направлении по протоколу RC5 использует второй стартовый бит как командный бит 7.
Представление кодов дистанционного управления на компьютере
Рассмотрев предшествующие разработки, мы выделили три основных пути передачи данных с пульта дистанционного управления на компьютер:
- Приемники конкретного протокола декодируют его и посылают на ПК реальные декодированные команды.
- Приемник общего типа измеряет продолжительности каждого импульса и промежутки между ними и посылает форму сигнала на ПК для обработки.
- Некоторые приемники создают для сигнала специальный шестнадцатеричный код, который на самом деле не включает достаточно данных, чтобы полностью восстановить форму посланного сигнала.
Несмотря на то, что нам больше хотелось использовать метод шестнадцатеричного кодирования, наш единственный пульт дистанционного управления использовал протокол RC5, и было бы более интересным собрать декодер конкретно для RC5. Для универсальной версии мы описали модификации в параграфе, посвященном программному обеспечению декодера.
Протокол компьютерного интерфейса
Мы не хотели писать свое собственное программное обеспечение или драйвер, поэтому поискали уже существующий, хорошо устоявшийся протокол связи. Приемник типа UIR/IRMAN/IRA/CTInfra/Hollywood+ поддерживается программами Girder и LIRC, и использует простой последовательный протокол с подтверждением связи
- Устройство инициализируется контактами DSR и DTR последовательного порта. У нас всего этого нет, и мы не беспокоимся по этому поводу.
- Компьютер посылает запрос с произвольной задержкой. Устройство подтверждает готовность. Наше устройство будет подтверждать готовность при любом радиоимпульсе.
- Команды пульта дистанционного управления посылаются в виде уникального 6-байтового шестнадцатеричного кода. Мы будем декодировать сигнал RC5 и посылать действительные значения, но вместо этого можно использовать распространенный шестнадцатеричный код.
Этот протокол предназначен для устройства, работающего с последовательным портом. Наш USB приемник будет притворяться виртуальным последовательным портом и программа не заметит разницы.
Аппаратное обеспечение
Периферийные устройства для USB требуют внешнюю частоту 20 МГц (Q1, C5-6), для чего используется конденсатор 220 мкФ. Чтобы получить эту емкость мы параллельно соединили 2 конденсатора по 1 мкФ. 3 мм светодиод (LED1) подключенный через ограничивающий резистор 330 ом (R2) показывает наличие USB соединения.
Мы использовали микросхему инфракрасного приемника TSOP-1738, которой нужен задающий конденсатор 4,7 мкФ (C4). Если вы не можете найти эту конкретную микросхему, работать должна любая приведенная здесь. TSOP-1738 инвертирует принимаемый сигнал, при приеме 1 она дает 0, так что при отсутствии сигнала подтягивающий резистор (R3) выдает на выходе 1. Проверьте, не используете ли вы другой приемник, тогда вам потребуется заземляющий резистор и возможность декодирования инвертированного манчестерского кода в программном обеспечении.
Устройство питается от шины USB, и нам не нужен дополнительный источник питания.
Список компонентов
Нажмите сюда, чтобы увидеть полноразмерную диаграмму размещения компонентов. (png) Печатная плата 100% односторонняя, и все отверстия на ней сквозные. Расположение элементов и печатная плата разработаны на Cadsoft Eagle, свободно распространяемые версии которого доступны для большинства платформ. Все файлы включены в архив проекта (zip).
Читайте также: