Как подключить клавиатуру ноутбука к raspberry

Использование старой клавиатуры ноутбука с Raspberry Pi

У меня есть старая клавиатура ноутбука, как показано ниже:

Он имеет 24-проводной плоский кабель, выходящий из задней части. Возможно ли использовать это как клавиатуру для Pi (я полагаю, с некоторым микроконтроллером между ними)?

Нет простого или простого способа добиться того, что вы просите. Самый простой ответ — просто проигнорируйте эту клавиатуру и получите USB.

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

Разъемы клавиатуры ноутбука не являются стандартными. Они различаются у разных производителей. Как правило, им также не хватает какой-либо электроники для обработки нажатий клавиш и преобразования их в более простые сообщения данных, например коды клавиш или коды кнопок и т. Д.

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

Тогда у вас есть два варианта, оба очень хитрые:

Вариант 1 — Очень продвинутый:

Вам необходимо создать электронный интерфейс, который будет подключаться между клавиатурой и портом USB на Pi. Ему нужен микроконтроллер для эмуляции клавиатуры USB, когда он подключен к порту USB, и вам нужно будет написать программное обеспечение для сопоставления сигналов нажатия клавиш с нажатиями клавиатуры USB. Микроконтроллер должен делать всю работу. Возможно, вы захотите прочитать этот связанный вопрос: Могу ли я сделать полноценную клавиатуру USB с Makey Makey + Raspberry Pi

Вариант 2 — Безумно продвинутый:

Raspberry Pi имеет разъем с 17 контактами GPIO (вход-выход общего назначения). Вам необходимо спроектировать схему, чтобы уменьшить 24 линии клавиатуры и соединить их с выводами GPIO. Тогда вам нужен специальный драйвер клавиатуры для операционной системы Pi.

Источник

Русские Блоги

Raspberry Pi не имеет экрана и клавиатуры для подключения к ноутбуку

Raspberry Pi не имеет экрана и клавиатуры для подключения к ноутбуку

1 Программное обеспечение, которое нам нужно (под Windows)

Многие программисты, работающие на Raspberry Pi, обычно не имеют таких аксессуаров, как дисплей, клавиатура и мышь. В Windows нам необходимо загрузить инструменты PuTTY (используется для удаленного подключения) и TightVNC serber (используется как экран дисплея, похожий на экран виртуальной машины).

2 Предварительная настройка Raspberry Pi (первое использование)

Прежде всего, вам необходимо сначала настроить данные Wi-Fi Raspberry Pi (при условии, что установлена ​​система Raspberry Pi или другие системы Linux). Подключите TF-карту с системой (предпочтительно 16 ГБ или более) к ноутбуку через устройство чтения карт, и появится загрузочная папка (если вы просто откроете TF-карту и предложите отформатировать ее, не форматируйте ее). Следующие шаги необходимы для завершения:

  1. После входа в папку загрузки создайте пустой файл ssh в корневом каталоге без суффикса файла. Это так же, как файл на картинке ниже.
  2. Создайте файл с именем wpa_supplicant.conf в корневом каталоге, и его содержимое будет следующим:
  1. Извлеките SD-карту (TF-карту) из компьютера и вставьте ее в Raspberry Pi, чтобы WiFi был настроен автоматически. И после подключения питания Raspberry Pi автоматически подключится к беспроводной сети.

3 Найдите IP-адрес Raspberry Pi (например, беспроводной сети)

Найдите свой беспроводной маршрутизатор и войдите в интерфейс настройки беспроводного маршрутизатора. Если вы забыли учетную запись и пароль беспроводного маршрутизатора, вы можете сбросить настройки маршрутизатора (обязательно посмотрите . Предполагается, что вы помните, как подключена ваша домашняя сеть. Если вы сбросите настройки и не сможете подключиться к сети, вы получите половину усилий. Обычно это не так. Не стесняйтесь сбросить настройки роутера).
После входа в интерфейс конфигурации маршрутизатора нажмите на DHCP-сервер слева, и в нем будет список клиентов. После подключения Raspberry Pi к источнику питания обычно начинается имя малины, а IP-адрес позади — это IP-адрес, который вам нужно использовать.

