Здравствуйте, гость ( Вход | Регистрация )

> Hardware UO Pilot, Аппаратный UO Pilot
Александр85
сообщение 20.5.2013, 8:50
Сообщение #1


**

Neophyte
Сообщений: 46
Регистрация: 17.5.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 16.071



Всем привет =)
Предлагаю на рассмотрение аппаратную клавиатуру UOkeyboard - usb устройство эмулирующее нажатие клавиш клавиатуры.
Прикрепленное изображение
(IMG:http://img-fotki.yandex.ru/get/9089/211554415.0/0_10f302_e4c1343e_L.jpg)
UOkeyboard, это usb устройство гаджет которое работает как usd-hid клавиатура и посылает нажатия клавиш, по заданному алгоритму. UOkeyboard довольно полезная штука в ситуациях, когда нужно долго и монотонно кликать по одним и тем же кнопкам.
Теперь не требуется судорожно жать на все кнопки! Стоит просто подключить данное устройство в свободный USB разъем компьютера, и нажатие клавиш клавиатуры будет автоматическое по заданному вами алгоритму!
Одной из приятных особенностей является то, что UOkeyboard не "палится" системой защиты.
Поскольку он не требует драйвера, и определяется как обычная клавиатура. Для HID-устройств USB не нужны драйвера в операционных системах Windows, драйвер находиться уже в самой ОС.
При первом подключении, ПК автоматически распознает UOkeyboard, занимает несколько секунд.
Прикрепленное изображение
Прикрепленное изображение
(IMG:http://img-fotki.yandex.ru/get/9164/211554415.0/0_10f2ef_2930a705_M.jpg)
(IMG:http://img-fotki.yandex.ru/get/9153/211554415.0/0_10f2f0_3d1dbc81_M.jpg)
В дальнейшем при использовании UOkeyboard, гаджет начинает сразу же работать при подключении в USB.
Возможные варианты использования UOkeyboard:
I.Отлично помогает в пвп.
II.Прокачивать персонажа.
III.Cпам сообщений в чат.
Схема UOkeyboard
Прикрепленное изображение
(IMG:http://img-fotki.yandex.ru/get/9090/211554415.0/0_10f301_2d3939c9_L.jpg)
Данный девайс UOkeyboard был разработан на основе МастерКидовского набора MP1505 - Клавиатурная шутка Мастер Кит. Был перепрограммирован микроконтроллер написанной мною программой, задан алгоритм нажатия клавиш клавиатуры.
Теперь по порядку:
1. Описание схемы:
Основой данного девайса является микроконтроллер фирмы Atmel AVR - ATtiny45, ножки которого 5 и 7 подключены через резисторы 68 Ом к USB разъему. Эти резисторы 68 Ом несут защитную функцию. Диоды D2, D3 необходимы для согласования требования стандарта USB по уровням сигналов. Светодиод D1 нужен для индикации работы устройства UOkeyboard. Для программирования микроконтроллера стоит разъем ISP. (в Мастер Китовском наборе его нет.)
2. Описание программы для прошивки UOkeyboard:
Прошивка для UOkeyboard основан на коде AVR USB и доступен на условиях лицензии GNU (Универсальная общественная лицензия). Микроконтроллер ATtiny45 не поддерживает аппаратного USB протокола, поэтому пришлось писать программный интерфейс USB. Из-за этого программа выросла в размерах. Я выкладываю исходник прошивки с комментариями.
При написании программы использовались программа AVR Studio — интегрированная среда разработки (IDE) для разработки 8-ми и 32-х битных AVR приложений от компании Atmel, работающая в операционных системах Windows NT/2000/XP/Vista/7. А также программный пакет WinAVR — включающий в себя кросс-компилятор и инструменты разработки для микроконтроллеров серий AVR и AVR32 фирмы Atmel. Прошивка для UOkeyboard написана на язике Си для AVR микроконтроллеров.
Желающих ознакомиться с основами программирования на язике Си под AVR микроконтроллеры советую почитать тут.
3. Как прошить UO keydoard.
После того как готова прошивка с заданным алгоритмом работы UO keydoard нам понадобиться программатор для микроконтроллера ATtiny45. Я использую вот этот AVR программатор . Вы можете использовать любой другой. Думаю с прошивкой микроконтроллера проблем не будет, там все тривиально.

Теперь все готово, подключаем UO keydoard в свободны разъем USB и наслаждаемся работой =)

Эта разработка абсолютно бесплатная (Freeware), распространяется "как есть" ("As is"),
то есть вы используете ее на свой страх и риск! И я, как автор, не несу никакой ответственности
за последствия, связанные с использованием этого устройства на Вашем компьютере.

Жду ваших отзывов о данной разработке, замечаний, предложений ....

Желающих собрать схему самостоятельно, выкладываю полный список комплектации:
1. МК ATtiny45
2. макетная плата
3. USB разъем
4. 2 резистора 68 Ом (0.25 Вт)
5. 1 резистор 2.2к Ом и 1 резистор 470 Ом (0.25 Вт)
6. 2 диода DL4148 (или любой другой маломочный)
7. 1 светодиод (любой по вашему желанию)
8. Конденсатор 0.1 мкФ
9. Разъем ISP
10. Панелька под контроллер если будете брать в корпусе DIP8.

Схему лучше собрать на монтажной плате, и вкинуть в подходящий корпус.
Выглядит это примерно так =)
Прикрепленное изображение
(IMG:http://img-fotki.yandex.ru/get/9110/211554415.0/0_10fbb6_bcad132a_M.jpg)

Выкладываю прошивку которую, я брал за основу. Исходный код прошивки распространен на условиях лицензии GNU (Code and Life=) Данная прошивка эмулирует USB-клавиатуру и генерирует нажатия на кнопки. Файл для прошивки микроконтроллера Haunted-USB.hex находиться в папке default.
СКАЧАТЬ
Тут прошивка, исходный код программы на Си, весь проект в AVRstudio. (архив желательно распаковать на диск С в корневик)

ПОСТ ЕЩЕ НЕ ДОПИСАН.....


--------------------
Консультации Hardware UO Pilot
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
DarkMaster
сообщение 25.1.2014, 17:44
Сообщение #2


***********

Модератор UOPilot
Сообщений: 9.495
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 28093
Пользователь №: 11.279



Цитата
Функция возвращает - 0, 1 и 2. (0 - не подключено, 1 - подключено, 2 - не задано ни одного аргумента функции).

А успех то что вернет? Вообще обычно успех true, т.е. 1 либо >1, ошибка 0, учитывая, что ошибки две, я бы уводил в минус их по аналогии с find'ами.
Цитата
Расширенные коды клавиш - это какие?

Это медиа хрень всякая. Обычно они бесполезны, но имея данный девайс можно было бы биндить действия в игре на фэйковые клавиши и тем самым не забивать игровую раскладку.
http://sharpkeys.codeplex.com/#
глянь прожку. Речь идет кнопках E0_КОД.
Тут еще одна интересная статейка в эту же тему, правда там рассматриваются посылы сочетаний клавиш и походу без предварительного зажатия альта, так же туда попали почему-то клавиши типа pg_down. http://kit.znu.edu.ua/iLec/1sem/ARCH1/Lab/...in/keyboard.htm
Еще такой вопрос у меня есть немного не по теме, но все же. У меня на клавиатуре некоторые клавиши работают только на ps/2, а вот уже на usb чтобы заработали надо дрова держать загруженными в памяти. WTF? Это кстати кусок расширенных.
Цитата
о поводу map'a клавиш - приму для работы таблицу на usb2kbd@gmail.com со штатными клавишами Uopilot'a - рассмотрю.

Штатные или не штатные пилота - оно не имеет значения. Смысл фактически иметь возможность писать саму клавишу а не ее код. Самый тупой вариант, как это можно сделать - запихать таблицу скан кодов из xls в map и успокоиться на этом. Эксель кстати очень удобен для создания map'ов - вся типовая писанина заменяется растягиванием. Мапом не нужно только полностью заменять возможность числовой посылки кода. Пилот сейчас на этом спотыкается сильно. Простой вариант - он всегда удобнее, надо что-то хардкорное, тогда идем за кодами.
Цитата

Принимаю добровольные пожертвования на развитие проекта в размере 1200 рублей (300 грн).

Это фиксированный размер в не зависимости от количества или как или что?
Я просто не совсем готов за одну штуку отвалить 1200...

Сообщение отредактировал DarkMaster - 25.1.2014, 17:49


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
usb2kbd
сообщение 25.1.2014, 19:28
Сообщение #3


**

Neophyte
Сообщений: 48
Регистрация: 31.8.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 16.302



Цитата(DarkMaster @ 25.1.2014, 18:44) *

А успех то что вернет?


0 - устройство не подключено и соотв пакет никуда не пошел, 1 - девайс подключен и, значит, пакет успешно ушел в девайс, а вот девайс, к сожалению ответить в функцию никак не может, по крайней мере, я такой технологией не владею. Он будет "занят" ответом в хост нажатиями. Поэтому предполагается, если девайс подключен и виден в системе, значит он отработает пакет. Просто нужно учесть минимальные рандомные "человеческие" паузы м.д нажатиями, а не отсылать 100500 нажатий сразу (IMG:style_emoticons/default/smile.gif)

Цитата(DarkMaster @ 25.1.2014, 18:44) *

Это медиа хрень всякая. Обычно они бесполезны, но имея данный девайс можно было бы биндить действия в игре на фэйковые клавиши и тем самым не забивать игровую раскладку.

Из списка кодов клавиш -

127 Keyboard Mute
128 Keyboard Volume Up
129 Keyboard Volume Down

и.т д.
- ,возможно, это.

На практике - я обычно решаю этот вопрос через сторонее ПО (например тот же Autohotkey, у него есть встроенный механизм ремаппа любой клавиши и на что ее заменять. Причем "на что заменить" может быть скриптом.
Пример:

a::
hFile := DllCall("mydll\Sum", int, 1, int, 11, int, 0, int, 0)
Sleep, 40
hFile := DllCall("mydll\Sum", int, 2, int, 11, int, 0, int, 0)
return

Нажимаешь a - печатается h.


Цитата(DarkMaster @ 25.1.2014, 18:44) *


Еще такой вопрос у меня есть немного не по теме, но все же. У меня на клавиатуре некоторые клавиши работают только на ps/2, а вот уже на usb чтобы заработали надо дрова держать загруженными в памяти. WTF?

С таким не сталкивался, но опять же ремапп программный на удобноваримую для usb2kbd всегда рулит. Главное чтоб внешняя програ-ремаппер отлавливала эти "некоторые" клавиши.

Цитата(DarkMaster @ 25.1.2014, 18:44) *

Штатные или не штатные пилота - оно не имеет значения. Смысл фактически иметь возможность писать саму клавишу а не ее код. Самый тупой вариант, как это можно сделать - запихать таблицу скан кодов из xls в map и успокоиться на этом. Эксель кстати очень удобен для создания map'ов - вся типовая писанина заменяется растягиванием. Мапом не нужно только полностью заменять возможность числовой посылки кода. Пилот сейчас на этом спотыкается сильно. Простой вариант - он всегда удобнее, надо что-то хардкорное, тогда идем за кодами.

Если честно, я как бы с с++ знаком менее 2 месяцев, и то изучил только основы для создания DLL и ПО, я ранее чуть программировал в VB, а сейчас мучаю PHP на уровне новичка... (IMG:style_emoticons/default/smile.gif) Сейчас я рассматриваю вариант выкладывания сорсов Dll-ки на Borland C++ Builder (в т.ч. доработанной для UOpilot), чтоб Вы его могли править как хотите и адаптировали его с учетом требований и пожеланий форумчан для нужд UOPilot (с условием неизменности моего кода), т.к. уверен, у Вас это выйдет лучше меня и, однозначно, оптимальнее.

Цитата(DarkMaster @ 25.1.2014, 18:44) *

Это фиксированный размер в не зависимости от количества или как или что?
Я просто не совсем готов за одну штуку отвалить 1200...


Торг всегда уместен... Скажем, так - Специальные "пилотные" условия для администрации портала UOPilot - Заинтересованное лицо "помогает" проекту на развитие в размере 200грн/800р. (себестоимость + время на сборку/пайку + премирование идейности) и получает по "Новой Почте"+пересылка за счет получателя (Украина) или Укрпочтой (Россия) "материал" по проекту в размере 1шт. Я думаю, это в первую очередь, касается администрации портала, так сказать, "пощупать", "потестить на деле".

По сути дела это та же стоимость средней мыши + клавы в магазине (не самые навороченные, типа монстров Logitech, о которых как-то кто-то упоминал выше).

Дешевле уже некуда, бо смысла нет тратить на все это силы и разум. Все, так сказать, ХендМейд, паяльник и мозги. (IMG:style_emoticons/default/smile.gif)

PS:
Кстати, приведу тут ответ одного мастера из РФ, тогда я только вынашивал идею usb2kbd (ответ от апреля 2013 года) - он продавал похожий девайс, только (!) обмен данными был через Com-порт, и его устройство могло представляться только ЛИБО клавой ЛИБО только мышью в зависимости от Firmware.

Цитата:

> Добрый день!
>
> А сколько будет стоить девайс в фул сборке (в RUR)
>
1шт - 2000
> =4шт - 1500

Конец цитаты.

Второй случай, помните, я писал по поводу того, что одному Китайцу удалось соединить два девайса в одном и передавать данные в устройство по USB, т.е. по сути то, что умеет на сегодня USB2kbd? Так вот он на e-bay'e задвигал девайс (с исходниками правда) за 70 енотов ), ну и там до 50 енотов если больше 1 берешь.

Как-то так.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
Александр85   Hardware UO Pilot   20.5.2013, 8:50
Zeleax   Отличная работа! Сразу скажу, что я далек от ...   20.5.2013, 19:14
Александр85   Отличная работа! Сразу скажу, что я далек от...   20.5.2013, 20:32
DarkMaster   Я бы даже немного иначе выразился. Можно ли считы...   20.5.2013, 19:52
Александр85   Я бы даже немного иначе выразился. Можно ли считы...   20.5.2013, 22:01
Zeleax   Я правильно понял, что сейчас для того чтобы зада...   20.5.2013, 20:43
Александр85   Я правильно понял, что сейчас для того чтобы зада...   20.5.2013, 20:48
Zeleax   Да. Значит нам предстоит большая коллективная ра...   20.5.2013, 20:50
Александр85   Значит нам предстоит большая коллективная работа ...   20.5.2013, 20:56
Zeleax   Для интеграции данного устройства нам предстоит с...   20.5.2013, 21:06
Александр85   1) Что нужно для того, чтобы устройство принимало...   20.5.2013, 21:16
DarkMaster   да   20.5.2013, 20:44
DarkMaster   Причем перспективная и интересная :)   20.5.2013, 20:55
Zeleax   Мне кажется, что даже если получится реализовать п...   20.5.2013, 20:55
DarkMaster   Где-то видел интересную заметку по этому поводу. ...   20.5.2013, 20:59
Zeleax   К устройству можно сформулировать следующие требов...   20.5.2013, 21:52
Александр85   К устройству можно сформулировать следующие требо...   20.5.2013, 22:23
Александр85   Вот подобные устройства для размышлений: 1. Подклю...   21.5.2013, 8:52
DarkMaster   Можно этот момент разжевать?   21.5.2013, 11:33
Александр85   Можно этот момент разжевать? Микроконтроллеры A...   21.5.2013, 11:52
EL-GReeN   Каковы будут действия обычных пользователей желающ...   21.5.2013, 11:54
Александр85   Каковы будут действия обычных пользователей желаю...   21.5.2013, 12:33
DarkMaster   Я боюсь можно ее и принтером заставить определять...   21.5.2013, 12:25
DarkMaster   А что есть панелька под контроллер? Как оно выгляд...   21.5.2013, 13:21
Александр85   А что есть панелька под контроллер? Как оно выгля...   21.5.2013, 13:31
Zeleax   Посмотрел здесь по поводу мастеркитовских наборов ...   21.5.2013, 13:51
Александр85   Посмотрел здесь по поводу мастеркитовских наборов...   21.5.2013, 14:09
DarkMaster   Я извиняюсь, думал это ее так обозвали по простом...   21.5.2013, 14:13
Александр85   Насколько я понял 9009 - это под LPT порт. В цело...   21.5.2013, 14:29
Zeleax   А этот подойдет? http://www.aliexpress.com/item/US...   21.5.2013, 18:56
Александр85   А этот подойдет? [url=http://www.aliexpress.com/i...   21.5.2013, 19:18
Zeleax   Да, это тот программатор, только в корпусе. Цена ...   21.5.2013, 19:41
Александр85   я просто не в курсе как на это таможня реагирует ...   21.5.2013, 19:53
Zeleax   Вот еще похожие "шуткогенераторы" нашел:...   21.5.2013, 20:24
Александр85   Вот еще похожие "шуткогенераторы" нашел...   21.5.2013, 21:52
uouser   девайс хороший, очень интересный, но пока навскидк...   22.5.2013, 3:54
DarkMaster   Мысли безусловно правильные, но не совсем понятно,...   22.5.2013, 8:16
Александр85   Народ, вас потянуло в высшие материи <_< На...   22.5.2013, 9:17
WKnight   Чето tiny45 в нашей деревне в пределах досягаемост...   23.5.2013, 11:37
Zeleax   Чето tiny45 в нашей деревне в пределах досягаемос...   23.5.2013, 12:18
Александр85   Чето tiny45 в нашей деревне в пределах досягаемос...   23.5.2013, 12:30
Zeleax   Тембоие они могут быть залоченные для перепрошивк...   23.5.2013, 13:29
Александр85   А в наборе матеркита (генератор-шутка) точно не з...   23.5.2013, 13:35
WKnight   Ждать доставки лень :)   23.5.2013, 12:42
DarkMaster   ATtiny45-20PU ATtiny45-20SU Это указание на способ...   24.5.2013, 9:06
Александр85   После продолжительного поиска в интернете нашел М...   24.5.2013, 9:18
Fantomas   Эх, офигеть давно за постами не следил, а тут тако...   23.6.2013, 11:20
Александр85   Эх, офигеть давно за постами не следил, а тут так...   25.6.2013, 9:26
Fantomas   Информация ценная, тут вопросов нет :rolleyes: Ес...   19.9.2013, 7:48
usb2kbd   Иначе в противном случае ваше устройство ничем не...   23.9.2013, 20:26
Fantomas   to Darkmaster and usb2kbd: (: а я то думал...полн...   30.9.2013, 3:10
usb2kbd   И снова здравствуйте, дорогие друзья! Долгие м...   22.1.2014, 1:24
Auto_BOT   а не проще ли вам устройство немного переделать ? ...   3.7.2013, 23:31
Александр85   а не проще ли вам устройство немного переделать ?...   4.7.2013, 12:49
Warstone   Этому девайсу можно 2 USB девайся впоять... Чтобы ...   4.7.2013, 22:54
Александр85   Этому девайсу можно 2 USB девайся впоять... Чтобы...   5.7.2013, 8:42
usb2kbd   Этому девайсу можно 2 USB девайся впоять... Чтобы...   31.8.2013, 19:29
Warstone   > Я конечно извиняюсь, но ход вашей мысли я не ...   5.7.2013, 22:28
Александр85   > Я конечно извиняюсь, но ход вашей мысли я не...   5.7.2013, 22:41
Simych   Интересная очень тема, в сентябре к пойду к препод...   23.8.2013, 13:30
Александр85   Проект USB2KBD заслуживает рассмотрения, продвижен...   3.9.2013, 10:14
xolost   Если Кнайт что-то по этому поводу доработает, то м...   3.9.2013, 11:11
usb2kbd   Если Кнайт что-то по этому поводу доработает, то ...   3.9.2013, 12:57
xolost   понятно А если просто 2 флешки юзать? одну для к...   3.9.2013, 13:05
usb2kbd   понятно А если просто 2 флешки юзать? одну для кл...   3.9.2013, 13:18
Александр85   Простые нажатия клавиш будут работать 100%, а полн...   3.9.2013, 11:24
xolost   Простые нажатия клавиш будут работать 100%, а пол...   3.9.2013, 11:30
Александр85   А какой тогда в этом смысл? Не проще механическое...   3.9.2013, 11:38
Александр85   Для полноценной работы пилота нужна конечно и эмул...   3.9.2013, 14:35
usb2kbd   Для полноценной работы пилота нужна конечно и эму...   3.9.2013, 19:00
DarkMaster   Кажется все говорят о разном. Из всего сказанного ...   3.9.2013, 16:32
Александр85   Я так поня вы с помощью AUTOHOTKEY и usb2kbd сдела...   3.9.2013, 19:19
usb2kbd   Я так поня вы с помощью AUTOHOTKEY и usb2kbd сдел...   3.9.2013, 19:26
Александр85   А посылать нажатия сочетаний клавиш например Alt+F...   3.9.2013, 19:33
usb2kbd   А посылать нажатия сочетаний клавиш например Alt+...   3.9.2013, 19:36
Александр85   Контроллер мега8 стоит в usb2kbd?   3.9.2013, 19:39
usb2kbd   Контроллер мега8 стоит в usb2kbd? Да.   3.9.2013, 19:40
Александр85   Идея мне нравиться, должно все получиться красиво....   3.9.2013, 19:46
usb2kbd   Cочетания работают. Посылал ALT+Y - отображение ко...   3.9.2013, 20:04
DarkMaster   На данный момент ситуация 1 в 1 четырехмесячной д...   4.9.2013, 11:23
Александр85   Обращение к Кнайту. Как сложно дописать команду в...   5.9.2013, 8:30
DarkMaster   Для начала надо написать плагин-дллку которая буде...   5.9.2013, 17:54
usb2kbd   Сечас нашел тему от наших Китайских друзей, в кото...   7.9.2013, 9:48
WKnight   И работать будет с момента поддержки плагинов, а ...   7.9.2013, 12:55
Cockney   а в каком виде в компорт должны отправляться коды ...   7.9.2013, 17:13
usb2kbd   Виртуальный компорт не поможет?. Управляющие па...   8.9.2013, 10:35
DarkMaster   Fantomas, смысл этого девайса не создать скриптовы...   19.9.2013, 12:09
DarkMaster   дллку где брать? к пилоту прикручивать будем? :)   22.1.2014, 8:57
usb2kbd   дллку где брать? к пилоту прикручивать будем? :) ...   22.1.2014, 11:33
DarkMaster   Можно какие-то контактные данные получить, чтобы о...   22.1.2014, 17:15
usb2kbd   Можно какие-то контактные данные получить, чтобы ...   22.1.2014, 20:30
DarkMaster   Чиркнул в скайп. Не уверен в разумности диалога на...   23.1.2014, 0:25
usb2kbd   Чиркнул в скайп. Не уверен в разумности диалога н...   25.1.2014, 1:12
DarkMaster   Мдя. А я как раз хотел этот момент обговорить и ли...   25.1.2014, 1:25
DarkMaster   Дальше список мыслей. Это не расстрел, а просто мн...   25.1.2014, 1:38
usb2kbd   Готово. Теперь Send () лучше сразу привести в н...   25.1.2014, 12:10
DarkMaster   Полная тишина. Система в принципе не понимает, чт...   25.1.2014, 20:12
usb2kbd   По количеству надо только сориентироваться. 2-4 ш...   25.1.2014, 21:47
2 страниц V  1 2 >


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 18.6.2024, 21:16
Designed by Nickostyle