Comment lire, écrire et s'abonner à une caractéristique BLE depuis son iPhone
Ouvrez l'appareil dans l'inspecteur de Periphery et chaque caractéristique affiche les boutons correspondant à ce qu'elle prend en charge : Lire récupère sa valeur, Écrire envoie des octets tapés en hex, et Notifier s'abonne aux mises à jour en direct jusqu'à ce que vous touchiez Arrêter de notifier. Les valeurs peuvent s'afficher en Hex, Décimal, ASCII ou Binaire. C'est un moyen rapide de tester son propre firmware sans ordinateur portable.
Services, caractéristiques et propriétés BLE en une minute
Un appareil BLE regroupe ses données en services, et chaque service contient des caractéristiques. Une caractéristique est une seule valeur, comme un niveau de batterie ou un canal de données, et ses propriétés indiquent ce que vous pouvez en faire : la lire, l'écrire, ou être notifié quand elle change. Periphery affiche ces propriétés comme de petites étiquettes sur chaque ligne : R pour lecture, W pour écriture et N pour notification ou indication.
Comment lire une caractéristique
- Touchez Numériser, puis touchez votre appareil. Periphery se connecte et liste ses services.
- Trouvez une caractéristique avec une étiquette R et touchez Lire.
- La valeur apparaît sous la caractéristique. Utilisez le sélecteur Format pour basculer entre Hex, Décimal, ASCII et Binaire.
Comment écrire des octets sur une caractéristique
- Touchez Écrire sur une caractéristique avec une étiquette W. La feuille Écrire en hexadécimal s'ouvre.
- Tapez les octets en paires hexadécimales, par exemple 01 FF. Les espaces sont facultatifs.
- Vérifiez la ligne sous le champ : elle indique combien d'octets seront envoyés, ou avertit que le texte n'est pas de l'hexadécimal valide.
- Touchez Envoyer, ou Annuler pour fermer sans écrire.
Si la caractéristique prend en charge l'écriture avec réponse, Periphery l'utilise et attend la confirmation de l'appareil. Si elle ne prend en charge que l'écriture sans réponse, les octets sont envoyés sans confirmation, alors relisez la valeur ou surveillez une notification pour vérifier qu'elle est bien arrivée.
Comment s'abonner aux notifications
- Touchez Notifier sur une caractéristique avec une étiquette N.
- Chaque fois que l'appareil envoie une nouvelle valeur, elle remplace celle affichée sous la caractéristique.
- Touchez Arrêter de notifier pour vous désabonner. Quitter l'inspecteur déconnecte et met fin à tous les abonnements.
Exemple concret : une valeur, quatre formats
Supposons qu'une caractéristique renvoie les trois octets que vous pourriez envoyer à une carte de test. Voici comment chaque format les affiche :
| Format | Affiché comme |
|---|---|
| Hex | 01 41 42 |
| Décimal | 1 65 66 |
| Binaire | 00000001 01000001 01000010 |
| ASCII | Seul le premier octet ne s'imprime pas ; les deux autres s'affichent comme des lettres, AB |
Une caractéristique Battery Level (2A19) qui renvoie 5A en hex se lit 90 en décimal, ce qui signifie 90 %. Les champs texte comme Manufacturer Name se lisent plus facilement en ASCII.
Enregistrer une session de test avec Pro
Avec Periphery Pro, chaque lecture, écriture et notification pendant une connexion est sauvegardée automatiquement avec un horodatage, un sens, l'UUID de la caractéristique et les octets bruts. Ouvrez l'onglet Journaux pour voir chaque session et son nombre de paquets, balayez une session et touchez Exporter pour la partager en texte brut, ou Supprimer pour la retirer. Une session sans paquet est écartée en quittant l'inspecteur. Sans Pro, rien n'est enregistré.
Astuces et erreurs courantes
- Les boutons n'apparaissent que pour ce que la caractéristique autorise. L'absence de bouton Lire signifie que la propriété n'est pas définie, pas que l'app le cache.
- Les nombres sur plusieurs octets sont généralement en little-endian en BLE. 34 12 en hex vaut 0x1234, pas 0x3412.
- Une lecture ou une écriture peut échouer si la caractéristique nécessite un appairage ou un chiffrement. iOS gère l'appairage ; acceptez son invite et réessayez.
- En général, une seule app ou un seul téléphone peut détenir une connexion. Déconnectez votre propre app de test ou un autre téléphone d'abord.
Questions fréquentes
Quelle est la différence entre notifier et indiquer ?
Puis-je écrire du texte au lieu de l'hexadécimal ?
Pourquoi vois-je Connexion en cours… puis une erreur ?
Puis-je lire les descripteurs ?
Autres guides pour Periphery
- Comment retrouver un appareil Bluetooth perdu avec son iPhone grâce au signal
- Utiliser un scanner Bluetooth sur iPhone pour lister les appareils BLE proches
- Comment identifier un appareil Bluetooth inconnu sur iPhone
- Recherche d'UUID BLE sur iPhone : trouver et nommer les UUID de service d'un appareil
- Comment vérifier la force du signal Bluetooth sur iPhone
- Toutes les questions sur Periphery
- Retour à Periphery