UoKit.com Форумы > Кликер > UO Pilot > Плагины и доп. ПО
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
Александр85
Всем привет =)
Предлагаю на рассмотрение аппаратную клавиатуру UOkeyboard - usb устройство эмулирующее нажатие клавиш клавиатуры.
Нажмите для просмотра прикрепленного файла

UOkeyboard, это usb устройство гаджет которое работает как usd-hid клавиатура и посылает нажатия клавиш, по заданному алгоритму. UOkeyboard довольно полезная штука в ситуациях, когда нужно долго и монотонно кликать по одним и тем же кнопкам.
Теперь не требуется судорожно жать на все кнопки! Стоит просто подключить данное устройство в свободный USB разъем компьютера, и нажатие клавиш клавиатуры будет автоматическое по заданному вами алгоритму!
Одной из приятных особенностей является то, что UOkeyboard не "палится" системой защиты.
Поскольку он не требует драйвера, и определяется как обычная клавиатура. Для HID-устройств USB не нужны драйвера в операционных системах Windows, драйвер находиться уже в самой ОС.
При первом подключении, ПК автоматически распознает UOkeyboard, занимает несколько секунд.
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла


В дальнейшем при использовании UOkeyboard, гаджет начинает сразу же работать при подключении в USB.
Возможные варианты использования UOkeyboard:
I.Отлично помогает в пвп.
II.Прокачивать персонажа.
III.Cпам сообщений в чат.
Схема UOkeyboard
Нажмите для просмотра прикрепленного файла

Данный девайс 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.

Схему лучше собрать на монтажной плате, и вкинуть в подходящий корпус.
Выглядит это примерно так =)
Нажмите для просмотра прикрепленного файла


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

ПОСТ ЕЩЕ НЕ ДОПИСАН.....
Вверх
Zeleax
Отличная работа!

Сразу скажу, что я далек от разработки электрических схем и вряд ли самостоятельно смогу собрать подобный девайс для тестирования )

Однако вопросы есть:
1) где же прошивка?
2) поясните, как это работает? Воткнули в комп, опозналось. Что с этим делать дальше- как посылать команды для нажатия/отжатия отдельных кнопок/комбинаций кнопок? )
3) почти п.2. Как из скрипта пилота посылать команды на девайс?
4) можно ли его впоследствии перепрограммировать?
5) есть ли подходящие программаторы (за разумные деньги) не виде отдельных плат, а в виде девайса, подключаемого к USB-порту ноута? Или этот программатор так и работает?
6) можно ли каждому такому эмулятору клавиатуры присвоить свой уникальный номер и считывать его программным образом?
Вверх
DarkMaster
Цитата
6) можно ли каждому такому эмулятору клавиатуры присвоить свой уникальный номер и считывать его программным образом?

Я бы даже немного иначе выразился. Можно ли считывать какой-нибудь уникальный ид чипа, которой нельзя изменить?
Вверх
Александр85
Цитата(Zeleax @ 20.5.2013, 20:14)

Отличная работа!

Сразу скажу, что я далек от разработки электрических схем и вряд ли самостоятельно смогу собрать подобный девайс для тестирования )

Однако вопросы есть:
1) где же прошивка?
2) поясните, как это работает? Воткнули в комп, опозналось. Что с этим делать дальше- как посылать команды для нажатия/отжатия отдельных кнопок/комбинаций кнопок? )
3) почти п.2. Как из скрипта пилота посылать команды на девайс?
4) можно ли его впоследствии перепрограммировать?
5) есть ли подходящие программаторы (за разумные деньги) не виде отдельных плат, а в виде девайса, подключаемого к USB-порту ноута? Или этот программатор так и работает?
6) можно ли каждому такому эмулятору клавиатуры присвоить свой уникальный номер и считывать его программным образом?

Большое спасибо что оценили мой труд =)
Отвечаю по порядку.
1. Прошивку, я постараюсь выложить завтра, нада ее причесать и написать комментарии для понимания обычным человеком далекого от программирования микроконтроллеров. Прошивка написанная на языке Си.
2. Работает очень просто. Запрограммировал микроконтроллер нужным алгоритмом нажатия клавиш, воткнул в USB и пошло нажатие клавиш по заданному алгоритму.
3. На данном этапе никак. Эта перспектива на будущее, интеграция Пилота и моего девайса. Совместными усилиями это реально сделать.
4. Конечно можно! Программировать можно около 100 000 раз, пока не сотрешь энергонезависимую память микроконтроллера.
5. Да это внутрисхемный программатор, он подключается к USB-порту. Можно купить любой другой за меньшую сумму, я написал которым сам пользуюсь. В дальнейшем если приложить усилия к развитию данного девайса программатор не потребуется вообще. Если выход программировать напрямую через USB разъем устройства. Для этого нада дописать программу микроконтроллера.
6. Да каждое устройство USB имеет свой уникальный номер, и данный девайс не исключение.
Можно считать, но этот вопрос больше к программистам.
Вверх
Zeleax
Цитата
2. Работает очень просто. Запрограммировал микроконтроллер нужным алгоритмом нажатия клавиш, воткнул в USB и пошло нажатие клавиш по заданному алгоритму.

Я правильно понял, что сейчас для того чтобы задать новую последовательность нажатия клавиш нужно заново перепрограммировать (перепрошить программатором) устройство?
Вверх
DarkMaster
да
Вверх
Александр85
Цитата(Zeleax @ 20.5.2013, 21:43)

Я правильно понял, что сейчас для того чтобы задать новую последовательность нажатия клавиш нужно заново перепрограммировать (перепрошить программатором) устройство?

Да.
Микроконтроллер программируется 1-2 секунды.
Вверх
Zeleax
Цитата(Александр85 @ 20.5.2013, 20:48)

Да.

Значит нам предстоит большая коллективная работа )
Вверх
DarkMaster
Причем перспективная и интересная
Вверх
Zeleax
Мне кажется, что даже если получится реализовать программный интерфейс для управления этим устройством, то к сожалению, защиту от него так же реализовать будет несложно. Причем, как только об этом устройстве узнают...

Хотя если при отправке данных на устройство шифровать их уникальным _закрытым_ ключем устройства (не поддающимся программному чтению), то может что-то и выгорит...
Вверх
Invision Power Board © 2001-2024 Invision Power Services, Inc.
Version for Pocket PC © 2006-2024, IPBest Studio.