Communication BLE et Protocoles¶
Vue d'ensemble¶
OvApp utilise Bluetooth Low Energy (BLE) pour communiquer avec les appareils Omnivoltaic tels que les stations de charge, les systèmes de batteries, les véhicules et les claviers embarqués. BLE offre une communication à faible consommation, courte portée et fiable, permettant des opérations en ligne et hors ligne.
Ce document décrit l'architecture BLE, le flux de connexion, les structures de données, le modèle de sécurité et les opérations prises en charge.
Rôles Pris en Charge¶
La fonctionnalité BLE est principalement accessible via le rôle Gestionnaire d'Appareils BLE, avec un accès limité pour d'autres rôles opérationnels.
| Rôle | Niveau d'Accès BLE |
|---|---|
| Gestionnaire d'Appareils BLE | Configuration complète, diagnostics et contrôle |
| Technicien | Accès opérationnel en lecture/écriture |
| Utilisateur | Lecture seule et commandes limitées |
| Clavier | Interactions BLE embarquées |
Architecture BLE¶
OvApp suit le modèle BLE Central–Périphérique :
- Central : Appareil mobile exécutant OvApp
- Périphérique : Appareil matériel Omnivoltaic
OvApp (Central)
↓ Scan
BLE Device (Peripheral)
↓ Advertise
Service Discovery
↓
Characteristic Read / Write / Notify
Découverte et Appairage d'Appareils¶
Découverte d'Appareils¶
- OvApp scanne les appareils à proximité diffusant des UUIDs spécifiques Omnivoltaic
-
Les appareils sont filtrés par :
-
Type d'appareil
- Puissance du signal (RSSI)
- Charge utile de publicité
Appairage et Liaison¶
- Un appairage sécurisé est requis lors de la première connexion
-
Méthodes prises en charge :
-
Appairage par clé ou PIN
- Clés pré-partagées (PSK)
- Codes de provisionnement
!!! note Les informations d'appairage sont stockées de manière sécurisée pour permettre des reconnexions fiables.
Services et Caractéristiques GATT¶
OvApp communique avec les appareils en utilisant les services GATT (Generic Attribute Profile).
Services Principaux¶
| Service | Description |
|---|---|
| Service d'Information sur l'Appareil | Fabricant, firmware, modèle |
| Service d'État | Batterie, santé, connectivité |
| Service de Commandes | Contrôle et configuration de l'appareil |
| Service de Données | Télémétrie et mesures |
| Service de Diagnostics | Erreurs, journaux, codes de panne |
Structure de la Charge Utile de Données¶
Les messages BLE suivent un format de charge utile structurée :
{
"att": {},
"cmd": {},
"sts": {},
"dta": {},
"dia": {}
}
| Section | Description |
|---|---|
att |
Attributs de l'appareil |
cmd |
Commandes émises par OvApp |
sts |
État actuel de l'appareil |
dta |
Données de télémétrie et de capteurs |
dia |
Diagnostics et rapport de pannes |
Opérations de Communication¶
Opérations de Lecture¶
- Récupérer les attributs de l'appareil
- Obtenir l'état actuel
- Interroger les valeurs de configuration
Opérations d'Écriture¶
- Envoyer des commandes de contrôle
- Mettre à jour les paramètres de l'appareil
Notification / Indication¶
- Mises à jour de télémétrie en temps réel
- Changements d'état
- Notifications de panne et d'alerte
Cycle de Vie de la Connexion¶
- Scanner les appareils BLE
- Se connecter à l'appareil sélectionné
- Découvrir les services et caractéristiques GATT
- Authentifier (si requis)
- Échanger des données
- S'abonner aux notifications
- Se déconnecter proprement
Sécurité et Autorisation¶
La communication BLE est sécurisée en utilisant :
- Connexions BLE chiffrées
- Autorisation de commandes basée sur les rôles
- Liste blanche d'appareils
- Jetons d'authentification basés sur les sessions
!!! warning Les commandes sensibles sont réservées aux rôles autorisés uniquement.
Gestion des Erreurs et Récupération¶
OvApp implémente une gestion robuste des erreurs, incluant :
- Tentatives de reconnexion automatiques
- Gestion des délais d'expiration
- Logique de nouvelle tentative de commande
- Mécanismes de repli hors ligne
Erreurs Courantes¶
| Erreur | Cause | Résolution |
|---|---|---|
| Appareil non visible | BLE désactivé | Activer Bluetooth |
| Délai d'expiration de connexion | Appareil hors de portée | Rapprocher l'appareil |
| Échec d'authentification | Identifiants invalides | Ré-appairer l'appareil |
| Commande rejetée | Rôle insuffisant | Vérifier les permissions |
Considérations de Performance¶
- Tailles de charge utile BLE optimisées
- Fréquence de notification contrôlée
- Stratégies de scan économes en énergie
- Intervalles de reconnexion adaptatifs