Aller au contenu

DevIOIoTHubServer

Paramètres et configuration

Activation de l'interface applicative

Comment déclarer l'interface applicative ?
  1. Ouvrir votre projet avec Dev I/O Studio
  2. Réalisez l'import base binaire si nécessaire
  3. Basculer le projet en lecture/écriture
  4. Cliquez-droit sur Serveur, puis Propriétés...

Assurez-vous que le service Dev I/O soit arrêté.

DEVIOIoTHubServer_activate

Renseignez -IOTHUB dans les arguments additionnels

Le module intervient en remplacement ou en complément des modules OPC DA ou UA. Les options concernant la transmission des données sont communes.

Paramètres avancés
Paramètre Description
Désactivation historiques Désactive la remontée des valeurs historisées
Ecritures identiques Force l'écriture OPC de valeurs identiques
Heure locale Utilise l'heure locale pour l'horodatage des valeurs

DevIOIoTHubServer.xml

Mode "Passerelle"

Dans ce mode, Dev I/O agit comme un seul équipement point de vue IoTHub. Les données des équipements au sens de Dev I/O sont ainsi envoyés vers un seul et unique deviceId IoTHub (typiquement: deviceId="DevioIoTHubServer").

Mode "Equipements"

Dans ce mode, Dev I/O gère autant d'équipement IoTHub que d'équipements au sens Dev I/O. Ce mode requiert les champs protocol="amqp" ou protocol="amqp_ws" et deviceId="$EquipmentName"

Authentification

Par clé symétrique
Attribut Description
sharedAccessKeyName Le nom de la clé d'accès partagée utilisée pour connecter l'appareil au service IoT Hub
sharedAccessKey La clé d'accès partagée
Configuration type pour l'authentification par clé symétrique
<DevIOIoTHubServer server="DevioIoTHubServer" hostName="[iotHubName].azure-devices.net" protocol="amqp" deviceId="$EquipmentName"sharedAccessKeyName=[KeyName]" sharedAccessKey ="[key]" logFlush="true" autoReset="true" registerDevices="true" >
Par certificat
Attribut Description Valeur par défaut
storeLocation L’emplacement du certificat. Valeur possible : CurrentUser, LocalMachine CurrentUser
Configuration type pour l'authentification par certificat
<DevIOIoTHubServer server="DevioIoTHubServer" hostName="[iotHubName].azure-devices.net" protocol="amqp" deviceId="$EquipmentName" sharedAccessKeyName="[KeyName]" sharedAccessKey ="[key]" logFlush="true" autoReset="true" registerDevices="true" >

Remarque

  • Le nom du sujet des certificats utilisés doit correspondre au nom des équipements dans DevIO (CN=$EquipmentName).
  • Le(s) certificat(s) doit(vent) être installé(s) dans le dossier "Personnel" (My) (cf:storeLocation)

Provisionning

Dev I/O peut provisonner automatiquement les devices dans IoTHub registerDevices="true".

DPS (Device Provisionning Service)

Ce mode d’enregistrement nécessite la présence d’un groupe d’enregistrement dans IoTHub (idScope).

Propriétés génériques
Attribut Description Valeur par défaut
protocol Les valeurs possibles pour l’attribut protocol sont : Amqp, Amqp_ws, Amqp_tcp, Mqtt, Mqtt_ws, Mqtt_tcp, Http1 Http1
deviceId Le nom de l’équipement. Si plusieurs équipements sont attachés au module la valeur du deviceId est $EquipmentName $EquipmentName
registerDevices Permet l’activation ou non de l’enregistrement des équipements. false
server Le nom du module IoTHubServer. DevIOIoTHubServer
logFlush Permet d’écrire dans le fichier de log les traces au fur et à mesure des échanges effectués. false
reconnectPeriod Représente la période de reconnexion des devices. 60s
autoReset True : Réinitilise la reconnexion des devices chaque fois que l'intervalle reconnectPeriod s'écoule.
maxValuesPerMessage Limite la taille des messages générés en nombre de valeurs incluses. La taille en octet dépend du modèle utilisé 2000
bTrueFalse Transmettre les valeurs booléennes au format nuémrique (0 ou 1) false
subscribeToReceive True : Callback Permet d’activer l’abonnement aux messages cloud-à-appareil (N'est pas pris en charge via http). False : Polling recherche des nouveaux messages cloud-à-appareil en continu. false
noRetry Activer la stratégie de nouvelle tentative par défaut « Exponential Backoff with Jitter ». Il s’agit d’une stratégie standard qui comporte true
retryTimeout Le mécanisme de nouvelle tentative par défaut s'arrête après retryTimeout. 10s