Schneider Electric Cloud Connected Sensor Data-as-a-Service, Starter Solutions Mode d'emploi

Ajouter à Mes manuels
46 Des pages
Schneider Electric Cloud Connected Sensor Data-as-a-Service, Starter Solutions Mode d'emploi | Fixfr
Cloud Connected Sensor Data-as-a-Service
Solutions de démarrage
Traduction de la notice originale
EIO0000003798.01
11/2020
www.tesensors.com
Mentions légales
La marque Schneider Electric et toutes les marques de commerce de Schneider
Electric SE et de ses filiales mentionnées dans ce guide sont la propriété de
Schneider Electric SE ou de ses filiales. Toutes les autres marques peuvent être des
marques de commerce de leurs propriétaires respectifs. Ce guide et son contenu
sont protégés par les lois sur la propriété intellectuelle applicables et sont fournis à
titre d'information uniquement. Aucune partie de ce guide ne peut être reproduite ou
transmise sous quelque forme ou par quelque moyen que ce soit (électronique,
mécanique, photocopie, enregistrement ou autre), à quelque fin que ce soit, sans
l'autorisation écrite préalable de Schneider Electric.
Schneider Electric n'accorde aucun droit ni aucune licence d'utilisation commerciale
de ce guide ou de son contenu, sauf dans le cadre d'une licence non exclusive et
personnelle, pour le consulter tel quel.
Les produits et équipements Schneider Electric doivent être installés, utilisés et
entretenus uniquement par le personnel qualifié.
Les normes, spécifications et conceptions sont susceptibles d'être modifiées à tout
moment. Les informations contenues dans ce guide peuvent faire l'objet de
modifications sans préavis.
Dans la mesure permise par la loi applicable, Schneider Electric et ses filiales
déclinent toute responsabilité en cas d'erreurs ou d'omissions dans le contenu
informatif du présent document ou pour toute conséquence résultant de l'utilisation
des informations qu'il contient.
Table des matières
Consignes de sécurité ................................................................................5
A propos de ce document............................................................................6
Présentation de Cloud Connected Sensor Data-as-a-Service ........................7
Offre héritée Cloud Connected Sensor ...................................................7
Offre Cloud Connected Sensor Data-as-a-Service...................................8
Messagerie Publier / S’abonner et processus ETL ......................................10
Messagerie Publier / S’abonner et processus ETL appliqués à Cloud
Connected Sensor Data-as-a-Service ..................................................10
Data-as-a-Service dans Cloud Connected Sensor ......................................12
Comment activer Data-as-a-Service dans Cloud Connected
Sensor ...............................................................................................12
Fonctionnalités liées à Cloud Connected Sensor Data-as-aService.........................................................................................12
Guide d’activation étape par étape de Cloud Connected Sensor
Data-as-a-Service .........................................................................13
Format des messages des émetteurs ...................................................14
Format des messages ...................................................................14
Trame de configuration produit (RecordType = 16 (10h)) ................17
Trame de configuration réseau (RecordType = 32 (20h)) ................18
Trame d’état (RecordType = 48 (30h)) ...........................................19
Trame de mesure (RecordType = 64 (40h)) ...................................20
Trame de géolocalisation (RecordType 255 (FFh))...........................21
Transmission des données par radio ....................................................22
Détails des trames radio ................................................................22
Cloud Connected Sensor Data-as-a-Service - Solutions de
démarrage ...............................................................................................25
Vue conceptuelle des solutions de démarrage.......................................26
Solution de démarrage pour un fichier simple........................................28
Packages NuGet requis, SDK et bibliothèques ................................28
Configuration préalable à l’exécution ..............................................28
Comportement de la solution de démarrage ....................................28
Solution de démarrage pour WonderWare Historian ..............................30
Packages NuGet requis, SDK et bibliothèques ................................30
Configuration préalable à l’exécution ..............................................30
Comportement de la solution de démarrage ....................................31
Solution de démarrage pour Modbus over TCP .....................................32
Packages NuGet requis, SDK, et bibliothèques ...............................32
Configuration préalable à l’exécution ..............................................32
Comportement de la solution de démarrage ....................................33
Annexes .....................................................................................................37
Principe de la messagerie Publier / S’abonner et des processus ETL ...........38
Processus ETL ...................................................................................39
Présentation des processus ETL ....................................................39
Processus d’extraction ..................................................................39
Processus de transformation..........................................................39
Processus de chargement .............................................................40
Messagerie Publier / S’abonner ...........................................................41
Concept de base ...........................................................................41
EIO0000003798.01
3
Remarque relative à la cybersécurité ..............................................42
Informations relatives à la technologie utilisée ............................................43
Microsoft Azure Service Bus ................................................................43
Microsoft Visual Studio ........................................................................43
Glossaire ....................................................................................................45
4
EIO0000003798.01
Consignes de sécurité
Consignes de sécurité
Informations importantes
Lisez attentivement ces instructions et examinez le matériel pour vous familiariser
avec l'appareil avant de tenter de l'installer, de le faire fonctionner, de le réparer ou
d'assurer sa maintenance. Les messages spéciaux suivants que vous trouverez
dans cette documentation ou sur l'appareil ont pour but de vous mettre en garde
contre des risques potentiels ou d'attirer votre attention sur des informations qui
clarifient ou simplifient une procédure.
La présence de ce symbole sur une étiquette “Danger” ou “Avertissement” signale un
risque d'électrocution qui provoquera des blessures physiques en cas de non-respect
des consignes de sécurité.
Ce symbole est le symbole d'alerte de sécurité. Il vous avertit d'un risque de blessures
corporelles. Respectez scrupuleusement les consignes de sécurité associées à ce
symbole pour éviter de vous blesser ou de mettre votre vie en danger.
!
DANGER
DANGER signale un risque qui, en cas de non-respect des consignes de sécurité, provoque
la mort ou des blessures graves.
!
AVERTISSEMENT
AVERTISSEMENT signale un risque qui, en cas de non-respect des consignes de sécurité,
peut provoquer la mort ou des blessures graves.
!
ATTENTION
ATTENTION signale un risque qui, en cas de non-respect des consignes de sécurité, peut
provoquer des blessures légères ou moyennement graves.
AVIS
AVIS indique des pratiques n'entraînant pas de risques corporels.
Remarque Importante
L'installation, l'utilisation, la réparation et la maintenance des équipements
électriques doivent être assurées par du personnel qualifié uniquement.
Schneider Electric décline toute responsabilité quant aux conséquences de
l'utilisation de ce matériel.
Une personne qualifiée est une personne disposant de compétences et de
connaissances dans le domaine de la construction, du fonctionnement et de
l'installation des équipements électriques, et ayant suivi une formation en sécurité
leur permettant d'identifier et d'éviter les risques encourus.
EIO0000003798.01
5
A propos de ce document
A propos de ce document
Objet du document
Ce document a pour objectif de fournir au client des informations sur la solution
Cloud Connected Sensor Data-as-a-Service, son activation, son utilisation et les
possibilités qu’elle offre.
Note de validité
Ce document a été mis à jour avec les solutions de démarrage Data-as-a-Service
V1.1.
Pour plus d'informations sur la conformité des produits avec les normes
environnementales (RoHS, REACH, PEP, EOLI, etc.), consultez le site www.se.
com/ww/en/work/support/green-premium/.
Les caractéristiques techniques des équipements décrits dans ce document sont
également fournies en ligne. Pour accéder aux informations en ligne, allez sur la
page d'accueil de Schneider Electric www.se.com/ww/en/download/.
Les caractéristiques présentées dans ce manuel devraient être identiques à celles
fournies en ligne. Toutefois, en application de notre politique d'amélioration
continue, nous pouvons être amenés à réviser le contenu du document afin de le
rendre plus clair et plus précis. Si vous constatez une différence entre le manuel
et les informations fournies en ligne, utilisez ces dernières en priorité.
Documents à consulter
Titre de la documentation
Numéro de référence
XIOT11SE••• Émetteur autonome - Fiche
d’instructions
QGH83382 (ENG)
QGH83382 (ITA)
QGH83382 (SPA)
QGH83382 (FRE)
QGH83382 (DAN)
QGH83382 (GER)
QGH83382 (SWE)
QGH83382 (DUT)
Cloud Connected Sensor Data-as-a-Service Solution de démarrage WonderWare
XIOTDaaSStarterSolution_WonderWare
Cloud Connected Sensor Data-as-a-Service Solution de démarrage Visual Studio
XIOTDaaSStarterSolution_Visual Studio
Vous pouvez télécharger ces publications, le présent manuel et autres
informations techniques depuis notre site web à l'adresse : www.se.com/en/
download/.
6
EIO0000003798.01
Présentation de Cloud Connected Sensor Data-as-a-Service
Présentation de Cloud Connected Sensor Data-as-aService
Offre héritée Cloud Connected Sensor
Présentation
Présentation de Cloud Connected Sensor hérité :
L’émetteur autonome XIOT11SE••••• permet d’exploiter les changements d’état
d’un ou deux contacts secs via une connexion LPWAN (Sigfox). Les informations
transmises sont mises à disposition sur le Web, via la plate-forme Cloud
Connected Sensor (https://XIOT.Tesensors.com) ou à partir des applications
mobiles IOS / Android (appli Cloud Connected Switch).
NOTE: Cloud Connected Sensor Data-as-a-Service vient compléter et
s’ajouter aux fonctionnalités Cloud Connected Sensor héritées. Que Data-asa-Service soit activé ou non, les données de l’émetteur restent disponibles sur
la plate-forme Web Cloud Connected Switch de l’appli mobile.
EIO0000003798.01
7
Présentation de Cloud Connected Sensor Data-as-a-Service
Offre Cloud Connected Sensor Data-as-a-Service
Présentation
Cloud Connected Sensor Data-as-a-Service (DaaS) offre des capacités
d’intégration pour stocker des données et gérer les équipements Cloud
Connected Sensor avec les systèmes du client, par exemple les systèmes
SCADA ou les systèmes d’application client spécifiques.
NOTE: la solution d’intégration Cloud Connected Sensor Data-as-a-Service
est uniquement disponible pour la référence XIOT11SERMRCL.
Cloud Connected Sensor offre une solution orientée messages, en quasi-temps
réel, pour Data-as-a-Service.
Présentation de Cloud Connected Sensor avec Data-as-a-Service :
Solution Cloud Connected Sensor
Les solutions d’intégration permettent d’extraire les données du système source
et de les charger dans le système de destination.
Dans le cas de Cloud Connected Sensor Data-as-a-Service :
•
le système source est la solution Cloud Connected Sensor,
•
le système de destination est toujours le système client.
Cloud Connected Sensor Data-as-a-Service permet de récupérer les informations
d’un émetteur à partir de la plate-forme Cloud Connected Sensor et offre la
possibilité de stocker et de surveiller les données des systèmes client, quels qu’ils
soient.
8
EIO0000003798.01
Présentation de Cloud Connected Sensor Data-as-a-Service
Ces processus sont souvent appelés ETL :
•
E pour Extract : extraient les données du système source au format
d’extraction.
•
T pour Transform : transforment les données du format d’extraction au
format de chargement.
•
L pour Load : chargent les données dans le système de destination
Le principe de messagerie Publier / S’abonner est utilisé pour mettre les données
à disposition sur le système de destination.
Selon le concept ETL, le fait de récupérer les données à partir du système source
est appelé processus d’extraction. Cependant, dans le concept de messagerie
Publier / S’abonner, le fait de récupérer les données à partir du stockage de
données est appelé processus de consommation.
Dans les chapitres suivants, la terminologie Extraire / Consommer décrit la même
action de récupération des données à partir d’une source de données. Dans la
mesure où le concept de Cloud Connected Sensor Data-as-a-Service repose
principalement sur la messagerie Publier / S’abonner, l’expression « processus de
consommation » est plus adaptée.
Pour plus d’informations sur les concepts orientés messages, reportez-vous à la
section Principe de la messagerie Publier / S’abonner et des processus ETL, page
38.
EIO0000003798.01
9
Messagerie Publier / S’abonner et processus ETL
Messagerie Publier / S’abonner et processus ETL
Messagerie Publier / S’abonner et processus ETL appliqués à
Cloud Connected Sensor Data-as-a-Service
Présentation
Vue conceptuelle de la messagerie Publier / S’abonner et des processus ETL appliqués à la solution Cloud
Connected Sensor Data-as-a-Service :
Principe
Dans le cas de Cloud Connected Sensor Data-as-a-Service :
•
La plate-forme Cloud Connected Sensor est l’éditeur du message.
•
DaaS Customer Queue est la plate-forme de publication / d’abonnement
basée sur la technologie Microsoft Azure Service Bus Queue.
•
Les mécanismes de communication sont les API Microsoft Azure Service Bus
API (application program interface).
•
Le consommateur du message est le client qui a activé Cloud Connected
Sensor Data-as-a-Service.
•
Il s’agit du consommateur du message qui implémente le processus
d’extraction (consommation), le processus de transformation et le processus
de chargement.
Une fois le processus d’extraction exécuté, les données sont chargées sur le
système de destination et ne sont plus stockées sur la plate-forme Cloud
Connected Sensor.
AVERTISSEMENT
RISQUES POTENTIELS POUVANT PORTER ATTEINTE À LA
DISPONIBILITÉ, À L’INTÉGRITÉ ET À LA CONFIDENTIALITÉ DU SYSTÈME
•
Placez les équipements en réseau derrière plusieurs couches de
cyberdéfense (telles que les pare-feux, la segmentation du réseau, ainsi que
la détection et la protection contre les intrusions sur le réseau).
•
Appliquez les bonnes pratiques en matière de cybersécurité (par exemple :
privilèges restreints, séparation des tâches) pour éviter l’exposition à des
personnes non autorisées, la perte, la modification des données et des
journaux ou l’interruption des services.
Le non-respect de ces instructions peut provoquer la mort, des blessures
graves ou des dommages matériels.
L’activation des Data-as-a-Service à partir de la plate-forme Cloud Connected
Sensor donne accès à la chaîne de connexion.
10
EIO0000003798.01
Messagerie Publier / S’abonner et processus ETL
Une chaîne de connexion est une chaîne qui spécifie des informations à propos
d’une source de données et les méthodes permettant de s’y connecter. Dans le
cas de Cloud Connected Sensor Data-as-a-Service, la chaîne de connexion
fournie est destinée à Microsoft Azure Service Bus Queue.
Pour plus d’informations sur l’utilisation de la chaîne de connexion fournie,
reportez-vous aux solutions de démarrage, et notamment à la fonction de
consommation, page 25.
Consultez le site Web Microsoft Azure pour plus d’informations sur l’utilisation des
chaînes de connexion et sur la façon de procéder pour se connecter à Microsoft
Azure Service Bus Queue à l’aide d’une API dédiée. Reportez-vous également
aux informations sur les technologies utilisées, page 43.
EIO0000003798.01
11
Data-as-a-Service dans Cloud Connected Sensor
Data-as-a-Service dans Cloud Connected Sensor
Comment activer Data-as-a-Service dans Cloud Connected
Sensor
Fonctionnalités liées à Cloud Connected Sensor Data-as-a-Service
Présentation
Cloud Connected Sensor Data-as-a-Service est uniquement disponible pour la
référence XIOT11SERMRCL. La page Services de la plate-forme Web Cloud
Connected Sensor est uniquement accessible si un équipement
XIOT11SERMRCL a été déclaré.
La page Services de la plate-forme Web Cloud Connected Sensor permet
d’effectuer les actions suivantes :
•
Acheter des abonnements (connexions) pour les équipements
XIOT11SERMRCL, à l’aide de l’icône Panier.
•
Suspendre ou interrompre tous les abonnements pour les équipements.
•
Activer / désactiver Data-as-a-Service.
•
Régénérer la chaîne de connexion.
•
Accéder aux fichiers des solutions de démarrage.
Comportement de Cloud Connected Sensor Data-as-a-Service
Informations sur le comportement de Cloud Connected Sensor Data-as-aService :
12
•
Une fois que Data-as-a-Service est activé, toutes les données en provenance
des équipements XIOT11SERMRCL associés à un abonnement valide sont
disponibles en quasi-temps réel dans la file d’attente du client.
•
Dans le cas où Cloud Connected Sensor Data-as-a-Service est déjà activé et
où le client déclare un nouvel émetteur, prévoyez un délai de configuration de
15 minutes avant que les données en provenance de cet équipement soient
disponibles dans la file d’attente du client.
•
Toutes les données de la file d’attente du client seront disponibles pendant
15 jours.
•
Lorsque le client se connecte à sa file d’attente et consomme un message, ce
dernier n’est plus disponible dans la file d’attente.
•
Dans la file d’attente du client DaaS, l’ordre FIFO (premier entré, premier
sorti) est respecté.
•
Si la connexion à la file d’attente (file d’attente DaaS) a été compromise, il est
possible de régénérer la chaîne de connexion correspondante à l’aide du
bouton dédié sur la page Services. La chaîne de connexion précédente
deviendra non valide, et la file d’attente du client sera accessible uniquement
via la nouvelle chaîne de connexion. Toutes les données incluses dans la file
d’attente au moment de la régénération de la chaîne de connexion sont
conservées.
•
Seuls les messages en provenance d’équipements dont le client est maître
seront transmis à la file d’attente du client. C’est pourquoi les messages en
provenance d’équipements dont le client est administrateur ou utilisateur ne
seront pas disponibles dans la file d’attente du client.
EIO0000003798.01
Data-as-a-Service dans Cloud Connected Sensor
Guide d’activation étape par étape de Cloud Connected Sensor Data-as-a-Service
Étape
Action
1
Une fois qu’un XIOT11SERMRCL est déclaré, l’onglet Services de la plate-forme Cloud Connected Sensor devient accessible.
Cloud Connected Sensor Data-as-a-Service est géré depuis cette page.
2
Pour activer Cloud Connected Sensor DaaS, cliquez sur le bouton Activer.
3
Cloud Connected Sensor DaaS est activé et la chaîne de connexion (informations de connexion) requise pour accéder à la file
d’attente du client est disponible dans la zone dédiée.
4
Les données destinées à l’émetteur sont accessibles dans la file d’attente DaaS à l’aide de la chaîne de connexion fournie.
EIO0000003798.01
13
Data-as-a-Service dans Cloud Connected Sensor
Format des messages des émetteurs
Format des messages
Présentation
Les données de l’émetteur sont enregistrées dans la file d’attente du client au
format JSON.
Divers messages JSON peuvent être présents dans la file d’attente du client
DaaS. Chaque message JSON présente des attributs communs, ainsi que
quelques attributs qui les différencient les uns des autres.
L’attribut JSON RecordType permet de savoir quel modèle JSON est utilisé.
Les émetteurs Cloud Connected Sensor peuvent envoyer 5 types de trame de
données :
•
Une trame de configuration produit, page 17
•
Une trame de configuration réseau, page 18
•
Une trame d’état, page 19
•
Une trame de mesure, page 20
•
Une trame de géolocalisation, page 21
Diagramme temporel
Trames transmises par l’émetteur :
Étape
1
Action
Trames envoyées
Activation du produit après la détection
d’un aimant
Trame de configuration produit 10h
Trame de configuration réseau 20h
Trame de mesure 40h
2
Changement d’état d’une des deux entrées
Trame de mesure 40h
3
Changement d’état d’une des deux entrées
pendant la transmission de la trame
précédente
Trame de mesure 40h
NOTE: Temps de garde de 20 s entre
deux transmissions
4
Une fois par jour
Trame d’état 30h
NOTE: les trames transmises sont au format little endian.
NOTE: Une trame de géolocalisation FFh est générée par le Sigfox Backend à
chaque réception d’un message de l’émetteur.
14
EIO0000003798.01
Data-as-a-Service dans Cloud Connected Sensor
Interprétation des messages JSON
Le tableau suivant explique comment interpréter chaque champ des messages
JSON :
Champ JSON
Description
Valeur
Type de trame
10h
20h
30h
40h
FFh
✓
device
ID d’équipement unique Sigfox (ID
d’émetteur unique).
4 octets
time
Horodatage GMT (date de réception).
AAAA-MM-JJTHH:MM:SS
✓
-
avgSnr
Rapport signal-bruit moyen calculé à partir
des 25 derniers messages.
En dB, valeur flottante avec au
maximum deux décimales ou N/
A.
✓
-
NOTE: l’équipement doit avoir
envoyé au moins 15 messages.
Plus fournie par Sigfox (toujours
"null").
data
Réservé
-
✓
-
duplicate
Réservé
-
✓
-
snr
Rapport signal-bruit.
En dB, valeur flottante avec au
maximum deux décimales.
✓
-
station
Identifiant de la station de base Sigfox.
2 octets
✓
-
lat
Latitude, arrondie à l’entier le plus proche,
de la station de base qui a reçu le
message.
En degrés, avec une décimale.
✓
-
✓
-
✓
-
✓
-
lng
rssi
Longitude, arrondie à l’entier le plus
proche, de la station de base qui a reçu le
message.
Force du signal reçu.
Plus fournie par Sigfox (toujours
"null").
En degrés, avec une décimale.
Plus fournie par Sigfox (toujours
"null").
En dBm, valeur flottante avec au
maximum deux décimales.
S’il n’y a aucune donnée à
renvoyer, la valeur est nulle.
seqNumber
Numérotation de la séquence de trames,
le cas échéant.
RecordType
Type de la trame envoyée par l’émetteur
Cloud Connected Server.
-
✓
•
Trame de configuration produit.
•
16 (10h)
•
Trame de configuration réseau.
•
32 (20h)
•
Trame d’état.
•
48 (30h)
•
Trame de mesure.
•
64 (40h)
•
Trame de géolocalisation.
•
255(FFh)
FrameCnt1
Numérotation des trames envoyées par
l’émetteur. Incrémentation à chaque
transmission. Permet de savoir si une
trame a été perdue.
0…7, puis nouvelle boucle
✓
-
CommandDone
Réservé
-
✓
-
HWError
Réservé
-
✓
-
LowBatError
Réservé
-
✓
-
ConfigOK
Réservé
-
✓
-
S1ClosedCnt
Nombre de fois où l’entrée 1 est passée à
l’état fermé depuis sa dernière
transmission vers la plate-forme Cloud
Connected Sensor.
0…255
-
✓
-
S2ClosedCnt
Nombre de fois où l’entrée 2 est passée à
l’état fermé depuis sa dernière
transmission vers la plate-forme Cloud
Connected Sensor.
0…255
-
✓
-
S3ClosedCnt
Nombre de fois où l’entrée 3 est passée à
l’état fermé depuis sa dernière
transmission vers la plate-forme Cloud
Connected Sensor.
0…255
-
✓
-
EIO0000003798.01
15
Data-as-a-Service dans Cloud Connected Sensor
Champ JSON
Description
Valeur
Type de trame
10h
20h
30h
40h
FFh
S4ClosedCnt
Nombre de fois où l’entrée 4 est passée à
l’état fermé depuis sa dernière
transmission vers la plate-forme Cloud
Connected Sensor.
0…255
-
✓
-
S4PreviousState
État précédent de l’entrée 4 connectée à
l’émetteur Cloud Connected Sensor.
1 : ouvert
-
✓
-
-
✓
-
-
✓
-
-
✓
-
-
✓
-
-
✓
-
-
✓
-
-
✓
-
✓
-
S4State
S3PreviousState
S3State
S2PreviousState
S2State
S1PreviousState
0 : fermé
État actuel de l’entrée 4 connectée à
l’émetteur Cloud Connected Sensor.
1 : ouvert
État précédent de l’entrée 3 connectée à
l’émetteur Cloud Connected Sensor.
1 : ouvert
0 : fermé
0 : fermé
État actuel de l’entrée 3 connectée à
l’émetteur Cloud Connected Sensor.
1 : ouvert
État précédent de l’entrée 2 connectée à
l’émetteur Cloud Connected Sensor.
1 : ouvert
0 : fermé
0 : fermé
État actuel de l’entrée 2 connectée à
l’émetteur Cloud Connected Sensor.
1 : ouvert
État précédent de l’entrée 1 connectée à
l’émetteur Cloud Connected Sensor.
1 : ouvert
0 : fermé
0 : fermé
État actuel de l’entrée 1 connectée à
l’émetteur Cloud Connected Sensor.
1 : ouvert
S202
Réservé
Valeur fixe (2).
-
S300
Réservé
Valeur fixe (144).
✓
-
S301
Réservé
Valeur fixe (72).
✓
-
S302
Réservé
Valeur fixe (70).
✓
-
S303
Réservé
Valeur fixe (70).
✓
-
S304
Réservé
Valeur fixe (70).
✓
-
S305
Réservé
Valeur fixe (70).
✓
-
S306
Réservé
Valeur fixe (1).
✓
-
FrameCnt2
Réservé
Même valeur que FrameCnt1.
✓
-
FrameCnt3
Réservé
Même valeur que FrameCnt1.
✓
-
FrameCnt4
Réservé
Même valeur que FrameCnt1.
✓
-
S1OpenCnt
Nombre de fois où l’entrée 1 est passée à
l’état ouvert depuis sa dernière
transmission vers la plate-forme Cloud
Connected Sensor.
0…255
-
✓
-
S2OpenCnt
Nombre de fois où l’entrée 2 est passée à
l’état ouvert depuis sa dernière
transmission vers la plate-forme Cloud
Connected Sensor.
0…255
-
✓
-
lat
Latitude de l’émetteur qui a transmis la
trame.
En Deg - valeur flottante 32 bits.
-
✓
lng
Longitude de l’émetteur qui a transmis la
trame.
En Deg - valeur flottante 32 bits.
-
✓
S1State
16
0 : fermé
EIO0000003798.01
Data-as-a-Service dans Cloud Connected Sensor
Trame de configuration produit (RecordType = 16 (10h))
Présentation
Pour une trame de configuration produit, RecordType est égal à 16 (10h) dans le
message JSON.
Les trames de configuration produit sont envoyées par l’émetteur Cloud
Connected Sensor uniquement après leur activation.
La réception d’une trame de ce type pendant le fonctionnement normal du produit
peut être interprétée comme le signe d’un comportement anormal.
Exemple de trame de configuration produit
{
"device": "88536A",
"time": "2018-10-04T13:39:30",
"avgSnr": "null",
"data": "100090484646464601",
"duplicate": "false",
"snr": "6.00",
"station": "0FBE",
"lat": "null",
"lng": "null",
"rssi": "-135.00",
"seqNumber": "1254",
"RecordType": 16,
"FrameCnt1": 0,
"CommandDone": 0,
"HWError": 0,
"LowBatError": 0,
"ConfigOK": 0,
"S300": 144,
"S301": 72,
"S302": 70,
"S303": 70,
"S304": 70,
"S305": 70,
"S306": 1,
"FrameCnt2": 0,
"FrameCnt3": 0,
"FrameCnt4": 0,
"SwitchError": 0,
}
EIO0000003798.01
17
Data-as-a-Service dans Cloud Connected Sensor
Trame de configuration réseau (RecordType = 32 (20h))
Présentation
Pour une trame de configuration réseau, RecordType est égal à 32 (20h) dans le
message JSON.
Les trames de configuration réseau sont envoyées par l’émetteur Cloud
Connected Sensor uniquement après leur activation.
La réception d’une trame de ce type pendant le fonctionnement normal du produit
peut être interprétée comme le signe d’un comportement anormal.
Exemple de trame de configuration réseau
{
"device": "88536A",
"time": "2018-10-04T13:40:06",
"avgSnr": "null",
"data": "202002",
"duplicate": "false",
"snr": "8.40",
"station": "0FBE",
"lat": "null",
"lng": "null",
"rssi": "-136.00",
"seqNumber": "1255",
"RecordType": 32,
"FrameCnt1": 1,
"CommandDone": 0,
"HWError": 0,
"LowBatError": 0,
"ConfigOK": 0,
"S202": 2,
"FrameCnt2": 1,
"FrameCnt3": 1,
"FrameCnt4": 1,
"SwitchError": 0
}
18
EIO0000003798.01
Data-as-a-Service dans Cloud Connected Sensor
Trame d’état (RecordType = 48 (30h))
Présentation
Pour une trame d’état, RecordType est égal à 48 (30h) dans le message JSON.
Les trames d’état sont envoyées par l’émetteur Cloud Connected Sensor toutes
les 24 heures.
Exemple de trame de configuration réseau
{
"device": "88AC1A",
"time": "2018-09-28T13:57:01",
"avgSnr": "null",
"data": "3060",
"duplicate": "false",
"snr": "13.21",
"station": "05A1",
"lat": "null",
"lng": "null",
"rssi": "-135.00",
"seqNumber": "723",
"RecordType": 48,
"FrameCnt1": 3,
"CommandDone": 0,
"HWError": 0,
"LowBatError": 0,
"ConfigOK": 0,
"FrameCnt2": 3,
"FrameCnt3": 3,
"FrameCnt4": 3,
"SwitchError": 0
}
EIO0000003798.01
19
Data-as-a-Service dans Cloud Connected Sensor
Trame de mesure (RecordType = 64 (40h))
Présentation
Pour une trame de mesure, RecordType est égal à 64 (40h) dans le message
JSON.
Les trames de mesure sont envoyées par Cloud Connected Sensor chaque fois
que l’état de sortie du capteur est modifié.
Exemple de trame de configuration réseau
{
"device": "88AC1A",
"time": "2018-09-28T13:28:38",
"avgSnr": "null",
"data": "4080000100000000000001",
"duplicate": "false",
"snr": "8.20",
"station": "05A1",
"lat": "null",
"lng": "null",
"rssi": "-137.00",
"seqNumber": "716",
"RecordType": 64,
"FrameCnt1": 4,
"CommandDone": 0,
"HWError": 0,
"LowBatError": 0,
"ConfigOK": 0,
"S1ClosedCnt": 1,
"S2ClosedCnt": 0,
"S3ClosedCnt": 0,
"S4ClosedCnt": 0,
"S4PreviousState": 0,
"S4State": 0,
"S3PreviousState": 0,
"S3State": 0,
"S2PreviousState": 0,
"S2State": 0,
"S1PreviousState": 0,
"S1State": 0,
"FrameCnt2": 4,
"FrameCnt3": 4,
"FrameCnt4": 4,
"SwitchError": 0
"S1OpenCnt": 1,
"S2OpenCnt": 0,
}
20
EIO0000003798.01
Data-as-a-Service dans Cloud Connected Sensor
Trame de géolocalisation (RecordType 255 (FFh))
Présentation
Pour une trame de géolocalisation, RecordType est égal à 255 (FFh) dans le
message JSON.
Les trames de géolocalisation sont générées par le Sigfox Backend à chaque
réception d’un message de transmetteur.
Exemple de trame de géolocalisation
{
"device": "88AC1A",
"RecordType": 255,
"lat": "46.751289126",
"lng": "1.0254862135",
}
EIO0000003798.01
21
Data-as-a-Service dans Cloud Connected Sensor
Transmission des données par radio
Détails des trames radio
Présentation
L’émetteur envoie quatre types de trame sur le réseau SIGFOX® :
•
Une trame d’activation produit (code 10h).
•
Une trame d’activation réseau (code 20h).
•
Une trame d’état (code 30h).
•
Une trame d’événement pour les entrées du capteur (code 40h).
Détails de la trame de configuration produit transmise
Trame Data de configuration produit 10h :
Nombre
d’octets
Données
Description
0
Code de type
d’enregistrement
10h (16)
État
00h
1
Bit 0
Bit 1
= 1 si la tension de la batterie est ≤ 2,5 Vcc
Bit 2
= 1 si une erreur matérielle a été détectée
Bits 3…
4
Réservés
Bits 5…
7
Compteur de trames transmises (00h…07h)
2
-
90h
3
-
48h
4
-
46h
5
-
46h
6
-
00h
7
-
00h
8
-
01h
9
-
00h
10
-
00h
Détails de la trame de configuration réseau transmise
Trame Data de configuration réseau 20h :
Nombre
d’octets
Données
Description
0
Code de type
d’enregistrement
20h (32)
État
00h
1
22
Bit 0
Bit 1
= 1 si la tension de la batterie est ≤ 2,5 Vcc
Bit 2
= 1 si une erreur matérielle a été détectée
Bits 3…
4
Réservés
Bits 5…
7
Compteur de trames transmises (00h…07h)
2
-
01h
3
-
01h
EIO0000003798.01
Data-as-a-Service dans Cloud Connected Sensor
Nombre
d’octets
Données
Description
4
-
00h
5
-
00h
6
-
00h
7
-
00h
8
-
00h
9
-
00h
10
-
00h
Détails de la trame d’état transmise
Trame Data d’état 30h :
Nombre
d’octets
Données
Description
0
Code de type
d’enregistrement
30h (48)
État
00h
1
Bit 0
Bit 1
= 1 si la tension de la batterie est ≤ 2,5 Vcc
Bit 2
= 1 si une erreur matérielle a été détectée
Bits 3…
4
Réservés
Bits 5…
7
Compteur de trames transmises (00h…07h)
Détails de la trame de mesure transmise
Trame Data de mesure 40h :
Nombre
d’octets
Données
Description
0
Code de type
d’enregistrement
40h (64)
État
00h
1
EIO0000003798.01
Bit 0
Bit 1
= 1 si la tension de la batterie est ≤ 2,5 Vcc
Bit 2
= 1 si une erreur matérielle a été détectée
Bits 3…
4
Réservés
Bits 5…
7
Compteur de trames transmises (00h…07h)
2…3
Capteur 1
Compteur d’événements (00h…FFh)
4…5
Capteur 2
Compteur d’événements (00h…FFh)
6…9
Réservés
-
23
Data-as-a-Service dans Cloud Connected Sensor
24
Nombre
d’octets
Données
Description
10
Bit 0
État du capteur
Capteur 1 - État actuel
Bit 1
1 : ouvert, 2 : fermé
Capteur 1 - État dans la trame précédente
Bit 2
Capteur 2 - État actuel
Bit 3
Capteur 2 - État dans la trame précédente
Bit 4
Capteur 3 - État actuel
Bit 5
Capteur 3 - État dans la trame précédente
Bit 6
Capteur 4 - État actuel
Bit 7
Capteur 4 - État dans la trame précédente
EIO0000003798.01
Cloud Connected Sensor Data-as-a-Service - Solutions de
démarrage
Cloud Connected Sensor Data-as-a-Service Solutions de démarrage
Présentation
Les solutions de démarrage sont constituées d’un code source logiciel
documenté, fourni comme une application de console .NET Core. Elles incluent
des exemples d’implémentation de la messagerie Publier / S’abonner et des
processus d’extraction, de transformation et de chargement.
Les solutions de démarrage couvrent deux systèmes de destination :
EIO0000003798.01
•
Un fichier simple enregistré dans un dossier Windows spécifique
•
WonderWare Historian (à ne pas confondre avec WonderWare Online)
•
Modbus over TCP
25
Cloud Connected Sensor Data-as-a-Service - Solutions de
démarrage
Vue conceptuelle des solutions de démarrage
Présentation
Vue conceptuelle des solutions de démarrage pour l’intégration de Cloud Connected Sensor Data-as-a-Service :
Les solutions de démarrage permettent de mieux comprendre le fonctionnement
et l’implémentation de chaque processus. Les solutions de démarrage peuvent
être personnalisées afin de consommer, transformer et charger les données dans
Historian.
D’un point de vue architectural, toutes les solutions de démarrage sont conçues
de la même manière :
•
Une première partie, dédiée aux configurations, dans laquelle les connexions
au système source (la file d’attente du client DaaS) et au système de
destination sont effectuées.
•
Une partie centrale, dans laquelle les trois processus ETL (Extract,
Transform, Load [Extraire, Transformer, Charger]) sont implémentés.
•
Une dernière partie, dans laquelle s’effectue la déconnexion du système
source et du système de destination.
En fonction du système de destination, le processus de transformation peut être
facultatif. Le processus de transformation est toujours présent dans les solutions
de démarrage, mais il peut s’agir d’un opérateur nul.
Toutes les solutions de démarrage sont fournies comme une solution Microsoft
Visual Studio autonome, rédigée en langage C# pour une structure .NET Core ou
.NET. .NET Core (v2.0) et .NET Framework (v4.6) peuvent être indispensables à
l’exécution des solutions de démarrage. Ces packages peuvent être installés à
l’aide de Microsoft Visual Studio Installer.
Avant d’exécuter une solution de démarrage, vous devez obligatoirement apporter
quelques modifications au code source. Des informations relatives à ce qui doit
être modifié sont fournies en fonction de la solution de démarrage.
Fonction de consommation
Cette fonction permet de s’abonner à la file d’attente du client et aux messages de
consommation qui en proviennent. L’abonnement à la file d’attente nécessite que
le client dispose d’informations sur la file d’attente, notamment le point de
terminaison et les identifiants sécurisés pour la lecture. Ces informations sont
fournies par la chaîne de connexion.
La fonction de consommation de messages est le même code pour tous les
clients. La seule différence d’un client à l’autre est la chaîne de connexion, qui est
unique pour chaque client.
26
EIO0000003798.01
Cloud Connected Sensor Data-as-a-Service - Solutions de
démarrage
Fonction de transformation
Cette fonction sert à extraire l’élément payload du message reçu lors de la
consommation du message et à le convertir dans un format exploitable par la
fonction de chargement.
Par exemple, cette fonction convertit l’élément payload JSON en un format
d’ensemble de données intermédiaire adapté au chargement dans le système
Historian du client. L’ensemble de données est ensuite utilisé par la fonction de
chargement des données et chargé dans le système Historian du client.
Fonction de chargement
Cette fonction permet de récupérer l’ensemble de données reçu de la part de la
fonction de transformation, et de l’insérer dans le système de destination du client.
Le processus de chargement est celui qui est le plus spécialisé du système : il doit
implémenter la logique ésotérique d’insertion des données du système de
destination à l’aide des bibliothèques et des classes natives.
EIO0000003798.01
27
Cloud Connected Sensor Data-as-a-Service - Solutions de
démarrage
Solution de démarrage pour un fichier simple
Présentation
Cette solution de démarrage est accessible dans le fichier .
zip XIOTDaaSStarterSolution_Visual Studio.zip et fournit un exemple
de consommation, de transformation et de chargement des données dans un
fichier JSON d’un système Windows.
Packages NuGet requis, SDK et bibliothèques
Présentation
Cette solution de démarrage est fournie en tant qu’application .NET Core.
C’est pourquoi seuls deux packages doivent être installés. Il s’agit de Microsoft.
Azure.ServiceBus (v3.1.0) et de Microsoft.NET Core.App (v2.0).
Configuration préalable à l’exécution
Présentation
Avant d’exécuter cette solution de démarrage, vous devez modifier la valeur de
deux éléments locaux constants :
•
ServiceBusConnectionString doit être mis à jour avec la chaîne de
connexion du client (disponible sur le site Web Cloud Connected Sensor, à la
page Services).
Par exemple :
const string ServiceBusConnectionString = "Endpoint=
sb://dass-test.servicebus.windows.net/;
SharedAccessKeyName=RootManageSharedAccessKey;
SharedAccessKey=slVnJLa7QXMm8qEc9/pGm3xtrs1wKzf
+q3aImwq1iZI=;EntityPath=dass-queue1";
•
FilePath doit être mis à jour avec le chemin du fichier dans lequel seront
stockés les messages de données.
Par exemple :
const string FilePath = "C:\\Users\\Public\\DaaSTest.
json";
Comportement de la solution de démarrage
Présentation
XIOTDaaSStarterSolution_Visual Studio effectuera les actions
suivantes :
Étape
28
Action
1
Se connecter à une file d’attente Azure Service Bus (la file d’attente du client DaaS) à
l’aide de la chaîne de connexion fournie dans l’élément local constant
ServiceBusConnectionString.
2
Consommer les messages de la file d’attente du client DaaS.
3
Afficher les messages reçus dans la console.
4
Stocker les messages reçus tels quels (format JSON) dans un dossier spécifique défini
par l’élément local constant FilePath.
5
Effacer les messages de la file d’attente.
6
Fermer la connexion à la file d’attente du client DaaS.
EIO0000003798.01
Cloud Connected Sensor Data-as-a-Service - Solutions de
démarrage
Cette solution de démarrage est prévue pour être utilisée comme suit :
Étape
Action
1
Vérifiez que Data-as-a-Service est activé sur la plate-forme Web Cloud Connected
Sensor.
2
Configurez la solution de démarrage en mettant à jour les éléments locaux constants
(ServiceBusConnectionString et FilePath).
3
Déclenchez l’envoi de messages en activant l’un des deux contacts secs connectés à
l’émetteur XIOT11SERMRCL.
4
Exécutez la solution de démarrage.
5
Les messages envoyés par l’émetteur s’affichent dans une fenêtre de la console.
Les messages envoyés par l’émetteur sont également disponibles dans le fichier
référencé par FilePath.
EIO0000003798.01
29
Cloud Connected Sensor Data-as-a-Service - Solutions de
démarrage
Solution de démarrage pour WonderWare Historian
Présentation
Cette solution de démarrage est accessible dans le
fichier zip XIOTDaaSStarterSolution_WonderWare.zip et fournit un
exemple de consommation, de transformation et de chargement des données
dans un système WonderWare Historian.
Packages NuGet requis, SDK et bibliothèques
Présentation
Cette solution de démarrage est fournie sous la forme d’une application .NET
Framework, dans la mesure où elle utilise un package NuGet tiers pour
WonderWare Historian.
Pour cette solution de démarrage, deux packages doivent être installés
•
Microsoft.Azure.ServiceBus (v3.1.0) et .Net Framework (v4.7.1)
•
SDK WonderWare Historian 2017 (v2.0)
En outre, un serveur WonderWare Historian 2017 doit être disponible.
Configuration préalable à l’exécution
Présentation
Avant d’exécuter cette solution de démarrage, vous devez modifier les éléments
suivants :
•
ServiceBusConnectionString doit être mis à jour avec la chaîne de
connexion du client (disponible sur le site Web Cloud Connected Sensor, à la
page Services).
Par exemple :
const string ServiceBusConnectionString = "Endpoint=
sb://dass-test.servicebus.windows.net/;
SharedAccessKeyName=RootManageSharedAccessKey;
SharedAccessKey=slVnJLa7QXMm8qEc9/pGm3xtrs1wKzf
+q3aImwq1iZI=;EntityPath=dass-queue1";
•
30
Dans la méthode setUpWonderwareHistorianConnection(), les
identifiants de connexion Historian doivent être mis à jour :
◦
connectionArgs.ServerName doit correspondre à la valeur du nom
du serveur Historian.
◦
connectionArgs.UserName et connectionArgs.Password doivent
être mis à jour avec les identifiants utilisés pour se connecter à
WonderWare Historian.
EIO0000003798.01
Cloud Connected Sensor Data-as-a-Service - Solutions de
démarrage
Comportement de la solution de démarrage
Présentation
XIOTDaaSStarterSolution_File effectuera les actions suivantes :
Étape
Action
1
Se connecter à une file d’attente Azure Service Bus (la file d’attente du client DaaS) à
l’aide de la chaîne de connexion fournie dans l’élément local constant
ServiceBusConnectionString.
2
Se connecter au serveur WonderWare Historian à l’aide des informations de connexion
fournies (connectionArgs.ServerName, connectionArgs.UserName,
connectionArgs.Password).
3
Consommer les messages de la file d’attente du client DaaS.
4
Afficher les messages reçus dans la console.
5
Enregistrer les messages reçus tels quels (format JSON) dans le serveur Historian en
utilisant le format balisé.
6
Effacer les messages de la file d’attente.
7
Fermer la connexion à la file d’attente du client DaaS et au serveur Historian.
Cette solution de démarrage est prévue pour être utilisée comme suit :
Étape
Action
1
Vérifiez que Data-as-a-Service est activé sur la plate-forme Web Cloud Connected
Sensor.
2
Configurez la solution de démarrage en mettant à jour les informations de connexion
pour la file d’attente du client DaaS et WonderWare Historian.
3
Déclenchez l’envoi de messages en activant l’un des deux contacts secs connectés à
l’émetteur XIOT11SERMRCL.
4
Exécutez la solution de démarrage.
5
Les messages envoyés par l’émetteur s’affichent dans une fenêtre de la console.
Les messages envoyés par l’émetteur sont également disponibles dans
WonderWare Historian.
Personnalisation du code
La solution de démarrage pour WonderWare Historian est proposée comme un
exemple de base. Le code doit être adapté au cas d’utilisation / à l’environnement.
Par exemple, la gestion des balises WonderWare et les propriétés étendues des
balises peuvent nécessiter des changements.
NOTE: Cette solution de démarrage a été mise en œuvre afin d’analyser
uniquement les trames de mesure récupérées dans la file d’attente du client
DaaS. Pour analyser d’autres trames, vous devez modifier le code existant ou
suivre une autre méthodologie.
EIO0000003798.01
31
Cloud Connected Sensor Data-as-a-Service - Solutions de
démarrage
Solution de démarrage pour Modbus over TCP
Présentation
Cette solution de démarrage est accessible dans un fichier zip et fournit un
exemple de consommation, de transformation et de chargement des données
dans un Modbus TCP server exécuté en local.
Packages NuGet requis, SDK, et bibliothèques
Présentation
Cette solution de démarrage est fournie sous la forme d’une application .
NET Framework, car elle utilise un package NuGet tiers pour Modbus TCP
Server.
2 fichiers zip de la solution de démarrage sont disponibles :
•
Pour la solution App : XIOT_DaaS_SS_ModbusTCP_App_vx-y.zip
•
Pour la solution Full : XIOT_DaaS_SS_ModbusTCP_Full_vx-y.zip
Solution de démarrage App
Toutes les bibliothèques (dll) nécessaires à l’exécution de l’application sont
fournies.
Pour cette solution de démarrage, un package doit être installé :
•
.Net Framework (v4.7.1)
L’assistant d’installation hors ligne de .Net Framework (v4.7.1) est fourni dans le
fichier zip de l’application.
Solution de démarrage Full
Le package fourni inclut :
•
le code source de l’application,
•
le projet Visual Studio associé,
•
les bibliothèques nécessaires (dll),
•
le fichier exécutable du programme.
Le code source est personnalisable et son utilisation nécessite une compilation.
Pour cette solution de démarrage, trois packages doivent être installés :
•
Microsoft Azure Servicebus (v3.1.0)
•
.Net Framework (v4.7.1)
•
EasyModbusTCP (v5.5)
Configuration préalable à l’exécution
Présentation
Avant d’exécuter cette solution de démarrage :
32
•
Si vous utilisez la solution de démarrage App, le client doit lancer le
programme d’installation NDP471-KB4033342-x86-x64-AllOS-ENU.
exe.
•
Le client doit procéder à l’installation du contenu du package.
•
Le client doit mettre à jour les deux fichiers de configuration suivants :
EIO0000003798.01
Cloud Connected Sensor Data-as-a-Service - Solutions de
démarrage
◦
CONNECTION_STRING_CFG.txt sert à enregistrer la chaîne de
connexion de la file d’attente DaaS du client. Copiez-collez votre chaîne
de connexion dans ce fichier.
◦
Ensuite, dans le fichier DEVICE_ID_TABLE_CFG.txt, le client doit
fournir la liste de tous ses émetteurs XIOT11SERMRCL qui enverront des
trames. Ce tableau est également utilisé pour mapper les données des
émetteurs dans les registres du serveur Modbus TCP.
NOTE: le format attendu dans ce fichier est un format hexadécimal en
lettres majuscules (00AABBCC), avec un ID d’émetteur par ligne.
Ensuite, le client lance l'application en cliquant sur le fichier exécutable.
NOTE: Si vous utilisez la solution de démarrage App, le fichier exécutable
XIOTDaaSStarterSolution_ModbusTCP.exe se trouve dans le dossier
Application\Release.
Comportement de la solution de démarrage
Présentation
XIOTDaaSStarterSolution_ModBusTCP effectuera les actions suivantes :
Étape
Action
1
Se connecter à une file d’attente Azure Service Bus (la file d’attente du client DaaS) à
l’aide de la chaîne de connexion fournie dans le fichier de configuration.
2
Configurer un serveur Modbus TCP local.
3
Consommer les messages de la file d’attente du client DaaS.
4
Afficher les messages reçus dans la console.
5
Stocker les données des messages reçus dans plusieurs registres Modbus.
6
Effacer les messages de la file d’attente.
7
Fermer la connexion à la file d’attente du client DaaS et arrêter le serveur Modbus TCP
si le client appuie deux fois sur n’importe quelle touche.
Cette solution de démarrage est prévue pour être utilisée comme suit :
Étape
Action
1
Vérifiez que Data-as-a-Service est activé sur la plate-forme Web Cloud Connected
Sensor.
2
Configurez la solution de démarrage en mettant à jour les informations de connexion
pour la file d’attente du client DaaS et le tableau des ID des équipements (fichiers de
configuration).
3
Exécutez la solution de démarrage.
4
Déclenchez l’envoi de messages en activant l’un des deux contacts secs connectés à
l’émetteur XIOT11SERMRCL.
5
Les messages envoyés par l’émetteur s’affichent dans une console et les données sont
disponibles dans plusieurs registres du serveur Modbus TCP.
6
Le client peut alors initier une communication Modbus TCP avec son système de
surveillance / SCADA, afin de lire les données dans les registres correspondants.
Personnalisation du code
La solution de démarrage pour Modbus TCP est proposée comme un exemple de
base. Le code doit être adapté au cas d’utilisation / à l’environnement.
Par exemple, il peut être intéressant pour le client de personnaliser le mappage
du registre en fonction de ses besoins.
EIO0000003798.01
33
Cloud Connected Sensor Data-as-a-Service - Solutions de
démarrage
NOTE: Cette solution de démarrage a été mise en œuvre afin d’analyser
uniquement les trames de mesure et les trames d’état récupérées dans la file
d’attente du client DaaS. Pour analyser d’autres trames, vous devez modifier
le code existant ou suivre une autre méthodologie.
Configuration du serveur Modbus et mappage du registre
Le serveur Modbus initié par le programme commence à écouter l’adresse IPv4
active, sur le port 502. Par défaut, l’ID d’unité du serveur Modbus est 1. L’ID
d’unité et le port peuvent être modifiés dans le code source. Il est néanmoins
impossible de sélectionner l’adresse IPv4 pour le moment.
Les données envoyées par un émetteur sont enregistrées dans les registres du
serveur Modbus. À cette fin, l’application utilise uniquement des registres
d’exploitation. Le serveur Modbus présente une capacité de 65 535 registres
d’exploitation.
Un émetteur est représenté à l’aide de 50 registres. En théorie, cette application
peut donc gérer plus de 1 200 émetteurs.
Si besoin, le client peut ajuster le code source afin de sélectionner et de stocker
uniquement les données pertinentes.
Pour chaque nouvel émetteur, les registres dans lesquels les données de cet
émetteur se trouvent sont décalés de 50. Par exemple, si le client a déclaré les
deux ID d’équipement (ID d’émetteur) 00AABBCC et 00DDEEFF dans le fichier
DEVICE_ID_TABLE_CFG.txt, les données appartenant à l’équipement
00AABBCC se trouvent dans les registres 40001 à 40050, et les données
appartenant à l’équipement 00DDEEFF se trouvent dans les registres 40051 à
40100.
Les données sont enregistrées dans les 50 registres comme suit :
Décalage
de
l’adresse
Données
Format
Attribut JSON
correspondant
1
ID d’émetteur
Représentation ASCII des deux premiers caractères de l’ID
d’émetteur (00AABBCC).
Équipement
2
ID d’émetteur
Représentation ASCII des deux caractères suivants de l’ID
d’émetteur (00AABBCC).
Équipement
3
ID d’émetteur
Représentation ASCII des deux caractères suivants de l’ID
d’émetteur (00AABBCC).
Équipement
4
ID d’émetteur
Représentation ASCII des deux derniers caractères de l’ID
d’émetteur (00AABBCC).
Équipement
5
Horodatage
Représentation 16 bits de l’année dans l’horodatage.
Heure
6
Horodatage
Représentation 16 bits du mois dans l’horodatage.
Heure
7
Horodatage
Représentation 16 bits du jour dans l’horodatage.
Heure
8
Horodatage
Représentation 16 bits des heures dans l’horodatage.
Heure
9
Horodatage
Représentation 16 bits des minutes dans l’horodatage.
Heure
10
Horodatage
Représentation 16 bits des secondes dans l’horodatage.
Heure
11
SNR moyen
Représentation 16 bits du SNR moyen de l’émetteur. La valeur est
tronquée et représentée comme une valeur non signée.
avgSnr
Plus fournie par Sigfox (toujours "null").
12
SNR
Représentation 16 bits du SNR de l’émetteur. La valeur est tronquée
et représentée comme une valeur non signée.
snr
13
ID de la station
Représentation ASCII des 2 premiers caractères de la station de
base Sigfox qui a reçu le message Sigfox (AABB).
Station
14
ID de la station
Représentation ASCII des 2 derniers caractères de la station de
base Sigfox qui a reçu le message Sigfox (AABB).
Station
15
Latitude
Représentation 16 bits de la latitude de la station de base Sigfox. La
valeur est tronquée et représentée comme une valeur signée.
lat
34
EIO0000003798.01
Cloud Connected Sensor Data-as-a-Service - Solutions de
démarrage
Décalage
de
l’adresse
Données
Format
Attribut JSON
correspondant
Plus fournie par Sigfox (toujours "null").
16
Longitude
Représentation 16 bits de la longitude de la station de base Sigfox.
La valeur est tronquée et représentée comme une valeur signée.
lng
Plus fournie par Sigfox (toujours "null").
17
RSSI
Représentation 16 bits du RSSI de l’émetteur. La valeur est
tronquée et représentée comme une valeur signée.
rssi
18
Numéro de séquence
Voir la description des trames JSON.
seqNumber
19
Type d’enregistrement
Voir la description des trames JSON.
RecordType
20
Compteur de trames 1
Voir la description des trames JSON.
FrameCnt1
21
Erreur matérielle
Voir la description des trames JSON.
HWError
22
Erreur Batterie faible
Voir la description des trames JSON.
LowBatError
23
Compteur fermé
capteur 1
Voir la description des trames JSON.
S1ClosedCnt
24
Compteur fermé
capteur 2
Voir la description des trames JSON.
S2ClosedCnt
25
État précédent
capteur 2
Voir la description des trames JSON.
S2PreviousState
26
État actuel capteur 2
Voir la description des trames JSON.
S2State
27
État précédent
capteur 1
Voir la description des trames JSON.
S1PreviousState
28
État actuel capteur 1
Voir la description des trames JSON.
S1State
29
Compteur ouvert
capteur 1
Voir la description des trames JSON.
S1OpenCnt
30
Compteur ouvert
capteur 2
Voir la description des trames JSON.
S2OpenCnt
31
Octet de poids fort
(MSB) de la latitude de
l’émetteur
Représentation flottante 32 bits de la latitude de l’émetteur.
lat
32
33
34
Octet de poids faible
(LSB) de la latitude de
l’émetteur
Dans ce registre, seuls les 16 premiers bits (octet de poids fort) sont
présents.
Représentation flottante 32 bits de la latitude de l’émetteur.
lat
Dans ce registre, seuls les 16 derniers bits (octet de poids faible)
sont présents.
Octet de poids fort
(MSB) de la longitude
de l’émetteur
Représentation 16 bits de la longitude de la station de base Sigfox.
Octet de poids faible
(LSB) de la longitude de
l’émetteur
Représentation 16 bits de la longitude de la station de base Sigfox.
lng
Dans ce registre, seuls les 16 premiers bits (octet de poids fort) sont
présents.
lng
Dans ce registre, seuls les 16 derniers bits (octet de poids faible)
sont présents.
35
État précédent
capteur 3
Voir la description des trames JSON.
S3PreviousState
36
État actuel capteur 3
Voir la description des trames JSON.
S3State
37
État précédent
capteur 4
Voir la description des trames JSON.
S4PreviousState
38
État actuel capteur 4
Voir la description des trames JSON.
S4State
39
RÉSERVÉ
RÉSERVÉ POUR USAGE FUTUR
N/A
…
…
…
…
49
RÉSERVÉ
RÉSERVÉ POUR USAGE FUTUR
N/A
50
Drapeau sans état
Valeur définie sur 1 lorsqu’aucune trame (d’état ou de mesure) n’a
été reçue pendant les 25 dernières heures pour cet équipement.
N/A
EIO0000003798.01
35
Cloud Connected Sensor Data-as-a-Service - Solutions de
démarrage
Les informations figurant dans ce document et dans le code source sont
susceptibles d’être modifiées. Nous recommandons au client de considérer cet
exemple comme un « prototype de code » ou une « démonstration de faisabilité ».
Gestion des données :
36
•
Les clients Modbus/TCP peuvent accéder aux registres du serveur en mode
lecture seule.
•
Le serveur Modbus/TCP n’enregistre pas l’historique des données.
•
Les valeurs de tous les registres sont réinitialisées après chaque démarrage
du serveur Modbus/TCP.
EIO0000003798.01
Annexes
Contenu de cette partie
Principe de la messagerie Publier / S’abonner et des processus ETL .................38
Informations relatives à la technologie utilisée ..................................................43
EIO0000003798.01
37
Principe de la messagerie Publier / S’abonner et des
processus ETL
Principe de la messagerie Publier / S’abonner et des
processus ETL
Contenu de ce chapitre
Processus ETL..............................................................................................39
Messagerie Publier / S’abonner......................................................................41
38
EIO0000003798.01
Principe de la messagerie Publier / S’abonner et des
processus ETL
Processus ETL
Présentation des processus ETL
Présentation
Cette section présente les concepts et la terminologie de base que vous devez
connaître pour utiliser la solution Cloud Connected Sensor Data-as-a-Service.
La figure suivante détaille les concepts ETL de base, notamment les processus,
les systèmes et le flux de données (représenté par des flèches) :
•
Le processus d’extraction extrait les données du système source et les
transforme dans un format d’extraction structuré.
•
Le processus de transformation transforme les données au format
d’extraction en données au format de chargement.
•
Le processus de chargement charge les données au format de chargement
dans le système de destination.
Composants logiques ETL
Quelle que soit la manière dont ces processus sont mis en œuvre, l’extraction, la
transformation et le chargement sont des étapes classiques de tous les scénarios
d’intégration. Les processus ETL suivent toujours le même ordre : d’abord
l’extraction, puis la transformation, et enfin le chargement.
Processus d’extraction
Présentation
Le rôle du processus d’extraction (également appelé processus de
consommation) est d’extraire les données du système source et de les récupérer
au format d’extraction, exploitable par le processus de transformation.
Le système source peut être n’importe quel type de stockage de données,
notamment les suivants :
•
Base de données (base de données relationnelle, base de données NoSQL,
base de données Graph, etc.)
•
SCADA Historian
•
Système de fichiers (journaux, sorties analytiques, etc.)
•
Système de messagerie
Processus de transformation
Présentation
Il peut être nécessaire de transformer les données du format d’extraction au
format de chargement avant de les charger dans un système de destination. C’est
le but du processus de transformation.
Le processus de transformation est souvent mis en œuvre dans le cadre du
processus de chargement et n’est pas considéré comme un processus distinct. Il
est cependant indépendant, quelle que soit la manière dont il est codé ou déployé.
Une fois les données transformées dans un format de chargement exploitable par
le système de destination (expression compatible avec la base de données,
opérations sur le fichier, etc.), elles peuvent être chargées.
EIO0000003798.01
39
Principe de la messagerie Publier / S’abonner et des
processus ETL
Le format d’extraction est nécessaire à la mise à l’échelle du développement, afin
de prendre en charge divers systèmes de destination. Dans la mesure où le
format d’extraction est indépendant du système de destination, le processus
d’extraction n’est couplé à aucune caractéristique du système de destination.
Résultat : le processus d’extraction est extrêmement simple et l’architecture
d’intégration est extensible, ce qui signifie qu’il est possible de charger un format
d’extraction indépendant du système de destination dans un système de
destination. Le propriétaire du système de destination ou l’intégrateur système est
responsable de la création de processus de transformation et de chargement
spécialisés.
En plus de transformer les données du format d’extraction au format de
chargement, le processus de transformation doit permettre de valider les
données. En effet, des données non valides (mais bien formatées) peuvent
engendrer une corruption et une perte de données dans les systèmes de
destination.
Voici quelques éléments clés de la validation des données :
•
Type de données
•
Vérification des plages
•
Contraintes
•
Intégrité référentielle (bases de données relationnelles, par exemple)
•
Structure
•
Autorisation des valeurs nulles
•
Duplication
À la fin du processus de transformation, vous obtenez un ensemble de données
prêt à être chargé dans le système de destination.
Processus de chargement
Présentation
Après la transformation, les données sont lues par le processus de chargement
des données, puis chargées dans le système de destination. Le processus de
chargement des données exécute des opérations de base de données classiques
en s’appuyant sur les données prévalidées et préformatées, avec un traitement
réduit au minimum.
Le processus de chargement des données doit être simple et robuste. Si le
chargement des données ne se déroule pas correctement, vous pouvez supposer
que cela est dû à un motif externe (ce que les journaux devraient prouver), par
exemple un comportement incorrect du processus de transformation, une coupure
du réseau ou de la connexion, ou encore un problème lié au système de
destination (disque plein, par ex.).
L’enregistrement de l’activité dans un journal est souvent requis dans le cadre des
processus de transformation et de chargement, à des fins d’audit.
40
EIO0000003798.01
Principe de la messagerie Publier / S’abonner et des
processus ETL
Messagerie Publier / S’abonner
Présentation
La messagerie Publier / S’abonner (ou tout simplement, la messagerie) est une
stratégie d’intégration Push dans laquelle un éditeur de données pousse
préventivement les messages de données vers un client. La messagerie offre de
nombreux avantages en matière d’intégration. À l’inverse, elle présente peu
d’inconvénients. Elle est à la fois robuste, éprouvée et sécurisée dans le cadre
d’une communication d’entreprise à entreprise.
Concept de base
Présentation
Le concept de base de la messagerie est le suivant :
•
L’éditeur héberge un mécanisme de stockage des données et de
communication. C’est ce qu’on appelle une file d’attente.
•
Le client s’abonne à cette file d’attente.
•
L’éditeur des données pousse les données dans cette file d’attente sous la
forme d’un message.
•
Le client reçoit le message et traite les données.
Messagerie Publier / S’abonner :
Dans les scénarios publics, la file d’attente est une ressource réseau disponible
au public, par exemple un fil d’actualités ou un flux météo, accessible à tous les
clients qui veulent recevoir des messages de sa part. Dans un scénario
d’intégration Data-as-a-Service, la file d’attente n’est pas disponible au public, et
seuls les clients DaaS peuvent s’abonner à la file d’attente. De plus, les clients
DaaS reçoivent uniquement les messages qui leur appartiennent ; ils ne peuvent
pas recevoir les messages appartenant à d’autres clients.
Publier / S’abonner avec plusieurs clients :
Chaque client (ou client DaaS) s’abonne à une file d’attente logique qui lui est
dédiée. Il reçoit uniquement les messages envoyés à sa file d’attente. Les clients
n’ont aucune visibilité sur les files d’attente de messagerie des autres clients, ne
disposent pas d’identifiants pour y accéder et ne peuvent pas s’y abonner.
EIO0000003798.01
41
Principe de la messagerie Publier / S’abonner et des
processus ETL
Remarque relative à la cybersécurité
Présentation
Le client de messagerie utilise des connexions réseau sortantes vers la file
d’attente de messagerie et n’a pas besoin d’exposer un point de terminaison de
réseau public. Les risques de cybersécurité sont donc limités pour l’intégration
basée sur la messagerie, en particulier pour les clients qui consomment les
messages sur site.
Dans les architectures de messagerie, l’éditeur du message (les capteurs
Schneider Electric / Telemecanique dans le cas de Cloud Connected Sensor)
assume le risque pour la sécurité : hébergement, sécurisation, gestion et
exposition de la ressource réseau (la file d’attente).
Pour recevoir ses messages, le client de messagerie doit lancer une session dans
la file d’attente et en faire la demande. Plutôt que de connecter la file d’attente au
client de messagerie via un point de terminaison de réseau public, le client de
messagerie lance une connexion sortante depuis son réseau vers le point de
terminaison du réseau de la file d’attente. Malgré quelques différences, ce
fonctionnement est similaire à celui d’un client Web qui se connecte à un serveur
Web pour demander le contenu d’un site Web. Le risque lié à la sécurité du
réseau est donc limité pour le client.
Il est également possible pour le client de messagerie de se connecter à la file
d’attente pour une durée courte avant de se déconnecter et de se reconnecter.
Cela réduit encore davantage le risque de cyberattaque, dans la mesure où le
client de messagerie utilise une séquence non déterminante de ports en sortie
volatils.
42
EIO0000003798.01
Informations relatives à la technologie utilisée
Informations relatives à la technologie utilisée
Contenu de ce chapitre
Microsoft Azure Service Bus ..........................................................................43
Microsoft Visual Studio ..................................................................................43
Microsoft Azure Service Bus
Présentation
La file d’attente du client DaaS est une file d’attente Azure Service Bus. Pour plus
d’informations sur cette technologie, consultez le site Web de Microsoft.
Voici un lien vers la documentation relative à la messagerie Azure Service Bus.
https://docs.microsoft.com/en-us/azure/service-bus-messaging/
Vous trouverez sur cette page toutes les informations clés concernant Azure
Service Bus :
•
Qu’est-ce qu’Azure Service Bus ?
•
Fonctionnement
•
Didacticiels et exemple de code pour interagir avec Azure Service Bus
•
Autres informations clés
Microsoft Visual Studio
Présentation
Les solutions de démarrage sont fournies sous la forme d’applications pour la
console .NET Core Microsoft Visual Studio. Pour plus d’informations sur cet
environnement de développement intégré, consultez le site Web de Microsoft.
Voici deux liens vers la documentation relative à Visual Studio :
EIO0000003798.01
•
Informations générales sur Visual Studio : https://visualstudio.microsoft.com/
•
Documentation Visual Studio : https://docs.microsoft.com/en-us/visualstudio
43
Glossaire
F
Format d’extraction:
Format dans lequel le processus d’extraction écrit les données pour leur
exploitation par le processus de transformation.
Format de chargement:
Format dans lequel le processus de transformation écrit les données pour leur
exploitation par le processus de chargement.
J
JSON:
JavaScript Object Notation est un format de données léger, lisible et structuré,
utilisé pour le transfert de messages entre les équipements et le cloud, et entre le
cloud et les équipements. De nombreuses applications de traitement du flux sont
conçues pour consommer les structures JSON en natif.
P
Partenaires d’intégration:
Partenaires impliqués dans une solution d’intégration. Ils peuvent être appelés
partenaires source ou partenaires de destination. Dans le cas présent, Cloud
Connected Sensor est le partenaire source et le client DaaS est le partenaire de
destination.
Processus d’extraction:
Processus qui extrait les données du système source et les écrit au format
d’extraction.
Processus de chargement:
Processus qui charge les données au format de chargement dans le système de
destination.
Processus de transformation:
Processus qui transforme les données au format d’extraction en données au
format de chargement.
Processus ETL:
Les trois processus mis en œuvre par le consommateur de messages :
•
Processus d’extraction
•
Processus de transformation
•
Processus de chargement
S
Système de destination:
Système détenu par le partenaire de destination et dans lequel les données au
format de chargement sont chargées par le processus de chargement.
Système source:
Système détenu par le partenaire source et qui contient les données d’origine
extraites par le processus d’extraction.
EIO0000003798.01
45
Schneider Electric
35 rue Joseph Monier
92500 Rueil Malmaison
France
+ 33 (0) 1 41 29 70 00
www.tesensors.com
Les normes, spécifications et conceptions pouvant changer de temps à
autre, veuillez demander la confirmation des informations figurant dans
cette publication.
© 2020 – Schneider Electric. Tous droits réservés
EIO0000003798.01

Manuels associés