iPhone corebluetooth central Manager envoyer des données au périphérique

Je veux envoyer des données de l'iPhone à un appareil Bluetooth qui se découvre et se connecte. Je me réfère à ce tutoriel pour se connecter.

Je ne suis pas en mesure d'envoyer des données à un périphérique Bluetooth externe qui est connecté comme nous le faisons avec un cadre d'accessoire externe.

J'utilise iPhone5 comme il a Bluetooth 4.0

Dans Core Bluetooth, vous devez utiliser les caractéristiques pour la communication. Il n'y a pas d'API standard basée sur les stream comme dans le cadre des accessoires externes et je ne connais aucune bibliothèque open source qui implémente quelque chose comme ça.

Opération de base

Périphérique -> Central:

  1. Central s'abonne à la caractéristique (soit avec des notifications ou des indications)
  2. Périphérique reçoit le callback souscrit donc sait que le central écoute
  3. Mises à jour des périphériques
  4. Central reçoit une notification mise à jour caractéristique

Central -> Périphérique:

  1. Central écrit caractéristique
  2. Périphérique reçoit la mise à jour de request d'écriture

La vitesse réelle que vous pouvez atteindre dépend de divers facteurs. Avec des indications datatables ne sont jamais perdues (comme TCP) mais les notifications n'ont pas de telles garanties (comme UDP).

Plus d'informations

Je vous suggère de consulter le Guide de programmation Core Bluetooth officiel et de vous concentrer sur

  • Effectuer des tâches de rôle central communes
  • Exécution de tâches de rôle périphérique communes

sections. Mais mieux serait d'étudier tout le guide tel quel. Pour un exemple pratique, consultez également l'exemple BTLE Transfer d'Apple.

Si je vous comprends bien, vous voulez que le central envoie des données à votre périphérique.

pour cela vous utilisez cette méthode:

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

Ceci est une video très attrayante à regarder et à savoir ce qui se passe exactement dans le cadre iOS bluetooth. Il a clairement expliqué quelles opérations peuvent être effectuées par les systèmes centraux et périphériques.

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