Использование клавиатурного ПК Raspberry Pi 500+ в качестве обычной Bluetooth-клавиатуры

Хотя Raspberry Pi 500+ является полнофункциональным Linux-клавиатурным ПК, его также можно использовать в качестве обычной механической Bluetooth-клавиатуры.

На этой неделе возникла проблема с обычным комплектом беспроводной клавиатуры и мыши Logitech, поэтому его отправили в магазин для ремонта, так как он все еще находился на гарантии. Затем кто-то забыл RF-адаптер от своего комплекта дома, и в итоге осталась одна запасная клавиатура на двух человек. Не идеально. Но к счастью, как раз был завершен обзор клавиатурного ПК Raspberry Pi 500+ , поэтому оказалась доступна запасная механическая клавиатура, а проект btferret позволил использовать ее в качестве Bluetooth-клавиатуры, которая и применяется для написания этой статьи.

Using Raspberry Pi 500+ as a Bluetooth Keyboard

Можно было бы использовать Pi 500+ напрямую как Linux-машину, но пришлось бы переустанавливать все регулярно используемое программное обеспечение и не было бы доступа к некоторым файлам на обычных компьютерах.

Основные инструкции можно найти на форумах Raspberry Pi :

git clone https://github.com/petzval/btferret gcc keyboard.c btlib.c -o keyboard sudo ./keyboard

Вывод команды:

aey@raspberrypi:~/btferret $ sudo ./keyboard Initialising... Device data from keyboard.txt file DEVICE = My Pi TYPE=Mesh node=1 ADDRESS = 2C:CF:67:FD:8B:AA PRIMARY_SERVICE = 1800 LECHAR=Device Name SIZE=4 Permit=02 UUID=2A00 LECHAR=Appearance SIZE=2 Permit=02 UUID=2A01 PRIMARY_SERVICE = 180A LECHAR= PnP ID SIZE=7 Permit=02 UUID=2A50 PRIMARY_SERVICE = 1812 LECHAR=Protocol Mode SIZE=1 Permit=06 UUID=2A4E LECHAR=HID Info SIZE=4 Permit=02 UUID=2A4A LECHAR=HID Ctl Point SIZE=8 Permit=04 UUID=2A4C LECHAR=Report Map SIZE=47 Permit=02 UUID=2A4B LECHAR=Report1 SIZE=8 Permit=92 UUID=2A4D Advertise as LE HID device Listening for LE clients to connect (ESC=stop server) Advertising as D3:56:D6:74:33:04 HID device Wait for pair... PAIR OK Connected OK. Key presses sent to client. ESC stops server F10 sends Hello plus Enter

Ноутбук не поддерживает Bluetooth в Ubuntu, поэтому пришлось перейти на Windows, где Bluetooth-клавиатура Pi 500+ была правильно обнаружена как устройство «HID», и с подключением не возникло проблем.

Raspberry Pi 500+ HID Bluetooth Keyboard

Но при начале печати ничего не происходило. Исходный код был изменен для вывода кода клавиши при нажатии, но снова ничего… Тогда стало понятно, что было ошибочное предположение. Программа была запущена в SSH-терминале, но клавиши захватываются только на рабочем столе. Поэтому терминал был открыт в среде рабочего стола Raspberry Pi OS, и программа была запущена снова — на этот раз все заработало.

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

Key press stop server... Disconnecting 10:68:38:3A:0D:DB 10:68:38:3A:0D:DB has disconnected

Это происходило несколько раз, поэтому программу приходилось перезапускать. Это также означает, что рекомендуется подключать монитор при использовании функции Bluetooth-клавиатуры — как для перезапуска программы, так и для повышения стабильности (клавиатура отключается через некоторое время без подключенного монитора).

