Le Data-Model LinkIO

Note

Les notions de model, feature, property sont définies par LinkIO et en sont la propriété. Elles sont indépendantes du protocole radio utilisé, le Bluetooth mesh dans notre cas. Ces notions fournissent simplement un couche applicative et d’abstraction de la couche de transport (Bluetooth mesh). Cependant la solution LinkIO est complètement compatible avec le Bluetooth Mesh, ce n’est donc pas une solution propriétaire.

Modèles (product references)

Les produits sont représentés par des “models”, qui définissent leur structure. Normalement une ref produit = 1 model (dans l’embarqué, dans l’iothub, etc…). Ne pas confondre ces models avec les models Bluetooth Mesh SIG.

Fonctionnalités (Features)

Les features définissent les fonctionnalitées utilisateur disponibles sur un produit. Elles définissent précisement les relations entre produits.

Feature class

Chaque feature est associée à une classe qui décrit son rôle dans le produit :

  • Une feature de classe “switch” a le rôle emetteur (un bouton par exemple). Elle doit correspondre à une feature “controller” (recepteur) qui réalise l’action.

  • Les features de classe “sensor” sont réservées aux capteurs (emetteur de données).

  • La classe device sert à configurer les paramètes généraux d’un device (parèmetres RF, MESH, …)

Name

Description

Rôle

sensor

Permet d’émettre des données : température, humidité etc

Emitter

switch

Permet d’émettre une commande

Emitter

controller

Permet de recevoir une commande

Receiver

device

Permet de configurer les paramètes généraux d’un device (parèmetres RF, MESH, …)

Configurer

Commande

Chaque feature de classe “switch” peut déclencher une action sur la feature de classe “controller” opposée via une commande.

Status et évenenements de feature

Les features de classe “controller” et “sensor” peuvent émettre des status ou evenements :

  • Evenement : donnée atomique et horodatée générée par une feature (2 évenements propagent 2 données differentes).

  • Status : représente l’état courant d’une feature.

Propriétés (Properties)

Chaque feature dispose de paramètres configurables par l’utilisateur ou fixé en usine.

Exemple du onoff-light-switch :

  • property[0x0000] : feature-enable

    • Enable a feature :

      • 0 : Feature disabled

      • 1 : Feature enabled

  • property[0x0100] : onoff-light-switch-type

    • Switch action type :

      • 0 : Undefined

      • 1 : Single Push NO

      • 2 : Single Push NC

      • 3 : Two ways

  • property[0x0101] : onoff-light-switch-compatibility-mode

    • Bluetooth MESH compatibility mode :

      • 0 : BLE MESH Proprietary mode

Features et models BLE MESH SIG

Features list

Les features sont décrites logiciellement par le fichier data-models/mesh/features.yaml qui permet de générer la page Les fonctionnalités par produit

Les features dans un model

Un model se compose d’un ensemble de features en général associées à une entrée/sortie disponible sur le produit (en fonction du PCB). Chaque fonction est paramétrable via les properties de la feature et activable en fonction de la disponibilité des IO.

Exemple pour SINP1 :

Feature/IO

Idx

Feature

IO

Configuration de la carte

0

ref-feature-device-config

LED RB

Controle lumière On/Off

1

Contrôleur On/Off

Relation entre features et models BLE MESH SIG

Chaque feature s’appuie sur un ou plusieurs models mesh afin de pouvoir établir la communication entre produits. Les features de classe “switch” s’appuient en général sur des models “client”, les controllers sur les models “server”. La communication entre switch et controller compatibles se fait donc au travers des models MESH client/server.

pages/tech_ressources/images/mesh_REF1_feature_onoff_example.png