4 Соедините PuTTY и TightVNC сервер

  1. Сначала откройте загруженный PuTTY, постарайтесь не изменять исходную конфигурацию, введите IP-адрес вашего Raspberry Pi и нажмите кнопку Открыть.
  2. Во-вторых, если вы успешно подключились к Raspberry Pi с помощью ssh, если вы подключаетесь к рабочему столу Raspberry Pi, вам необходимо установить в Raspberry Pi службу под названием thinvncservervnc.
    Операция выглядит следующим образом:
    Введите sudo apt-get installightvncserver в терминал
    После установки наберите Тогда, чтобы нажать и нажать Enter.
    Как показано на рисунке, я создал два порта подключения, порт 1 и порт 2.
  3. После этого используйте серверный инструмент TightVNC под Windows. После его открытия введите IP-адрес вашего Raspberry Pi, но нужно отметить одну вещь. Здесь я приведу пример. IP-адрес моего Raspberry Pi — 192.168.1.100. Затем мне нужно ввести 192.168.100: 1 или 192.168.100: 2, потому что я создал два порта, и двоеточие может быть либо одним.
  4. После ввода нажмите кнопку подключения справа, вы попадете в настольную систему Raspberry Pi, и вам может быть предложено изменить пароль Raspberry Pi. Это делается в соответствии с личными предпочтениями.

На данный момент Raspberry Pi не имеет дисплея, клавиатуры и мыши, и операция использования ноутбука, как дисплей закончен.

Источник

Делаем ноутбук на Raspberry Pi


Портативный компьютер RasPSION

За четыре года с момента выхода Raspberry Pi что только не делали из этого маленького одноплатного компьютера — маленькие видеомагнитофоны, игровые консоли, автомобильные навигаторы, музыкальные плееры и многое другое. Но самая очевидная мысль — дополнить Raspberry Pi экраном, клавиатурой и аккумулятором, чтобы получился ультрапортативный ноутбук (его можно назвать нетбук или даже карманный компьютер).

Например, один экземпляр Raspberry Pi попал в руки японского моддера nokton35mm, который изготовил мини-компьютер RasPSION в стиле портативных компьютеров Psion конца 90-х.

В комплектацию входит 7-дюймовый экран, клавиатура Bluetooth, 5-вольтовая батарея и камера Pi, довольно стандартный набор для мини-ноутбуков на Raspberry Pi.

Что делает RasPSION особенным — так это красивый корпус из полупрозрачного пластика, вырезанный лазером точно по нужному размеру.

Здесь главная деталь — поворотный механизм на шарнирах. Он устроен по тому же принципу, что у старых карманных компьютеров Psion.

Автор говорит, что ноутбук работает от аккумулятора примерно два часа. Немало, учитывая отсутствие привычной для коммерческих ноутбуков системы управления питанием.

В прошлом энтузиасты уже показывали разные варианты ультрапортативных ноутбуков и карманных компьютеров на основе Raspberry Pi. Например, вот инструкция и схема сборки самого простого КПК. В отличие от продвинутой японской модели, здесь автор использовал дешёвые комплектующие, которые были под рукой. Плохонький 3,5-дюймовый ЖК-экран с соотношением сторон 4:3 — от автомобильной видеосистемы. Аккумуляторная батарея — от старого ноутбука Dell Latitude D600.

Чтобы вместить элементы батарей в корпус, пришлось снять с них пластиковый корпус.

Автор показывает, какие контакты нужно соединить на 9-контактной плате Dell.

Зарядка аккумуляторов в самодельном ноутбуке осуществляется через стандартное зарядное устройство.

Чтобы разводить питание от аккумуляторов на WiFi-модуль, Bluetooth-модуль, SSD-накопитель, передатчик беспроводной клавиатуры/мыши, а также на саму Raspberry Pi, моддер использовал маленькую хитрость. Вся перечисленная электроника запитывается от 5-вольтового хаба USB, а с батареи идёт 11,1 вольт на ЖК-экран. Но известно, что некоторые компоненты экрана требуют питания 5 вольт. То есть достаточно найти на плате ЖК-экрана встроенный регулятор напряжения и найти контакты на 5 вольт, а оттуда запитать хаб USB.

