Возможности Bluetooth-связи

У меня простой вопрос.

Я знаю, что когда вы подключаете Bluetooth-наушники к телефону, он автоматически перехватывает звук и начинает играть на ваших наушниках.

Можно ли запрограммировать устройство таким образом, чтобы при его подключении к телефону он включал, например, фонарик телефона?

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

2 ответа

Решение

Да, это очень ограничено, чтобы защитить пользователей.

Bluetooth работает, общаясь через определенные профили. Сопряжение не имеет побочного эффекта (например, включение фонарика), оно просто связывает два устройства. Чтобы контролировать друг друга, устройства должны использовать профили. Например, когда вы подключаете наушники к телефону, они, вероятно, подключают AVRCP (профиль дистанционного управления аудио / видео) и A2DP (расширенный профиль распространения звука). Эти профили имеют очень фиксированную область, поэтому разработчики и инженеры не могут вмешиваться в пользовательские устройства неожиданными способами.

Apple особенно осторожна со своими устройствами. Для любого классического устройства Bluetooth, которое хочет реализовать профиль вне стандартных, требуется чип MFi. Устройства Bluetooth LE гораздо более открыты, и пользователи могут подключать их к своему телефону либо через приложение, либо через саму ОС. Приложения могут включать фонарик, как вы описали, но он требует разрешения камеры и не может работать в фоновом режиме.

Предполагая, что вы могли бы также говорить о программном обеспечении (вопрос достаточно расплывчат, что он не указывает только на аппаратное обеспечение)...

Я много работал с CoreBluetooth, фреймворк позволяет создавать обе стороны соединения (передатчик, получатель или клиент, сервер; в зависимости от того, как вы хотите на это смотреть). Если вы захотите создать приложение на телефоне в качестве одного из них, а другое - в качестве телефона или компьютера Mac (или iBeacons) в качестве другого, вы сможете создавать такие соединения и управлять ими на "клиенте" из "сервер" и наоборот. Вы можете контролировать столько, сколько Apple API позволяет вам контролировать.

Другие вопросы по тегам