Aller au contenu

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

  1. Scanner les appareils BLE
  2. Se connecter à l'appareil sélectionné
  3. Découvrir les services et caractéristiques GATT
  4. Authentifier (si requis)
  5. Échanger des données
  6. S'abonner aux notifications
  7. 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