Site icon Меандр — занимательная электроника

XBMC USB контроллер

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

Данный контроллер разрабатывался для последней (на данный момент) версии XBMC 10.1 «Dharma», но я думаю сможет работать и с более поздними версиями. Со старыми версиями контроллер работать не сможет, т.к. разрабатывался для XBMC — JSON RPC.

Сердцем устройства является микроконтроллер PIC18F4550 фирмы Microchip. Он используется для обеспечения связи по USB-интерфейсу, вывода данных на LCD экран, прием и обработку информации от пульта дистанционного управления и других устройств ввода (к примеру энкодер или кнопки). Контроллер работает как USB HID устройство.

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

Проект предусматривает два software модуля:
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 подключения.

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

Установка и настройка

Минимальная системная конфигурация:
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. Проверьте правильность функционирования энкодера, клавиш, пульта ДУ и экранчика.

Техническая спецификация устройства:
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

Принципиальная схема устройства показана ниже:

В качестве LCD-экранчика используется MC1602.

Печатная плата устройства:

Скачать файлы Eagle, программу для Windows (с исходниками) и исходный код прошивки PIC

Exit mobile version