Оглавление:
- Предпосылки
- Шаг 1: припаиваем корпус IPhone - часть 1
- Шаг 2: припаиваем корпус IPhone - часть 2
- Шаг 3: припаиваем разъем PS / 2 - часть 1
- Шаг 4: Припаиваем разъем PS / 2 - Часть 2
- Шаг 5: припаяйте коннекторы к выводам
- Шаг 6. (Необязательно) Жгут аккумуляторной батареи 9 В
- Шаг 7. Присоедините выводы PS / 2 к Arduino
- Шаг 8: подключите выводы iPhone к Arduino
- Шаг 9: Код Arduino
- Шаг 10: Клиентская программа для iPhone
- Шаг 11: завершающие штрихи и дальнейшая работа
Видео: Как подключить клавиатуру PS / 2 к iPhone: 11 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:55
Хотя я видел много изображений клавиатур PS / 2, подключенных к iPhone в Интернете, никто еще не опубликовал подробное руководство о том, как заставить это работать самостоятельно. До сих пор так и есть.
В этом руководстве я покажу вам, как сделать преобразователь клавиатуры PS / 2 в iPhone, включая все инструкции по оборудованию и программному обеспечению.
Предпосылки
- Взломанный iPhone - официальный SDK не разрешает доступ к последовательному порту из-за Заговора Эльфов, поэтому требуется взломать. Все, что вам нужно знать о взломе, можно найти в блоге команды разработчиков iPhone.
- Arduino Diecimila или Dumilanove (или клон), доступный во многих местах. Это руководство предполагает, что ваш Arduino собран.
- Плата iPod Breakout, такая как эта от Sparkfun. Подойдет любой аналогичный продукт.
- Женский разъем PS / 2 (Din 6) для клавиатуры. Снимите один со старого компьютера или купите у Digikey или аналогичного поставщика.
- Проволока, желательно нескольких цветов и около 24 калибра. На фотографиях ниже я использую катушку от RadioShack.
- Один резистор 500 кОм. Я использую осевой резистор для сквозного отверстия от RadioShack, но вы также можете добавить его в свой заказ на Digikey.
- Паяльник и припой. Если вы не умеете паять, вы можете узнать здесь и здесь.
- (Необязательно) Заголовки контактов, подобные этим. Я отламываю их и припаяю к концам проводов, чтобы они хорошо вставлялись в Arduino.
- (Необязательно) Аккумулятор Sweet 9v, чтобы ваш Arduino стал портативным, его можно приобрести в магазине Maker Store.
- (Необязательно) Разъем для стереонаушников от RadioShack или Digikey.
Шаг 1: припаиваем корпус IPhone - часть 1
Как только все ингредиенты будут доставлены, включите паяльник и взгляните на распиновку разъема iPod.
Мы будем использовать четыре из этих контактов для клавиатуры: 11, 13, 16 и 21. Определение контакта 21 гласит, что нам нужно разместить резистор 500 кОм между контактом 21 и землей, чтобы обеспечить последовательную связь с iPhone, поэтому мы собираемся вставить резистор между контактом 21 и контактом 16, который является последовательным заземлением. Мы также собираемся добавить заголовки контактов к контактам 11 и 13, которые будут действовать как контакты TX и RX для последовательной связи. Поскольку мы будем отправлять ТОЛЬКО на iPhone, мы используем только контакт RX iPhone, поэтому мы также добавим кусок провода для соединения контакта 11, неиспользуемого контакта TX, непосредственно с землей на контакте 16.
Вы также можете опционально добавить разъем для наушников к контактам 2, 3 и 4 прямо сейчас, и он будет работать всякий раз, когда будет подключен разъем. Это не имеет ничего общего с клавиатурой, но если у вас есть iPhone 1G с хромым не- стандартный разъем для наушников, это исправит.
Шаг 2: припаиваем корпус IPhone - часть 2
Я поставил перемычку между контактом 11 и контактом 16 на задней стороне коммутационной платы. Установить все на контакт 16 может быть немного сложно, поэтому я рекомендую сначала проткнуть резистор через отверстие, затем обернуть конец перемычки вокруг него и спаять их вместе, прежде чем отрезать вывод резистора.
Еще одна тактика, которая может быть здесь полезна, - сначала залудить концы вашего провода, а затем нанести немного припоя на отверстие, в которое вы хотите вставить провод. Используйте край паяльника, чтобы нагреть каплю припоя, и ЗАСТАВЬТЕ луженый конец провода в каплю. Снимите утюг, дайте капле остыть, затем отпустите проволоку.
Шаг 3: припаиваем разъем PS / 2 - часть 1
Нет пути, по которому вы можете пройти через нумерацию контактов разъема PS / 2, который имел бы какой-либо смысл вне контекста беспорядочной болтовни на собрании комитета. Не думайте слишком много о пин-кодах, просто посмотрите на картинку.
Здесь мы будем использовать четыре контакта и подключать их все к Arduino. Земля будет подключена к земле на Arduino, VCC будет подключен к 5 В, а контакты Data и Clock будут подключены к двум цифровым контактам Arduino (3 и 4).
Шаг 4: Припаиваем разъем PS / 2 - Часть 2
Нижняя часть разъема PS / 2 еще менее интуитивно понятна, чем схема нумерации. Я рекомендую проверить это изображение, а также убедиться, что контакты в нижней части разъема совпадают с пронумерованными контактами, которые, по вашему мнению, они делают, прежде чем паять что-либо. Вы можете проверить подключение с помощью обычного мультиметра, настроив его на измерение сопротивления и подключив один щуп к штырю снизу, а другой воткнув в отверстие. Если сопротивление вообще есть, то этот штифт подсоединен к этому отверстию.
Я использую зеленый провод для вывода часов, красный провод для VCC, белый провод для данных и черный провод для заземления.
Шаг 5: припаяйте коннекторы к выводам
После того, как вы подключили разъемы, зачистите другие концы проводов и припаяйте выводы к контактным разъемам. Это позволит вам легко подключить их к Arduino. Если у вас нет разъемов для контактов, можно попробовать осторожно залудить провода, чтобы они лучше оставались в отверстиях для контактов Arduino.
Я подключил провода к контактам на контактах 11 и 13 коммутационной платы iPhone. Черный провод - к земле (контакт 11), а красный провод - к VCC (контакт 13). Затем я припаял контактные разъемы к выводам для двух проводов от коммутационной платы и четырех проводов от разъема PS / 2.
Шаг 6. (Необязательно) Жгут аккумуляторной батареи 9 В
Я использую Arduino Diecimila, поскольку для этой программы не требуется более совершенный чип. Это показано с проводом батареи 9 В от SparkFun для портативности.
Шаг 7. Присоедините выводы PS / 2 к Arduino
Затем мы подключаем разъем PS / 2 к Arduino. Подключите провод часов к цифровому контакту 3, провод данных - к цифровому контакту 4 и подключите провод заземления к заземлению на Arduino, а провод VCC - к контакту 5V.
Шаг 8: подключите выводы iPhone к Arduino
Чтобы подключить выход iPhone, просто подключите провод от контакта 13 к контакту TX на Arduino (цифровой контакт 1), а затем подключите провод от контакта 11 к любому доступному заземлению на Arduino.
ВАЖНО: Чтобы избежать проблем с перепрошивкой Arduino, пожалуйста, отключите TX Pin на Arduino перед перепрошивкой. Подробнее об этом позже. После этого вся пайка будет сделана. Пришло время перейти к программированию Arduino!
Шаг 9: Код Arduino
Программное обеспечение Arduino синхронизирует данные с клавиатуры, преобразует коды сканирования клавиатуры в коды клавиш и обрабатывает нажатия клавиш Shift и Caps Lock.
Во-первых, загрузите и установите среду разработки Arduino отсюда. Следуйте инструкциям на сайте, но обязательно установите соответствующий драйвер FTDI из каталога драйверов в установке Arduino.
Затем вам понадобится дополнительная библиотека Arduino для PS / 2. Загрузите файл «ps2.zip» с этой страницы. Чтобы установить, разархивируйте загрузку в папку и переместите эту папку в подкаталог каталога «оборудование / библиотеки» в вашей установке Arduino. В OSX вы можете сначала зайти в Arduino.app и «Показать содержимое пакета».
После установки Arduino и библиотеки ps2 загрузите исходный код отсюда. Откройте приложение Arduino, создайте новый проект и вставьте в него исходный код. Сохраните, а затем перейдите в Sketch-> Verify / Compile, чтобы убедиться, что он строится. Если этого не произошло, убедитесь, что библиотека установлена правильно.
Кстати, я вообще не писал кода для этого проекта. Я начал с попытки использовать библиотеку PS2KeyboardExt2, но эта библиотека основана на прерываниях, и хотя она может работать на Arduino, который также поддерживает последовательный порт со скоростью 9600 бит / с, как только я увеличил серийный номер до 19200 бит / с, прерывания перестали работать в стабильный способ. Поэтому я вытащил весь хороший код из PS2KeyboardExt2, включая определения клавиш и удобную обработку сдвигов и заглавных букв, и переработал его в программу, которая не использует прерывания и использует другую, гораздо более простую библиотеку PS / 2.. Это делает его способным надежно обрабатывать последовательные данные со скоростью 19200 бит / с.
Теперь запрограммируем Arduino!
Отсоедините провод, идущий к контакту 1 на Arduino. Затем подключите Arduino к компьютеру через USB-кабель. Возможно, вам потребуется перезапустить приложение Arduino, чтобы оно правильно определило новое последовательное устройство USB. Загрузите сохраненный эскиз с исходным кодом, а затем нажмите кнопку «Загрузить», чтобы запрограммировать Arduino.
После загрузки программы подключите клавиатуру к разъему PS / 2. Вы должны увидеть, как мигают огни. Вы можете открыть Serial Monitor в приложении Arduino и попробовать ввести несколько букв на клавиатуре. Вы должны увидеть эти буквы в Serial Monitor. Попробуйте включить и выключить Caps Lock, индикатор на клавиатуре должен загореться и погаснуть, а символы должны отображаться правильно с заглавной буквы.
Шаг 10: Клиентская программа для iPhone
Теперь настроим клиентскую программу для iPhone.
В качестве клиентского кода я использую программу, которую нашел на странице Google Code Энтони Прея. Эта программа считывает ввод из последовательного порта со скоростью 19200 бит / с, а затем вводит соответствующее событие клавиатуры, используя клиентскую библиотеку VNC. Я сделал здесь локальное текстовое зеркало источника, которое можно легко получить с помощью wget.
Поскольку мы будем вводить нажатия клавиш с помощью VNC, вам также потребуется запустить VNC-сервер на iPhone. Мы собираемся использовать Veency (это круто, и вам все равно следует установить).
Перейдите в Cydia или Icy и установите следующие пакеты:
- Veency - предоставляет VNC-сервер, настраивает его для запуска при запуске.
- LibVNCServer - предоставляет libvncclient
- iPhone 2.0 Toolchain - предоставляет среду сборки (gcc, libgcc, ldid, libz требуются, если вы идете другим путем)
- MobileTerminal - чтобы вы могли получить доступ к терминалу iPhone
- wget - чтобы вы могли скачать исходный файл
Теперь загрузим и скомпилируем исходный код. Либо откройте MobileTerminal, либо SSH в своем телефоне, а затем выполните следующие действия:
- wget
- gcc -static-libgcc -o TouchClient TouchClient.c -lvncclient
- ldid -S TouchClient
Последний шаг, используя ldid, подделывает подпись двоичного файла. Без него операционная система iPhone немедленно убьет ваш процесс.
Чтобы запустить программу, запустите ее с мобильного терминала с помощью:
./TouchClient
Это приведет к тому, что Veency отобразит диалоговое окно с вопросом, хотите ли вы принять соединение VNC. Нажмите "Принять".
Я заметил, что запуск этого из MobileTerminal поддерживает работу программы, даже когда вы покидаете MobileTerminal, но было бы лучше использовать launchd. Я еще не понял этого.
Шаг 11: завершающие штрихи и дальнейшая работа
Чтобы закончить, снова подключите вывод от контакта 13 разъема iPhone к контакту TX (контакт 1) на Arduino. Отсоедините USB-кабель и переключите Arduino на внешнее питание. Подключите разъем iPhone к своему iPhone.
Если:
- TouchClient работает на вашем iPhone
- Программное обеспечение PS2 работает на вашем Arduino
- Клавиатура подключена к разъему, и разъем правильно подключен к Arduino.
- Veency работает, и вы приняли соединение от TouchClient
- Больше ничего не облажалось
Вы должны иметь возможность печатать на клавиатуре PS / 2, и эти нажатия клавиш переводятся в соответствующие нажатия клавиш iPhone. Это будет работать в любом месте iPhone, в любом приложении или встроенной функции.
Это решение не идеально, но это универсальный подход к использованию Arduino для добавления поддержки клавиатуры PS / 2 практически ко всему, что может читать простые последовательные сообщения.
Будущая работа:
- Отображение скан-кода может быть полностью перенесено на iPhone, а аппаратная часть этого проекта может быть реализована на гораздо более дешевом чипе с меньшим энергопотреблением, таком как PIC. Это снизит стоимость устройства примерно на 30 долларов, хотя для этого потребуется программист PIC.
- Не все специальные клавиши сопоставлены правильно, но если вы посмотрите код Arduino, а затем код iPhone, вы увидите, что это невероятно простой процесс. Пожалуйста, публикуйте любые изменения, которые вы вносите, в качестве комментария!
- Вместо того, чтобы быть сумасшедшим проводником, я бы хотел, чтобы он поместился в компактном маленьком корпусе для реальной портативности. Любые идеи в этом отделе будут оценены.
- Я хотел бы дать TouchClient пароль для Veency, чтобы не появлялось раздражающее всплывающее окно «Принять / отклонить».
- Именно этот метод можно использовать для добавления клавиатуры Bluetooth. Просто добавьте модуль Bluetooth-Serial к разъему iPhone и продолжайте использовать TouchClient & Veency.
Вот и все. Надеюсь, вам понравился Instructable! С нетерпением жду ваших комментариев. С уважением, - awgh
Рекомендуемые:
Как установить, запустить и подключить контроллер к эмулятору: 7 шагов
Как установить, запустить и подключить контроллер к эмулятору: вы когда-нибудь сидели без дела и вспоминали свое детство юного геймера и иногда хотели бы вернуться к этим старым жемчужинам прошлого? Что ж, для этого есть приложение … точнее, есть сообщество геймеров, которые создают программы
Как использовать клавиатуру и ЖК-дисплей с Arduino для создания калькулятора Arduino: 5 шагов
Как использовать клавиатуру и ЖК-дисплей с Arduino для создания калькулятора Arduino. В этом уроке я расскажу, как вы можете использовать матричную клавиатуру 4x4 и ЖК-дисплей 16x2 с Arduino и использовать ее для создания простого калькулятора Arduino. Итак, приступим
Как очистить клавиатуру: 5 шагов
Как почистить клавиатуру: Все знают, насколько неприятно, когда крошка падает на клавиатуру, и многие люди не знают, как решить эту проблему. Люди используют клавиатуру дома, в школе, на работе и т. Д. Из-за того, что мы используем компьютеры, это всего лишь естественное
Как прокачать клавиатуру: 8 шагов
Как прокачать клавиатуру: застряли на унылой клавиатуре старой 90-х? Хотите дешевую классную клавиатуру с синей подсветкой? Больше ничего не говори … Я покажу вам, как обновить вашу сонную утомительную старую клавиатуру до следующего века
Как сделать вашу клавиатуру такой же хорошей, как новая: 9 шагов
Как сделать вашу клавиатуру такой же хорошей, как новая: Привет и добро пожаловать в мое первое руководство. :) В этом руководстве я покажу вам, как разобрать клавиатуру и почистить ее. ПРИМЕЧАНИЕ - каждая клавиатура отличается, поэтому некоторые части этого руководства будут отличаться от того, что вы делаете