SSD-накопитель для Raspbery Pi тоже будет не лишним дополнением, потому что SD-карты работают медленно и имеют невысокий лимит на количество циклов записи/чтения. Да и просто увеличить доступное дисковое пространство тоже приятно.

Дополнительно была куплена беспроводная USB-клавиатура с тачпадом. В данном случае лучше бы, конечно, использовать проводное соединение, но именно в модели Bluetooth оказались правильные размеры и цена.

И вот на плате Raspberry Pi Model B (rev. 1) получился такой карманный компьютер.

Кирпичик весит примерно 750 граммов, зато это полноценная машина с Linux и SSD-накопителем, клавиатурой и тачпадом.

Автор выложил детали корпуса для печати на 3D-принтере в виде STL-файлов. На задней крышке корпуса для красоты он предлагает разместить логотип Raspberry Pi, который подсвечивается при включении питания. Для этого он взял светодиодную ленту от подсветки клавиатуры, вырезал из неё нужную форму, и подключил к 5-вольтовому выходу USB-хаба.

Сейчас в китайских магазинах есть уже немало комплектующих, чтобы собрать ноутбук на Raspberry Pi своими руками, было бы время и желание. Необязательно самостоятельно печатать корпус на 3D-принтере. Например ещё один умелец по имени Джо Тоттен (Joe Totten) использовал для этого готовую «оболочку» Motorola Lapdock. Motorola Lapdock — это такая «докинговая станция» для Android-смартфона, на eBay их можно найти примерно по $100 или дешевле.


Докинговая станция Motorola Lapdock для смартфона Motorola ATRIX 4G

Вставляешь смартфон в докинговую станцию — и сразу получаешь практически полноценный ноутбук, с экраном 1366 х 768 пикселов и клавиатурой. Только в нашем случае требуется вставить туда не смартфон, а Raspberry Pi, что и сделал Джо Тоттен.

Для соединения Raspberry Pi и Lapdock понадобится набор кабелей и адатеров.

Вот список необходимого:

  • Raspberry Pi
  • Motorola Lapdock (Atrix works)
  • 1 кабель USB Male to Micro USB Male (обычный кабель от телефона)
  • 1 кабель USB 2.0 A female to Micro USB B female
  • 1 кабель Micro HDMI Type D Female to Micro HDMI Type D
  • 1 кабель USB Male to USB Male (его придётся вскрыть и перерезать красный 5-вольтовый кабель)
  • 1 кабель MICRO HDMI to HDMI

Затем нужно правильно подключить все кабели, следуя инструкции.

У нас получится не самая мощная машина, да и таскать с собой кучу кабелей и сам одноплатный компьютер не совсем удобно. Но зато это самый дешёвый и практичный способ превратить Raspberry Pi в полнофункциональный ноутбук.

Источник

Делаем из Raspberry клавиатуру при помощи PS/2 интерфейса

Здравствуйте, уважаемые хабражители!

В этой публикации я расскажу об эмуляции PS/2 клавиатуры при помощи Raspberry Pi.

Недавно в один из жарких вечеров мне позвонил мой старый знакомый и попросил написать для него программу. Необходимо было автоматизировать ввод данных (штрих кодов). Торговая точка, в которой он работал, принадлежала сети итальянских магазинов. Понятно, что и вся работа с товарами велась в итальянской программе. Но по причине того, что в нашей стране основная масса обучена работе на 1С, было принято решение вести продажи на ней, а к концу рабочего дня выгружать результаты продаж в итальянскую систему. Тут то и возникли неудобства.

За день количество проданного товара могло превышать полторы тысячи позиций. Вводить штрих код каждого из них в итальянскую систему стало проблематично. Алгоритм ввода был следующий: ввели штрих код, нажали «Ввод» — и по новой. Договорились встретиться на утро и подробно рассмотреть варианты.

Долго не думая, я написал программу, которая последовательно берет данные с Excel листа и посылает в активное окно. Убедившись, что все работает, пошёл спать.

На следующий день меня ждал сюрприз, о котором я, почему-то, сразу и не подумал. На машине с итальянской программой стояли жёсткие групповые политики, запрещающие запуск сторонних программ по хеш-листу. Админы (тоже итальянцы, кстати) не хотели брать на себя ответственность и разрешать запуск сторонних программ. На обход системы защиты одобрения от местного руководства я не получил. Тут-то и пришла идея решения данной проблемы с аппаратной стороны (ведь никто не запрещает подключать стороннюю клавиатуру). Вспомнил я и про Raspberry Pi, который пылился у меня дома.