Некоторые клавиши не работают, такие как клавиша «Raspberry Pi/Windows», а комбинации вроде Alt+Tab и другие shortcuts работают нестабильно. Также появляются странные символы при использовании клавиш со стрелками с клавишей Shift для выделения слова: [1;2C соответствует Shift + стрелка влево, а [1;2D — Shift + стрелка вправо. Самопроверка не проводилась, но эти мелкие проблемы можно исправить путем модификации кода под вашу клавиатуру . В любом случае, это хорошее временное решение при отсутствии рабочей клавиатуры. Метод также работает с более ранними клавиатурными ПК Raspberry Pi 400 и 500.

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

На этой неделе возникла проблема с обычным комплектом беспроводной клавиатуры и мыши Logitech, поэтому его отправили в магазин для ремонта, так как он все еще находился на гарантии. Затем кто-то забыл RF-адаптер от своего комплекта дома, и в итоге осталась одна запасная клавиатура на двух человек. Не идеально. Но к счастью, как раз был завершен обзор клавиатурного ПК Raspberry Pi 500+ , поэтому оказалась доступна запасная механическая клавиатура, а проект btferret позволил использовать ее в качестве Bluetooth-клавиатуры, которая и применяется для написания этой статьи.

Using Raspberry Pi 500+ as a Bluetooth Keyboard

Можно было бы использовать Pi 500+ напрямую как Linux-машину, но пришлось бы переустанавливать все регулярно используемое программное обеспечение и не было бы доступа к некоторым файлам на обычных компьютерах.

Основные инструкции можно найти на форумах Raspberry Pi :

git clone https://github.com/petzval/btferret gcc keyboard.c btlib.c -o keyboard sudo ./keyboard

Вывод команды:

aey@raspberrypi:~/btferret $ sudo ./keyboard Initialising... Device data from keyboard.txt file DEVICE = My Pi TYPE=Mesh node=1 ADDRESS = 2C:CF:67:FD:8B:AA PRIMARY_SERVICE = 1800 LECHAR=Device Name SIZE=4 Permit=02 UUID=2A00 LECHAR=Appearance SIZE=2 Permit=02 UUID=2A01 PRIMARY_SERVICE = 180A LECHAR= PnP ID SIZE=7 Permit=02 UUID=2A50 PRIMARY_SERVICE = 1812 LECHAR=Protocol Mode SIZE=1 Permit=06 UUID=2A4E LECHAR=HID Info SIZE=4 Permit=02 UUID=2A4A LECHAR=HID Ctl Point SIZE=8 Permit=04 UUID=2A4C LECHAR=Report Map SIZE=47 Permit=02 UUID=2A4B LECHAR=Report1 SIZE=8 Permit=92 UUID=2A4D Advertise as LE HID device Listening for LE clients to connect (ESC=stop server) Advertising as D3:56:D6:74:33:04 HID device Wait for pair... PAIR OK Connected OK. Key presses sent to client. ESC stops server F10 sends Hello plus Enter

Ноутбук не поддерживает Bluetooth в Ubuntu, поэтому пришлось перейти на Windows, где Bluetooth-клавиатура Pi 500+ была правильно обнаружена как устройство «HID», и с подключением не возникло проблем.

Raspberry Pi 500+ HID Bluetooth Keyboard

Но при начале печати ничего не происходило. Исходный код был изменен для вывода кода клавиши при нажатии, но снова ничего… Тогда стало понятно, что было ошибочное предположение. Программа была запущена в SSH-терминале, но клавиши захватываются только на рабочем столе. Поэтому терминал был открыт в среде рабочего стола Raspberry Pi OS, и программа была запущена снова — на этот раз все заработало.

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

Key press stop server... Disconnecting 10:68:38:3A:0D:DB 10:68:38:3A:0D:DB has disconnected

Это происходило несколько раз, поэтому программу приходилось перезапускать. Это также означает, что рекомендуется подключать монитор при использовании функции Bluetooth-клавиатуры — как для перезапуска программы, так и для повышения стабильности (клавиатура отключается через некоторое время без подключенного монитора).

Некоторые клавиши не работают, такие как клавиша «Raspberry Pi/Windows», а комбинации вроде Alt+Tab и другие shortcuts работают нестабильно. Также появляются странные символы при использовании клавиш со стрелками с клавишей Shift для выделения слова: [1;2C соответствует Shift + стрелка влево, а [1;2D — Shift + стрелка вправо. Самопроверка не проводилась, но эти мелкие проблемы можно исправить путем модификации кода под вашу клавиатуру . В любом случае, это хорошее временное решение при отсутствии рабочей клавиатуры. Метод также работает с более ранними клавиатурными ПК Raspberry Pi 400 и 500.

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

Данные о правообладателе фото и видеоматериалов взяты с сайта «CNXSoft», подробнее в Условиях использования
Анализ
×
Logitech
Организации
3
Bluetooth
Автор технологии:Telefonaktiebolaget LM Ericsson
39
Raspberry Pi
Продукты
11