Дистанційне ІЧ управління комп’ютером по USB

До теперішнього часу розроблено досить багато різних рішень для ДУ персональним комп'ютером. Усі вони мають різну складність та функціональність. Для радіоаматорських пристроїв можна умовно провести поділ:

1. Приймальний модуль не поєднаний з декодуючої частиною. Декодування ІЧ посилок складає ПК спеціальної програмою. Як правило, схема приймача гранично проста. З'єднання може бути реалізовано через COM або LPT порти. 2. Прийом та декодування сигналу відбувається у пристрої апаратно. На ПК відправляється вже розпізнана посилка. Розпізнавання може бути виконано у вигляді реального коду, або певного умовного коду, який хоч і не є реальним для даного пульта, але забезпечує однозначну ідентифікацію натиснутої кнопки.

дистанційне

Обом способам притаманні переваги та недоліки. Наприклад, недоліки для першого типу: такі порти як COM і LPT зустрічаються в комп'ютерах дедалі рідше, а в ноутбуках вже практично перевелися. Декодування на ПК вимагає реалтаймового доступу до портів, що не гарантується, внаслідок чого не завжди приймається посилка. Позитивні якості: простота, відсутність необхідності програмувати залізо, існування програм здатних розпізнати більшість протоколів. До переваг другого підходу слід віднести можливість використовувати інтерфейс USB, не обов'язковий реалтайм. Недоліки – складніша апаратна частина, необхідність її програмування.

Переваги CDC: Оскільки CDC це віртуальний COM порт, то принципи роботи з ним прості і нічим не відрізняються від роботи зі звичайним COM портом. Не потрібні спеціальні драйвери з боку ПК (використовуються inf-файли для різних операційних систем). Працює у XP, Vista, Win7. Можна побачити посилки пристрою звичайним терміналом,у разі потреби. Не завантажує процесор – посилки відпрацьовуються лише під час прийому.

Недоліки CDC: Як і з реальним портом, потрібне постійне з'єднання пристрою. Від'єднаний пристрій доведеться вручну приєднувати у програмі на ПК (перевідкривати порт) – в деяких випадках це може бути незручно.

Переваги HID: Можна від'єднувати та приєднувати пристрій "на гарячу", програма на ПК буде автоматично його відстежувати і за кольором значка в треї, можливо визначати стан підключення.

Недоліки HID: Для роботи програми потрібен спеціальний драйвер. Був використаний драйвер libusb-win32-filter-bin-0.1.12.1, який працює поки що тільки на WinXP 32 bit. Якщо у вас інша операційна система, залишається CDC. Програма періодично опитує пристрій, тому мізерне завантаження процесора в просте все ж таки є.

пристрій

Контролер – Atmega8 16AI (без індексу V це важливо). Світлодіод D1 застосований для зниження напруги живлення контролера (5В), щоб покращити узгодження рівнів напруги від МК з інтерфейсними USB лініями (3.3В). Його перехід має також стабілізуючі властивості. Я застосував яскравий смд світлодіод, випаяний зі стрічки. Падіння напруги на діоді має бути близько 1.5В. У той же час ІЧ приймач IR1 живиться від 5В, тому діод D2 (краще взяти германієвий або Шоттки - з малим падінням напруги на переході) захищає вхід контролера від перенапруги. Перемикач SW1 застосовується для перемикання режиму програмування пристрою. Про це нижче.

Монтаж виконаний переважно смд елементами, варіант конструкції:

ютером

пристрій

Для того, щоб надалі було зручно перепрограмувати пристрій, вперше слід прошитибутлоадер (див. архів проекту, папка tools) за інтерфейсом ISP будь-яким зручним програматором. Прошивка робочою програмою далі виконується USB. Для цього слід замкнути перемикачем SW1 пін PB1 мікроконтролера на землю та приєднати пристрій до USB-порту. Після цього запустити програму Upload.exe (оболонка BootloadHID.exe) з папки default (або папки в якій знаходиться hex-файл) відповідного проекту. Відкриється вікно:

дистанційне

У рядок Firmware необхідно внести ім'я файлу прошивки (без розширення). Після цього натиснути CMD Flash та підтвердити вибір. У вікні:

комп

Натиснути кнопку CONFIRM і розпочнеться процес завантаження прошивки до контролера. Залишається лише витягти пристрій, відключити PB1 від землі вимикачем SW1 і підключити знову до USB порту. Якщо вибрано клас пристрою HID, запит на інсталяцію драйверів не буде. У диспетчері пристроїв можна побачити нове обладнання. Для CDC класу в запиті на інсталяцію драйвера, необхідно вказати потрібний inf файл з папки inf (див. проект), залежно від ОС. Після цього в системі з'явиться віртуальний COM порт, до якого надходитимуть розпізнані посилки.

Програма для ПК знаходиться в папці IRServer_WinLircCompatible. Вихідні дані цієї програми ідентичні даним відомої програми WinLirc. Оскільки є де-факто стандартом для керованих за допомогою сокетів додатків. Це означає, що за допомогою цієї програми можна керувати всіма програмами, якими дозволяє керувати WinLirc. Багато мультимедійних програм мають вбудовані засоби або плагіни для роботи – LightAlloy, Aimp, KMPlayer, WinAmp та ін. Іншими додатками або функціями ПК можна керувати за допомогою програм, які також є клієнтами WinLirc, але реалізують відсилання керованимпрограм WM-повідомлень або посилку гарячих клавіш (Girder, Device Control, MKey та багато інших).

Розглянемо налаштування програми, яка, на відміну інших додатків, досить проста. Головне вікно програми:

пристрій

Для того, щоб у клієнті було зручніше ставити відповідність команд керуючим впливам, передбачається завдання команд і імені пульта інформативних імен.

комп

Вводимо ім'я (наприклад, MSI) і натискаємо ОК. Після вторинного натискання на кнопку програма визначить, що ім'я даного пульта вже асоційоване і запропонує пойменувати команду:

комп

комп

В даному випадку видно, як відрізняється прийнятий і відправлений рядки, а також реакцію керованого клієнта (Mkey), налаштованого на команду right від пульта MSI (регулювання гучності).

Інші настройки: -Use only named: Передаватися клієнтам будуть лише іменовані команди від іменованого пульта. Зроблено для виключення реакції на сторонні пульти або неналаштовані/непотрібні команди. -Unnamed enable: крім іменованих команд будуть передані і неіменовані (якщо такі прийматиме приймач). -Naming disable: передаватимуться посилки безпосередньо, без іменування. Як правило, найбільш комфортна робота з включеною опцією Use only named після завдання відповідності імен. Кнопка ОК згортає програму в трей, Cancel - закриває програму.

В архіві проекту присутні всі необхідні файли та вихідні коди

Проект надається "як є". Усі роботи з підключення даного пристрою до ПК проводяться на ваш ризик. Автор відповідальності не несе.