Дистанционно за компютър

Дистанционно за компютър

И така, формулировката на проблема: необходимо е да научите компютъра да "слуша" [всяко] дистанционно управление. Принципно генерираните от дистанционните IR пакети са с ниска честота - около 30-40 kHz (изключение правят само някои дистанционни Panasonic, където честотите на изпращане достигат до 400 kHz). Това е първото. Второто е да го карате да изпълнява програми, да "натиска" бутони и т.н. Това е чисто софтуерна част.

Какво имаме: съобщенията на всяко дистанционно управление са последователни по своя принцип и са някак си кодирани. Най-логично би било да ги вземете последователно. Има сериен порт за това. Разбира се, почти всеки [телевизионен] IR приемник ще свърши работа.

След това всички пакети трябва да бъдат научени от програма, която ще разпознава натискането на различни клавиши на дистанционното управление. Същата програма може да управлява и всичко останало (натискане на бутони, регулиране на звука и т.н.).

И можете да го внедрите като драйвер (услуга) и да дадете най-високо ниво на контрол на други разработки.

Точно за такива задачи има проект за Linux "a LIRC (linux infrared control), който беше успешно пренесен към Windows. Така се нарича - WinLIRC.

WinLIRC е само демон и не управлява нищо сам. За управление са необходими добавки. Има и плъгин за Winamp, който е проектиран и пригоден специално за WinLIRC, но контролира само Winamp.

След стартиране програмата ще каже, че трябва да бъде конфигурирана. В реда за конфигуриране за първи път можете да замените родния файл sample.cf, който идва с него, след това изберете COM порта и натиснете бутона Raw Codes. След това ще изскочи прозорец и програмата ще изчака сигнали от серийния порт. След това натиснете бутоните на дистанционното управление - вижте какво се случва в прозореца. Там програмата ще покаже самите пакети. Добре,RAW датата е необработена дата.

ДОБРЕ. Сега трябва да се разсеем, като сглобим IR приемника.

Puc.1 Свързване на IR приемника към COM порта

Puc.2 TK1833 изпъкнал към себе си, отляво надясно: DCD (сигнал), GND (общ), RTS (захранване +)

Време е за събиране. Въпреки че няма нищо особено за събиране. Единственото нещо, което все още може да е необходимо, е женски конектор за COM порта. Взех диод KD521 (522 и други подобни силициеви са възможни), кондензаторът е 10 микрофарада, 16v.

управление
Puc.3

Окабеляването на женския конектор е в съответствие с номерата, които са на диаграмата. На снимката обаче дублирах и визуално (първият (1) е горе вляво, петият (5) е вдясно, червеният (7) е долу). Самият фотодетектор, очевидно, вече е направен по такъв начин, че не са необходими нито червени очила, нито екрани.

Всичко, с ютия и запояване завършено. Сега да се върнем към WinLIRC, освен това, овладяването му все още е наполовина. Не е най-трудното, но много отговорно.

След като свържете IR приемника към всеки COM порт (1-ви или 2-ри), трябва да проверите работата на веригата и детайлите като цяло. За целта се изкачваме в елемента от менюто за RAW данни в LIRC. Натиснете бутоните на дистанционното - вижте пакетите. Ако всичко е наред, нещо работи в прозореца, схемата може да се счита за работеща. Сега трябва да научите програмата LIRC да разпознава всички бутони на вашето дистанционно. В реда за конфигуриране въведете ново име на файл (където ще бъде описано вашето дистанционно управление) и отидете на елемента Научете. По-нататък - четем какво пишат и следваме инструкциите. Имах 100% разпознаване на пакети на почти всички бутони. След обучението е необходимо да анализирате получения файл с RAW данни от дистанционното управление. Щракнете върху бутона Анализ. Програмата ще възстанови CFG файла, където ще се съхраняват стойностите на всички бутони, които сте натиснали. Няма какво друго да правите в програмата LIRC, минимизирайте я - оставете я да виси в трея.Мушнете дистанционното - WinLIRC в трея трябва да реагира със зелена светлина на познатите бутони. След това, за провеждане на тестове на програмата, инсталирайте плъгин за Winamp, който ви позволява да контролирате плейъра. Плъгинът трябва да бъде конфигуриран. Като цяло ще трябва постоянно да влизате в .CF файла, който WinLIRC създаде за вашето дистанционно управление - там са имената на бутоните (които сте дали) - така че трябва да ги регистрирате в свойствата на приставката. Трябва да се пише на ръка. Въпреки това е лесно за разбиране. За целите на теста конфигурирах силата на звука (напред / назад) и движението на предишно-следващо през песните в плейлиста. Всичко заработи веднага. Нямаше проблеми.

Сега би било хубаво да изберете програма, която може да контролира Windows, програми, да натиска всякакви бутони и т.н. Като цяло, така че силата на перлата :)

