XBMC USB контролер

XBMC

XBMC - безкоштовне програмне забезпечення медиаплеєра для організації HTPC (домашнього театру) на базі персонального комп'ютера. У цій статті представлено проект контролера для XBMC додатків. Основні функції контролера - забезпечення управління за допомогою ПДУ, відображення інформації на LCD-екранчику, а також управління за допомогою енкодера.

Цей контролер розроблявся для останньої (на даний момент) версії XBMC 10.1 "Dharma", але я думаю, що зможе працювати і з більш пізніми версіями. З старими версіями контролер працювати не зможе, оскільки розроблявся для XBMC - JSON RPC.

XBMC USB контролер

Серцем пристрою є мікроконтролер PIC18F4550 компанії Microchip. Він використовується для забезпечення зв'язку по USB-інтерфейсу, виводу даних на LCD екран, прийом і обробку інформації від пульта дистанційного управління та інших пристроїв вводу (наприклад, енкодера або кнопок). Контролер працює як USB HID пристрій.

Цей XBMC USB контролер розроблявся для операційних систем Windows і тестувався під Windows XP і трохи під Windows XP Embedded. У прошивці МК PIC реалізована підтримка Sony SIRC 20bit ІК протоколу, а прикладені ini файли сконфігуровані для пульта управління Sony RMT-V408.

Пульт Sony RMT-V408

Проект передбачає два програмні модулі:
1. Прошивка для PIC18F4550. Джерельний код написаний на MikroC версії 4.60
2. Додаток під Windows. Написано на Delphi 7 і працює як служба Windows.

Перед тим, як почати працювати з цим пристроєм, користувач повинен налаштувати додаток для коректної роботи з ПДУ і програмою. Конфігураційний файл "mcci.ini" знаходиться в папці \Controller\release.

Цей файл містить три основні ini-секції: "xbmc", "device" і "keymap".

"xbmc" містить три параметри:

Address: IP адреса, на якій працює XBMC (в більшості випадків встановлена на 127.0.0.1)

Port: порт, присвоєний для XBMC веб-інтерфейсу

Location: повний шлях і ім'я виконуваного файлу

"device" секція містить 2 параметри, пов'язані з USB контролером. Якщо використовується стандартна прошивка, то це VID = 33824 і PID = 1. Якщо ви в прошивці МК змінили ці значення, то не забудьте їх змінити в даному ini-файлі.

"keymap" використовується для відповідності клавіш ПДУ з інтерфейсом медиаплеєра XBMC. Більш детальний опис дивіться нижче:

Формат даних

Типи команд можуть бути наступними:

1 - посилає подію WM_KEYDOWN додатку XBMC. У параметрі повинно вказуватися ASCII значення клавіші, яку потрібно надіслати

2 - посилає подію WM_CHAR додатку XBMC. У параметрі вказується символьний код клавіші.

3 - переоприділені дії, що залежать від наступних параметрів:
   1) збільшення гучності
   2) зменшення гучності
   3) повернутися на домашній екран XBMC
   4) вимкнути звук (mute)

Підключення USB-контролера

На представленій до проекту друкованій платі передбачено 2 зовнішні коннектори. J1 використовується для підключення енкодера і двох кнопок, J2 - для USB підключення.

Підключення до J1

Для J2 використовується стандартний USB кабель з USB Male A роз'ємом.

Підключення до J2

Установка і налаштування

Мінімальна системна конфігурація:
Windows XP або більш нова ОС
XBMC 10.1 або новіше
USB 2.0 порт
ПДУ з підтримкою SIRC протоколу

Процес налаштування наступний:
1. Запустіть XBMC, натисніть на "System" і відкрийте вкладку "Network".
2. Під написом "Services" встановіть: Allow control of XBMC via HTTP : ON
Port : 80 Username : Password : (поля ім'я та пароль залиште порожніми)
3. Натисніть "Esc"
4. Закрийте XBMC.
5. Розархівуйте прикладене до цього проекту ПО і зробіть необхідні налаштування у файлі mcci.ini.
6. Підключіть XBMC USB контролер до комп'ютера. Якщо пристрій зібрано правильно, то Windows автоматично його виявить
7. Запустіть додаток mcci.exe. Якщо все вірно налаштовано, то XBMC повинен буде стартувати автоматично.
8. Перевірте правильність функціонування енкодера, клавіш, пульта ДУ та екранчика.

LCD-екранчик контролера XBMC

Технічна специфікація пристрою:
USB Version : 2.0
Device Class : 0x0
Vendor ID : 0x8420
Product ID : 0x1
Manufacturer : Dilshan R Jayakody
Product : Media Center Control Interface
Product Version : 0.1
Power Mode : Self powered 100mA Max
USB interfaces : 0x3 - HID class

Принципова схема пристрою показана нижче:

Схема контролера XBMC

В якості LCD-екранчика використовується MC1602.

Друкована плата пристрою:

Печатна плата і розташування елементів

Нижче ви можете завантажити файли Eagle, програму для Windows (з джерельними кодами) та джерельний код прошивки PIC

Список радіоелементів

Обозначення Тип Номінал Кількість Примітка
IC1 МК PIC 8-біт
PIC18F4550
1
IR1 ІК-приймач TSOP1136 1
C1 Електролітичний конденсатор 4.7 мкФ 10 В 1
C2, C3 Конденсатор 10 пФ 2
C4, C5 Конденсатор 0.1 мкФ 2
R1 Резистор
100 Ом
1
R2-R7 Резистор
22 кОм
6
Q1 Кварц 20 МГц 1
SV1 LCD-дисплей HD44780 2x16 1
Енкодер 1
Кнопка замикальна 2
Роз'єм PLS-15 1 До LCD
J1 Роз'єм PLS-8 1 CONTROL_IN
J2 Роз'єм PLS-5 1 USB
Пульт ДУ 1
Додати всі

Оригінал статті

Прикреплені файли:

Top