Nouveau : le pare-feu IA surveille chaque module et explique chaque incident en termes simples. Découvrez comment ça marche

Appareils derrière une passerelle

Comment une passerelle signale les appareils de terrain comme appareils enfants sur les topics v1/gw : charges utiles, création des enfants, profils, noms et limites.

Une passerelle collecte les données des appareils de terrain qui ne peuvent pas atteindre Hermetry eux-mêmes (compteurs Modbus, contrôleurs RS485, capteurs BLE et autres) et les envoie via sa propre connexion. Hermetry transforme chaque appareil de terrain en appareil enfant : un appareil à part entière, avec ses mesures, attributs, alarmes et tableaux de bord. Cette page est la référence complète côté passerelle. Pour un bref résumé, voir Passerelles et appareils derrière une passerelle.

Une passerelle sous licence exécutant Hermetry Edge fait tout cela pour vous ; voir Passerelles sous licence et Hermetry Edge. Poursuivez la lecture si vous écrivez vous-même le logiciel de la passerelle ou si vous voulez savoir ce qu’il advient des données.

Configurer l’appareil passerelle

  1. Créez ou choisissez un profil d’appareil pour la passerelle. Il doit utiliser le schéma de topics v1/ par défaut. Le schéma Compatible legacy ne comporte aucune API de passerelle.
  2. Dans Devices > New device, ajoutez la passerelle et activez This device is a gateway. Un appareil sans cette option est refusé sur tous les topics v1/gw/* (forbidden_topic).
  3. Attribuez à la passerelle ses identifiants (jeton d’accès, MQTT basic ou certificat X.509), comme pour tout appareil MQTT. Voir Identifiants de l’appareil.
  4. Facultatif : dans le profil de la passerelle, définissez Profile of new children et Max children of a gateway (voir ci-dessous).

La passerelle se connecte en son propre nom. Les enfants ne reçoivent jamais d’identifiants propres et ne se connectent jamais.

Topics et charges utiles

Tous les topics de passerelle utilisent le QoS 1.

Topic (passerelle vers Hermetry)Charge utileSignification
v1/gw/connect{"device": "Meter A", "type": "lorawan-meter"}L’enfant est présent. type est facultatif et choisit le profil de l’enfant.
v1/gw/disconnect{"device": "Meter A"}L’enfant n’est plus présent.
v1/gw/telemetryVoir ci-dessousMesures d’un ou de plusieurs enfants.
v1/gw/attributes{"Meter A": {"lora.rssi": -97}}Attributs client d’un ou de plusieurs enfants.

La télémétrie est un objet indexé par nom d’enfant. Chaque enfant contient un enregistrement ou une liste d’enregistrements :

{
  "Meter A": [
    {"ts": 1759572000000, "values": {"kwh": 1203.4, "voltage": 229.8}},
    {"ts": 1759572060000, "values": {"kwh": 1203.6, "voltage": 230.1}}
  ],
  "Meter B": {"values": {"flow_m3h": 12.7}}
}
  • ts est l’heure en millisecondes à laquelle la valeur a été obtenue. Omettez-le si l’horloge de la passerelle n’est pas réglée ; Hermetry utilise alors l’heure d’arrivée. Voir Horodatages, mesures tardives et en double.
  • values suit les mêmes règles de clés et de valeurs que la télémétrie de tout appareil. Voir Clés de télémétrie.
  • Un enregistrement peut porter un objet meta facultatif contenant des informations sur la mesure, par exemple "meta": {"lora": {"rssi": -97, "snr": 7.5}}. meta ne doit pas dépasser 256 octets. Il n’est jamais enregistré comme mesure. Seuls ses membres lora et snmp (chacun au maximum 8 valeurs simples) sont transmis à vos flux comme métadonnées de message ; le reste est ignoré.
  • Un enregistrement sans values, ou dont le ts n’est pas un nombre positif, est ignoré. Le reste du message est conservé.

Un attribut client facultatif time_quality sur un enfant, {"source": true, "arrival": false, "synced": true}, indique si les horodatages proviennent de l’horloge propre de l’enfant, de l’heure d’arrivée sur la passerelle, et si l’horloge de la passerelle était synchronisée. Il s’agit d’une information uniquement.

Création des enfants

Hermetry crée un enfant la première fois que la passerelle le signale, par connect, par télémétrie ou par attributs. Un enfant vu en télémétrie sans connect est considéré comme connecté.

  • L’enfant appartient à l’organisation de la passerelle. Il n’est jamais revendiqué séparément.
  • Profil, dans cet ordre : un profil de votre organisation portant exactement le nom du type envoyé dans connect ; sinon le Profile of new children du profil de la passerelle ; sinon le Generic child profile intégré, que Hermetry crée la première fois qu’il est nécessaire. Un enfant annoncé sans type ignore la première étape.
  • Nom de l’appareil : le nom de l’enfant tel qu’envoyé. Si un appareil portant ce nom existe déjà dans votre organisation, le nom devient <nom envoyé> · <nom de la passerelle>, puis ce nom suivi de 2, 3 et ainsi de suite.
  • Renommer l’enfant dans Hermetry ne modifie pas son nom tel qu’envoyé. La passerelle continue de l’adresser par le nom qu’elle a transmis.
  • Les premiers enregistrements d’un enfant tout juste créé peuvent être perdus pendant sa création. Hermetry demande l’enfant une fois, et le message suivant le trouve.

Noms d’enfants

RègleValeur
LongueurDe 1 à 128 caractères
Non autoriséCaractères de contrôle, espace en début ou en fin
CasseSensible à la casse : abc et ABC sont deux enfants d’une même passerelle
UnicitéPar passerelle

Un nom qui enfreint une règle est ignoré et comptabilisé ; les autres enfants du message sont conservés.

Un appareil connecté directement prime. Si le nom de l’enfant est égal au numéro de série d’un appareil de votre organisation qui possède ses propres identifiants (sans tenir compte de la casse), l’enfant est refusé (child_conflict_direct) et aucun enfant n’est créé. Cela évite qu’un appareil ayant sa propre session cloud n’apparaisse deux fois.

Limites

LimiteValeur
Enfants par passerelleLe Max children of a gateway du profil (par défaut 500), sans jamais dépasser la valeur de votre forfait (500 si le forfait n’en indique aucune) ni le plafond de la plateforme, soit 1 000
Limite d’appareilsChaque enfant compte dans la limite d’appareils de votre forfait
Un message de passerelle64 Kio au maximum, ou le Max message payload (bytes) du profil de la passerelle s’il est plus bas
Enfants dans un message500 ; au-delà, ils sont ignorés
Enregistrements par enfant dans un message1 000 ; au-delà, ils sont ignorés
meta par enregistrement256 octets

Un enfant qui dépasserait la limite d’enfants ou la limite d’appareils est refusé (child_limit ou device_limit), et ses enregistrements sont supprimés.

Les limites de débit s’appliquent deux fois. D’abord, les limites du profil propre à la passerelle comptent le message entier, y compris les points de données de chaque enfant. Ensuite, les limites du profil de chaque enfant s’appliquent à sa part : un enfant qui dépasse ses limites perd seulement ses propres enregistrements (child_rate_limited). Voir Profils d’appareils pour les champs de limite et Quota de messages et utilisation.

État de connexion

  • connect et disconnect définissent l’état de connexion de l’enfant.
  • Lorsque la passerelle passe hors ligne, tous ses enfants passent hors ligne avec elle.
  • Un enfant désactivé est retiré en une minute environ : ses enregistrements ne sont plus acceptés.

Commandes vers les enfants

L’envoi de commandes et de changements d’attributs partagés à un enfant via sa passerelle est en cours de développement. Ne construisez pas dessus pour l’instant. Voir Commandes vers les appareils derrière une passerelle.

Dépannage

SymptômeCause et solution
La passerelle est déconnectée après quelques messages v1/gw/*L’appareil n’est pas marqué comme passerelle. Trois topics refusés en une minute ferment la session. Activez This device is a gateway.
Aucun enfant n’apparaîtLe nom de l’enfant enfreint une règle, la limite d’enfants ou d’appareils est atteinte, ou un appareil connecté directement utilise ce numéro de série. Vérifiez votre nombre d’appareils dans l’utilisation.
Un enfant a le mauvais profilLe type ne correspond pas exactement à un nom de profil. Renommez le profil ou définissez Profile of new children dans le profil de la passerelle. Pour changer le profil d’un enfant existant, utilisez la page de l’appareil enfant.
Un enfant affiche deux nomsUn appareil portant le nom transmis existait déjà, l’enfant a donc reçu le nom <nom envoyé> · <nom de la passerelle>.

Voir aussi