Bluetooth HID для проекта мыши

bluetooth library mouse hid

Я работаю над проектом, чтобы создать воздушную мышь для людей с повторяющейся травмой напряжения (так как она у меня тоже есть). Я гибко подхожу к требуемому оборудованию. План состоит в том, чтобы использовать данные ИДУ для передвижения. В настоящее время я учусь работать с датчиком.

Я также исследовал, как в конечном итоге преобразовать данные датчиков в движения мыши. Я понимаю, что вы можете сделать это через Bluetooth (Bluetooth HID или HID over GATT). Однако именно здесь я достигаю своих пределов.

Я надеялся найти библиотеку, которая может сделать это для меня (аналогично мыши.h library), поскольку мне кажется, что мне понадобятся месяцы, чтобы узнать о стандартах Bluetooth, чтобы попытаться реализовать их самостоятельно.

Варианты, которые я нашел в своем исследовании:

  • Adafruit boards only library так привязывает вас к своей экосистеме
  • Библиотека mbedOS, код кажется другим, чем скетчи arduino , которые я видел до сих пор, и его трудно понять
  • библиотека, основанная на esp32, должна была бы научиться использовать этот процессор и не уверена, что он правильно поддерживается в arduino IDE)
  • Ардуинобл.h библиотека, вам нужно было бы создать профиль HID мыши с нуля)

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

ПС. В случае, если это полезно, у меня есть базовое знакомство с C++ (например, я понимаю классы, указатели и т. Д.), Но у меня нет опыта программирования. Я сделал несколько простых проектов arduino и большинство примеров на официальном сайте.

, 👍1

Обсуждение

100% ESP32. Да, он полностью поддерживается Arduino IDE (и нами)., @Majenko

Привет, Майенко, спасибо, что откликнулся. Из предыдущего ответа, который вы сделали на другую тему, я понял, что у вас есть значительный опыт работы с USB-протоколами. В другой теме, на которую вы ответили, вы советуете человеку не пытаться создать свою собственную библиотеку, потому что это очень трудно. Верно ли то же самое для Bluetooth?, @Zhelyazko Grudov

Я мало что знаю о блютузе. Однако я знаю, что ESP32 имеет хорошие библиотеки и поддержку / документацию через ESP-IDF. То, что вам нужно сделать, чтобы написать свою собственную библиотеку, на 100% зависит от аппаратного обеспечения. Я бы сказал, что ESP32 было бы проще всего написать, так как вся работа делается для вас в ESP-IDF, и вокруг будет много слоев абстракции, подобных Arduino-library., @Majenko

Спасибо за комментарий, ценю информацию., @Zhelyazko Grudov

просто натыкаясь на это в надежде на некоторые дополнительные идеи от сообщества., @Zhelyazko Grudov

Как вопрос, для меня это просто чересчур-пытаться разобраться с теми частями тела, о которых я действительно что-то знаю. Я не отмечал его таким образом, потому что подозреваю, что это не относится к кому-то другому. Я могу сказать вам, что HID, используемый в bluetooth и через I2C, связан с HID, поскольку он поддерживается USB, и что большая часть боли при реализации мыши (или airmouse) будет портироваться между ними и различными радиостанциями/контроллерами. Это также означает, что, возможно, это не такая большая проблема, как вы думаете, если вам приходится переключаться между различными устройствами Bluetooth или USB. Во всяком случае, по сравнению с остальной частью проекта., @timemage

Спасибо за комментарий, @Zhelyazko Grudov

Библиотека Adafruit не привязывает вас к платам Adafruit. В основном это связывает вас с чипом Bluetooth, который используется там (и если используется специальное оборудование MCU, к этому семейству MCU). Но так будет почти в каждой библиотеке. Я недостаточно квалифицирован, чтобы дать правильный ответ о bluetooth, но я бы пошел на esp32. Он правильно поддерживается в Arduino IDE (вам нужно установить ядро esp32) и дает вам много возможностей. Также программирование не сильно отличается от обычного ардуино. Сделал этот переход сам некоторое время назад, @chrisl

Спасибо за комментарий, я ценю вашу помощь. Полезный совет., @Zhelyazko Grudov

Надеюсь, мы сможем получить еще какие-то пожертвования? Я видел, как эти вопросы задавались несколько раз на разных сайтах без хорошего ответа. Но, тем не менее, я ценю вашу помощь, не хочу показаться правомерным., @Zhelyazko Grudov