Можно ли программно запустить брандмауэр bluetooth?
У меня есть двойной пульт bluetooth, соединенный с моим телефоном Android. Удаленный затвор работает как клавиатура bluetooth.
Мое приложение успешно обрабатывает события клавиатуры, созданные удаленным затвором, но удаленный затвор переходит в режим сна через 90 секунд и требует нажатия одной клавиши, чтобы разбудить его, прежде чем он отправит следующее нажатие клавиши.
Мне нужен механизм для того, чтобы держать пульт затвора бодрствующим, чтобы я не потерял это первое нажатие клавиши. (Да, я понимаю, что режим сна - это экономия энергии, но мне нужна низкая латентность).
Я попытался подключиться к устройству как к клиенту, так и к серверу, надеясь, что я могу отправить что-то на OutputStream на устройство. Но я не смог создать соединение.
Есть ли какой-либо способ программно не запускать удаленный затвор?
На основании следующих ответов я подозреваю, что не
Для полноты деталей парного устройства:
- name = AB Shutter3
- MAC = Some_MAC_ADDRESS
- btclass= 2540
- btType = 1
- UUID, = [00001124-0000-1000-8000-00805f9b34fb,
00000000-0000-1000-8000-00805f9b34fb]
Ответы
Ответ 1
Нет программного способа сделать это, но у вас есть 3 возможных решения для вашей проблемы:
Ответ 2
Похоже, что это полностью зависит от прошивки удаленного затвора: если он переходит в режим сна через 90 секунд после последнего нажатия клавиши - нет возможности разбудить его программно (если не изменить его прошивку). Самое простое решение - использовать дистанционный затвор без спящего режима (или кнопку DIY bt/ble). И все же вы можете использовать внешнюю схему (например, на основе 555 таймера), питаемую от батареи затвора, и параллельно подключенную к одной из кнопок затвора, которая генерирует импульс каждые 90,1 с для имитации первого нажатия клавиши и срабатывания затвора.
Ответ 3
Да, можно поддерживать другой конец соединения, если он принимает входные сигналы.
Как вы упомянули,
Я попытался подключиться к устройству как к клиенту, так и к серверу, надеясь, что я могу отправить что-то на OutputStream на устройство. Но я не смог создать соединение.
Это лучший способ удержать Bluetooth-устройство. Это является устройством, которое я использовал для отправки сигналов на мой Nexus Player удаленно программно [Linux Platform]. Первоначально я использовал команды HIDD и RFCOMM на терминале Linux, а затем начал внедрять соединение в C.
Другим способом является изменение прошивки устройства в соответствии с вашими требованиями (если возможно).
Исключение: если прошивка устройства BT была спроектирована таким образом, что только нажатие на кнопку удерживает ее, и никакой другой входной сигнал не может reset таймер или счетчик, тогда ничего не может быть сделано из внешний мир этого устройства. И Reading Здесь дается подсказка, что AB Shutter является одним из них (все еще не уверен, хотя).