Начались поиски документации с описанием PS/2 интерфейса. К счастью, на первом же попавшемся ресурсе (), нашёл всю необходимую информацию.

Распиновка кабеля PS/2 клавиатуры

Как оказалось, необходимыми для всей работы провода было 4.
Черный — земля;
Красный — 5V;
Желтый –пин синхронизации времени (CLOCK);
Белый – пин с данными (DATA).

Цвета могут слегка отличаться. Даже из этих 4-х проводов мне понадобились только два — желтый и белый (в земле и 5v мой аппарат, в отличим от клавиатуры, не нуждался).

Описание работы протокола PS/2 (клавиатура -> хост-контролер)

Определимся с терминологией: если на пине присутствует напряжение — будем считать это состояние как 1, иначе 0.

По умолчанию, когда компьютер в состоянии принимать данные, на обоих пинах (CLOCK и DATA) установлено состояние 1. Его устанавливает хост-контроллер на материнской плате компьютера. Принимаем управление на себя, подавая свое напряжение на оба пина (контроллер м.п. снимет свое напряжение). Для инициализации передачи данных мы должны послать 0-й бит компьютеру (не путать с состоянием 0). Для этого в пине DATA устанавливаем состояние 0 и сразу после этого состояние пина CLOCK тоже переводим на 0 (именно в этом порядке). Мы дали хост-контроллеру понять, что хотим передать первый бит. Теперь, если вернуть состояние пина CLOCK на состояние 1, хост-контролер считает первый бит. Таким образом, будем передавать и все остальные биты.

Первый бит всегда 0, это старт-бит (даем знать, что передаем данные).
Далее передаем 8 бит скан-кода клавиши, которую хотим нажать.
Десятым битом подаем бит четности (если количество единиц четное, то 1, иначе 0).
Последний, 11 бит, это стоп-бит, всегда 1.

Таким образом, один пакет данных формируется из 11 бит.

К примеру, если мы хотим нажать клавишу «0» (скан-код 45h= 1000101 в бинарном виде) на хост-контролер посылается следующий массив бит: 01010001001.

Приняв эти данные, компьютер обработает команду нажатия данной клавиши, но ее еще необходимо отжать. Для этого необходимо сперва послать команду F0h, а после — повторно скан-код клавиши, которую необходимо отжать. Так же, между сменами состояний необходимо удерживать паузу. Опытным путем я установил наиболее подходящее: 0.00020 сек если работать на Python и 1 наносек, если кодить на Java.

Схема подключения к хост-контролеру

Несколько слов о том, почему я подключил аппарат параллельно клавиатуре. При включении компьютера BIOS проводит проверку состояния PS/2 разъемов. Компьютер и клавиатура обмениваются данными о готовности работать. Клавиатура должна провести внутреннюю диагностику и доложить компьютеру о своей готовности. Только после этого биос разрешает работать с PS/2 интерфейсом. Реализовывать чтение команд от компьютера я поленился.

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

Программная часть

Сперва серверную часть написал на Java, используя библиотеку pi4j, но как показал логический анализатор, Java машина плохо работала с задержками (они получались слишком большие и компьютер очень часто некорректно принимал данные). Python показал себя намного лучше, код выполнялся быстро, а система грузилась в разы меньше.

Вот и сам код на Phyton:

Серверная часть на Java:

Клиентская часть на Java:

Пример оцифрованного сигнала, отправленного с моего аппарата на компьютер. Нижний канал CLOCK, верхний DATA. Сигналы посылаю с Python’а

Заключение

Конечно, использовать Raspberry для такой мелкой задачи чистой воды расточительство. Можно было использовать Arduino или собрать схему на дешевеньком arm процессоре. Но это была просто импровизация, которая первой пришла на ум, да и ждать, пока прибудут все необходимые запчасти из Китая, не особо хотелось.

В общем, надеюсь, кому нибудь пригодится данный опыт. Лично я получил массу удовольствия от всего этого процесса.

Источник

Adblock
detector