На уебсайта на WinLIRC можете да намерите връзки към "съвместими" програми, които са съвместими с WinLIRC. Тези. програми от най-високо ниво. Какво се предлага:

- IREX - Работи с WinLIRC като клиентска страна. Твърде прост софтуер. Всички настройки за действие се записват ръчно в отделен cfg файл. Като обикновен стартер - може би ще стане.

- IRAssistant - пълни глупости - наистина не можах да го накарам да работи. Има всякакви настройки (цветове, всякакви шрифтове - цели две менюта), но за настройка на интерфейса с LIRC - почти нищо. Не я разбрах. Накратко, дори не можете да изтеглите.

- Odtwarzacz Filmow - някакъв прикачен файл за отделна задача (не съм го теглил).

- uICE - това е точно това, от което се нуждаете. Готино нещо. Малко не разполагах с достатъчно функционалност в него, но след 2 часа ровене вече започнах да му намирам грешки :)

Тук ще се спрем на uICE. Пълното име на програмата е Universal Infrared Control Engine. Разбира облак от всякакви устройства (като желязокакто и система). Включително LIRC. Освен това има както самия LIRC, така и желязото, което се нарича Basic LIRC устройство - точно това е запоено от 5 части :)

Така. Самият uICE може да работи самостоятелно и без никакъв LIRC - трябва само да бъде обучен на всички бутони. Има голям раздел за това. Но. Стойността на LIRC е, че анализира пакетите много умно и не дава грешки. Опитах се да науча uICE на бутоните на дистанционното управление дълго време (да, между другото, използвах дистанционното управление от стар телевизор SONY) - изглеждаше, че се научи, но като натисна бутона Volume + на дистанционното управление, можех да получа обратния резултат ("Volume-") и нещо друго и като цяло всичко. Просто програмата uICE има лошо звено за обучение и анализ. Единственият път, когато успях да науча да разпознавам точно две различни. Всичко. След това се уморих, пуснах WinLIRC, регистрирах се в uICE, че оттук нататък ще работи с WinLICR daemon като източник на сигнал. Не е трудно да се регистрирате - просто посочете IP на машината, оставете порта по подразбиране. Като индикатор, че съм се свързал правилно, AtGuard веднага ми каза, че някой прекъсва порт 8765 и обратно.

Всичко. След това трябва да регистрирате дистанционното управление, бутони в секцията с настройки (отново ще трябва да погледнете имената в .CF от WinLIRC)

управление
Puc.4 са вече създадени събития за отговор на бутона

и определя действията по тях. Наборът от действия е достатъчно широк, за да можете да правите почти всичко с Windows и програми (наборите за оформление ви позволяват да извършвате последователност от действия върху програми).

дистанционно
Puc.5

За телевизионния тунер предписах действия под формата на натискане на клавиши "в прозореца" - просто ATI TV има "пъргави бутони" в родния си софт, с които можете да превключвате канали, да променяте размера на прозореца и т.н. Така че ги бутнах там. Всичко работи перфектно. И променям силата на звукасистема - в настройките на uICE има специален раздел за това. Освен това можете да активирате специална функция, когато ще се показва като "меню на екрана" - като в обикновен телевизор - когато натиснете силата на звука на дистанционното управление - появява се "лента за напредък" и нещо се движи там. Накратко всичко е както трябва :)

управление
Puc.6

По този начин WinLIRC се използва като най-долния драйвер, който може да работи много добре с разпознаване на пакети (обучаване на всяко дистанционно управление), а uICE се използва като програма от най-високо ниво. Това е добър комплект за компютърно управление.

С помощта на дистанционното управление обаче можете не само да стартирате плейъра и телевизорите. Например, можете да организирате система за личен достъп - т.е. никой няма да се доближи до компютъра ви и във всеки момент сте натиснали бутон на дистанционното управление - и скрийнсейвърът спря да работи, натисна - влезе в мрежата и т.н.

Накратко, можете да фантазирате каквото искате. Все пак има много малки дистанционни - можеш да ги носиш със себе си като ключодържател :)

Разархивирайте файла winlirc.exe в някоя папка (напр. C:\Program Files\WinLIRC\) и го стартирайте. Инсталирането на WinLIRC е лесно, по-трудно е да го настроите.

WinLIRC работи по IP протокол. Следователно с помощта на едно дистанционно управление и един приемник управлявайте поне сто компютъра. Програмите, които работят с WinLIRC, се свързват през порт 8765. Сигналите, изпратени от WinLIRC към други програми, са изключително малки - 20 до 30 байта.

Императорски е установено, че разпознаването на сигнали, идващи от приемника, работи много по-добре на Windows 2000, XP (т.е. NT-платформи), отколкото на Windows 9x и ME. Това вероятно се дължи на различния механизъм на работа на COM портовете и различните алгоритми за разпределяне на изчислителните възможности на компютъра. Например ефективностразпознаването на Windows 98 беше около 40-50%, при идеални условия (минималното разстояние от дистанционното управление до приемника, нови батерии в дистанционното управление и т.н.), на Windows XP тази цифра се стремеше към 100% при всякакви условия.

