Центральный диспетчер corebluetooth для iPhone отправляет данные в периферийные устройства

Я хочу отправить данные с iPhone на устройство Bluetooth, которое будет обнаружено и подключено. Я ссылаюсь на этот учебник для подключения.

Я не могу отправить данные на внешнее устройство bluetooth, которое подключено, как и в случае с внешней инфраструктурой Access.

Я использую iPhone5, поскольку он имеет Bluetooth 4.0

Ответ 1

В Core Bluetooth вам необходимо использовать характеристики для связи. Нет стандартного API, основанного на потоках, как в структуре внешнего аксессуара, и я не знаю ни одной библиотеки с открытым исходным кодом, которая реализует что-то вроде этого.

Основная операция

Периферийное → Центральное:

  • Central подписывается на характеристику (либо с уведомлениями или указаниями)
  • Периферийное устройство получает подписанный обратный вызов, поэтому знает, что центральное устройство прослушивает
  • Характеристики обновления периферийных устройств
  • Центральное получает характерное обновленное уведомление

Центральное → Периферийное устройство:

  • Центральная запись характерна
  • Периферийное устройство получает обновление запроса на запись

Фактическая скорость, которую вы можете достичь, зависит от различных факторов. По показаниям данные никогда не теряются (например, TCP), но уведомления не имеют таких гарантий (например, UDP).

Дополнительная информация

Я предлагаю вам ознакомиться с официальным руководством по программированию ядра Bluetooth и сконцентрироваться на

секции. Но лучше было бы изучить весь проводник, как есть. В качестве примера можно привести пример BTLE Transfer от Apple.

Ответ 2

Если я правильно вас понимаю, вы хотите, чтобы центральная часть отправляла данные на ваше периферийное устройство.

для этого вы используете этот метод:

[peripheral writeValue:dataPacket forCharacteristic:writeChar type:CBCharacteristicWithResponse]

Ответ 3

Это довольно убедительное видео, чтобы смотреть и знать, что именно происходит в iOS bluetooth framework. В нем четко объяснено, какие операции могут выполнять центральные и периферийные системы.

https://developer.apple.com/videos/play/wwdc2012-705/