Concepts clés
Cette page explique les objets avec lesquels vous travaillez dans Fundamentum et la façon dont ils sont liés. Lisez-la une fois avant de provisionner vos propres appareils. Le reste de la documentation utilise ces termes sans les redéfinir.
La hiérarchie
Tout ce que vous gérez se trouve dans une arborescence. Une organisation possède des projets, un projet contient des registres et des types d'appareil, et chaque appareil appartient à exactement un registre et un type d'appareil.
Organisation
L'organisation est le compte de votre entreprise dans Fundamentum. Elle possède vos projets.
Projet
Le projet est l'unité d'isolation. Presque toutes les ressources (registres, types d'appareil, appareils, topics, types d'action, comptes de service) appartiennent à un projet, et la plupart des rôles sont accordés par projet. Un jeton qui a accès à un projet est refusé sur un autre. Une configuration courante consiste à avoir un projet pour le développement et un projet pour la production.
Registre
Un registre regroupe des appareils au sein d'un projet. Utilisez les registres pour segmenter votre parc, par exemple par site, par client ou par type d'installation. Un registre porte également les paramètres dont ses appareils ont besoin pour se connecter :
- une fenêtre de provisionnement (dates de début et de fin) et un quota d'appareils par type d'appareil ;
- le secret de provisionnement que les appareils utilisent pour s'enregistrer, que vous téléchargez depuis le Hub sous forme de fichier de jeton ;
- les paramètres de connexion MQTT et la configuration des heartbeats ;
- les topics qui reçoivent la télémétrie, les états et les résultats des actions personnalisées du registre.
Type d'appareil
Un type d'appareil est le modèle, ou gabarit, partagé par des appareils similaires. Il définit le nom et l'icône de l'appareil, s'il s'agit d'une passerelle, s'il est directement accessible, une configuration et des métadonnées par défaut, sa politique de heartbeat, ses versions de micrologiciel, ses capabilities et une limite d'actions facultative. Un type d'appareil peut appartenir à votre projet, ou être un type générique que Fundamentum fournit à tous les projets.
Type d'actif
L'ID de type d'actif (asset type ID) est l'identifiant externe d'un type d'appareil : le nombre qu'un appareil fournit lorsqu'il se provisionne lui-même, afin que Fundamentum sache quel type d'appareil utiliser. Vos ID de type d'actif sont des entiers positifs ; les valeurs négatives sont réservées par Fundamentum. Ne confondez pas l'ID de type d'actif avec l'id propre du type d'appareil dans la Public API.
Appareil
Un appareil est une unité physique (ou virtuelle). Il appartient à un registre et à un type d'appareil, et possède sa propre configuration et ses propres métadonnées. Les appareils sont identifiés par un numéro de série unique au sein de son registre. Les numéros de série utilisent des lettres minuscules, des chiffres, - et _.
Région
Dans la Devices API, un appareil est adressé par quatre valeurs : l'ID du projet, l'ID de la région, l'ID du registre et le numéro de série. Vous ne choisissez pas l'ID de la région : il est inclus dans le fichier de jeton du registre, avec les ID du projet et du registre.
Passerelles et sous-appareils
Une passerelle est un appareil dont le type d'appareil est marqué comme passerelle. Certains appareils ne peuvent pas joindre Fundamentum par eux-mêmes, par exemple les balises Bluetooth ou les capteurs LoRaWAN. Ces sous-appareils sont marqués comme non directement accessibles et communiquent par l'intermédiaire d'une passerelle. La passerelle signale les heartbeats, les états et les résultats d'actions en leur nom. Consultez Passerelles et sous-appareils.
Ce que les appareils envoient
Les appareils envoient trois types de données :
| Données | Description | Destination |
|---|---|---|
| État | Une paire clé/valeur signalée à un instant donné, comme firmware_version ou wifi_rssi. La valeur est n'importe quelle valeur JSON ; il n'y a pas de schéma. |
Fundamentum conserve l'historique complet et la dernière valeur de chaque clé. Vous pouvez consulter les deux dans le Hub et via la Public API. |
| Heartbeat | Un signal de vie périodique qui inclut le temps de fonctionnement de l'appareil. Une baisse du temps de fonctionnement signifie que l'appareil a redémarré. | Détermine l'état de connectivité de l'appareil dans le Hub. |
| Télémétrie | Lectures et événements au format libre. | Acheminée vers le topic de télémétrie du projet. |
Les états sont ce que l'appareil signale. Fundamentum n'a pas d'« état souhaité » : pour modifier quelque chose sur un appareil, vous lui envoyez une action.
Topics
Un topic est un canal de publication/abonnement appartenant à un projet. Chaque projet possède des topics par défaut de type telemetry, states et custom_actions. Les registres sont liés à des topics, afin que les données des appareils y circulent. Les connecteurs livrent les topics à vos propres systèmes, et les fonctions cloud peuvent transformer les données au passage. Les noms de topic comptent de 3 à 256 caractères, composés de lettres, de chiffres et de traits de soulignement. Consultez Topics et Connecteurs.
Actions, commandes et capabilities
Ces trois concepts envoient tous du travail aux appareils, à différents niveaux d'abstraction.
Type d'action et action. Un type d'action est un gabarit : un numéro type que le micrologiciel reconnaît, des délais d'expiration, des nouvelles tentatives et une priorité (une valeur plus faible signifie une priorité plus élevée). Une action est une utilisation de ce gabarit : une charge utile envoyée à un ou plusieurs appareils. La copie de l'action propre à chaque appareil passe par des statuts tels que pending, queued, sent et ongoing, et se termine par success, failure, timeout ou cancel. Les actions échouées peuvent être relancées. Dans le guide de démarrage rapide, la couleur de la LED est un type d'action avec type 1000.
Commande. Une commande est une instruction prédéfinie de la plateforme, comme le redémarrage, la mise à jour du micrologiciel ou la mise à jour de la configuration. Vous pouvez l'envoyer à de nombreux appareils en un seul lot.
Capability. Une capability est une opération nommée qu'un appareil peut effectuer, comme le redémarrage. Pour chaque type d'appareil, et éventuellement pour chaque version de micrologiciel, une capability est liée à un encodeur (une fonction cloud) et à un protocole. L'encodeur traduit la requête générique en ce qu'attendent ce matériel et ce micrologiciel. Ainsi, la même opération fonctionne sur un parc hétérogène. Si un lien propre à une version et un lien valable pour toutes les versions existent, le lien propre à la version s'applique.
Consultez Actions et encodeurs personnalisés et Mises à jour du micrologiciel (OTA).
Rôles
L'accès est contrôlé par des rôles. Un rôle est un ensemble de permissions, chacune autorisant une action (comme list, show, store, update ou delete) sur un type de ressource. Vous accordez un rôle à un utilisateur ou à un compte de service sur un projet, ou sur une licence lorsque vous servez vos propres clients. Consultez Rôles et permissions et Authentification.
Prochaines étapes
- Guide de démarrage rapide : AtomS3 Lite : découvrez ces concepts sur un véritable appareil.
- Provisionnement : enregistrez vos appareils dans un registre.
- Glossaire : définitions courtes de chaque terme.