Първо проверете дали съществува конфигурационен файл за вашето дистанционно. За да направите това, отидете на http://lirc.sourceforge.net/remotes/. Търсим нашето дистанционно. Ако не можете да намерите точния модел, изтеглете няколко конфигурации за подобни модели конзоли. Много е възможно да имате късмет.

WinLIRC се намира в трея. Щракнете двукратно върху иконата в лентата на WinLIRC и щракнете върху бутона „Преконфигуриране“.

Посочете порта, към който сте свързали приемника (COM1, COM2 и т.н.). За схемата, която е посочена на моя сайт, опцията „Тип приемник“ трябва да е „DCD“. "Скорост" - "115200" (по подразбиране) "Sense" - "автоматично откриване" (по подразбиране).

Първо, нека проверим дали устройството, което сте сглобили, работи. За да направите това, натиснете бутона "Необработени кодове" и щракнете върху бутона за дистанционно управление в приемника. Пуснахте надписи с цифри? Тогава всичко работи! Ако не бягате, значи нещо не е наред с вас. Може би сте прегряли нещо, запоили сте го грешно, може би контактът е излязъл. Накратко, проверете изправността на приемника, който сте сглобили.

Надявам се, че номерата ви се получиха? След това натиснете бутона "Преглед", за да изберете конфигурационния файл за вашата конзола. Щракнете върху „OK“, след това върху „Скриване на прозореца“. Сега всичко е готово. Следващите няколко параграфа не са за вас, но все пак си струва да ги прочетете.

Ако не можете да намерите готов конфигурационен файл, ще трябва сами да научите програмата на вашето дистанционно управление. Ние правим това:

1. В реда "Config" напишете "my_tv_remote.cf" (това е пример, в идеалния случай посочете модела на вашето дистанционно управление, например "vm201.cf"). Този конфигурационен файл ще запише вашите настройки.дистанционни.

.2. Кликнете върху бутона "Научете". Ще се появи съобщение: Това ще запише сигналите от вашето дистанционно управление и ще създаде конфигурационен файл за WinLIRC. Моля, въведете име за това дистанционно. Това е WinLIRC, който пита за името на вашето дистанционно. Посочете всички данни в програмата с цифри или латински букви без интервали.

4. Първа стъпка: Определете интервала на сигнала, дължината на сигнала и кодовете за повторение.

Натиснете "Enter", не се притеснявайте. 8)

5. Натиснете бутон. Натиснете и освободете произволен бутон на дистанционното. Моля, изчакайте секунда и го натиснете отново. След секунда го натиснете и отпуснете отново. Ще се появи инициализираната базова линия. Сега натискаме същия бутон десет пъти, броят оставащи пъти е посочен в скоби. Моля, изчакайте секунда и натиснете отново бутон (10 вляво) Моля, изчакайте секунда и натиснете отново бутон (9 вляво) Моля, изчакайте секунда и натиснете отново бутон (8 вляво) Натиснете бутон.

6. В резултат на това ще се появи следното съобщение: Това е дистанционно с повтаряне на сигнала без специален код за повторение. Задържането на бутона може бързо да доведе до много копия на кода на този бутон. Следователно ще бъдат взети 64 проби от всеки бутон. Ще бъдете подканени да въведете името на всеки бутон на свой ред. За да завършите записа на бутони, въведете празно име на бутон.

7. Сега трябва да научите WinLIRC на всички бутони на дистанционното управление. Това се прави по следния начин - питате се за име на бутон 1? (име на първия бутон)? Напишете заглавие. Както казах, пишете с цифри или латински букви без интервали, за предпочитане с главни букви. Посочете думата или цифрата, която е на дистанционното управление. Например: "1", "STOP", "REW", "CH+", "VOL-", "MUTE" и т.н. и т.н. След това натиснете бутона за няколко секунди. Числата ще се изпълняват в прозореца, нещо като това: Базовата линия е инициализирана. съвпадения=64, грешки=19 Щракайте до съвпаденияще достигне 64. Колкото по-малко грешки (грешки), толкова по-добре, разбира се.

8. WinLIRC ще ви попита за името на втория бутон - напишете името на втория бутон. И така работим докато свършат всички бутони на дистанционното. Когато бутоните свършат, без да въведете име, натиснете "Enter". Появява се съобщението „Конфигурацията е написана успешно, не забравяйте да анализирате“.

9. Щракнете върху бутона "Анализиране", за което получавате "анализът е успешен". Сега всичко е готово. Щракнете върху „OK“, след това върху „Скриване на прозореца“. Настройката на WinLIRC е завършена