Étape 6: Code
Au titre de l’importation UIKit ajouter,
Cela charge le Framework de BLE.
Changer votre définition de classe pour ressembler à ceci,
Il relie l’affichage principal pour écouter les actions exécutées par BLE de l’iPhone et le HM-10.
Étant donné que nous avons ajouté le CBCentralManagerDelegate on doit ajouter la centralManagerDidUpdateState. Cette fonction montres l’iOS du périphérique sur le périphérique Bluetooth. Si elle change d’État (p. ex., Bluetooth est désactivée) cette fonction sera exécuté.
Fondamentalement, tout ce que nous faisons ici est imprimer au système si la BLE a obtenu éteint. Vous pouvez modifier cette option pour faire toutes sortes de trucs de fantaisie, mais nous allons garder les choses simples.
Voici maintenant, où cela devient amusant ! Nous allons ajouter une fonction pour récupérer toutes les données venant de l’HM-10 et l’imprimer pour le titre de barre de navigation.
Quelques choses de noter ici, var datastring = NSString (données : characteristicValue, encodage : NSUTF8StringEncoding) est en fait obtenir les données de la mémoire tampon de RX, convertissant en un NSString. La fi let datastring = datastring est déballer le facultatif, puis en définissant le titre de barre de navigation à la chaîne de RX. Chouette, hein ?
Rappelez-vous, le pourrait faire le destinataire des données, tout ce qui prend une chaîne. J’ai simplement utilisé le titre de barre de navigation, donc nous n’a pas besoin d’ajouter d’autres éléments.
-Très bien, nous recevons près de l’extrémité. Qu’en est-il d’envoyer du texte ?
Cette fonction est en fait une fonction de préparation de données pour le vrai bourreau de travail : peripheralDevice.writeValue (données, caractéristiques).
La fonction wrapper que j’ai créé, writeValue(String), prend une chaîne, il le convertit au format de données UTF8, qui est le format requis par writeValue (données, caractéristiques). Il vérifie ensuite s’il y a un périphérique pour écrire les valeurs. S’il y a, il appelle la fonction de writeValue en utilisant les données que vous avez passé il.
Si cela semble confus, il suffit de savoir, elle prend une chaîne et l’envoie à l’appareil récepteur.
Vous pouvez appeler cette fonction writeValue par un bouton, tels que le bouton "Envoyer", que nous configurons.
Ceci entraîne notre bouton saisir tout ce que vous tapé dans la zone de champ de texte et l’envoyer à l’appareil récepteur, par le biais de la fonction de writeValue(String) petite chouette nous avons fait.
Bien! C’est tout. (Je l’espère. Gulp).
Lorsque vous avez terminé le code de votre ViewController devrait en regardant quelque chose comme ça,