Bluetooth донгл своими руками на микроконтроллере

Тема в разделе "Посоветуйте детальки", создана пользователем raorn, 8 май 2020.

  1. raorn

    raorn Нуб

    Хочу странного - подключить BT клавиатуру как USB. "Нормальный" BT адаптер использовать не могу, хочу наколхозить что-то на микроконтроллере.

    Есть китайская "Bluetooth 3.0 Keyboard", которую я хочу использовать вместе с PS4. К сожалению они не хотят спариваться по непонятной причине. PS4 работает с другими BT клавиатурами, эта клавиатура работает с андроидами/линуксами, так что проблема явно софтварная. И нет, вставить BT донгл в PS4 не помогает.

    В интернетах нашёл несколько обратных проектов, когда проводную клавиатуру превращали в Bluetooth. Программировались два UART'а, из USB байтики читали, в BT писали (с некоторой простой конвертацией). Проделать обратное, думаю, не сильно сложнее.

    Вопрос с железом. В тех же интернетах пишут, что Arduino Leonardo может строить из себя USB HID устройство, про другие версии не очень понятно. Выбор Bluetooth небольшой, BLE или HC-05. Последний мне кажется проще в обращении. Также хочется чтобы вся конструкция питалась от того же USB порта.

    Я пока думаю про Iskra Neo и HC-05 через Troyka Shield, чтобы без лишних проводов. Что посоветуют знающие люди?

    Спасибо.
     
  2. Un_ka

    Un_ka Гуру

    Напиши, что за модель клавиатуры. Там дальше до её протокола передачи можно добраться.
    Учтите , что HC-05 использует вроде бы BT classic /2.0.
     
  3. raorn

    raorn Нуб

    Китайская модель ;-) Белая картонная коробка, полиэтилен с пупырышками и никаких надписей на корпусе - https://aliexpress.ru/item/4000189925637.html (да простят меня читатели за ссылку на али). Само устройство при поиске имеет имя "Bluetooth 3.0 Keyboard". MAC адрес (или как оно в блютуса нанывается) 54:46:6B:0F:13:C0.

    Вот что есть для неё в /var/lib/bluetooth:
    Код (Text):
    [General]
    Name=Bluetooth 3.0 Keyboard
    Class=0x002540
    SupportedTechnologies=BR/EDR;
    Trusted=true
    Blocked=false
    Services=00001124-0000-1000-8000-00805f9b34fb;00001200-0000-1000-8000-00805f9b34fb;

    [DeviceID]
    Source=2
    Vendor=1256
    Product=28705
    Version=1

    [LinkKey]
    Key=7B..многобукв..3C
    Type=0
    PINLength=0
    К линуксу подключал в том числе и через "ES-M03, Bluetooth 2.0 USB mini adapter" и всё работало. Протокол скорее всего какой-то стандартный, типа HID.