Подключение через Bluetooth L2Cap к устройству HID
Существуют ли обходные пути для подключения к устройству HID с использованием L2CAP в JAVA ME (с использованием реализации спецификации JSR-82, встроенной в мобильное устройство, а не в BlueCove и т. Д.)?
Я знаю, что устройства HID обычно используют PSM (мультиплексор службы протокола) со значением 0x0011. К сожалению, как я обнаружил:
Допустимые значения PSM находятся в диапазоне (0x1001..0xFFFF), и младший байт должен быть нечетным, а все остальные байты должны быть четными.
Выше объясняет почему javax.microedition.io.Connector connect()
метод выдает исключение, когда я пытаюсь следующий код:
Connector.open("btl2cap://600010120296:11");
1 ответ
Эта страница предполагает, что ограничение было снято в JSR-82 1.2:
Допустимые значения PSM находятся в диапазоне (0x0005..0xFFFF), и младший байт должен быть нечетным, а все остальные байты должны быть четными. Если строка подключения к серверу не имеет параметра psm, значение PSM сервера, назначенное реализацией, должно быть не менее 0x1001.
И комментарий:
Удалите зарезервированные диапазоны из значений L2CAP PSM, чтобы приложение Java могло использовать протокол Bluetooth, который построен поверх L2CAP с использованием значения PSM в "зарезервированном" диапазоне.
Кроме того, "конечной точкой прерывания" является PSM 0x13 (именно здесь клавиатуры, мыши и т. Д. Будут отправлять незапрошенные отчеты так же, как они отправляли бы по каналу управления (0x11) в ответ на GET_REPORT).