> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.scorp-io.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Configuration MQTTS

## Introduction

Un broker public est disponible pour les utilisateurs équipés d'équipements ou de solutions capables de publier des informations en :

* MQTT classique
* MQTT Sparkplug B

## Adresse et port

**URL du broker**

```
broker-public-prod.scorp-io.com
```

**Port**

```
8883
```

## Identification

Pour la connexion au broker il vous sera nécessaire d'intégrer :

* **Un client ID**
* **Un login**
* **Un mot de passe**

Ces éléments vous seront communiqué par SCorp-io lors de la mise en place du projet.

## Certificat

Le broker public de SCorp-io utilise la variante sécurisée du protocole MQTT, le MQTTS qui implique l’utilisation d’un certificat.

Le client MQTT doit donc se connecter en **TLS1.2.**

circle-info

Le certificat est porté par le broker SCorp-io

## MQTTS : Topic et Messages

circle-info

Ce paragraphe ne concerne pas les communications en MQTT Sparkplug B

Ce paragraphe décrit les topics et les trames de message MQTT "classiques" (hors norme SparkplugB). La norme SparkplugB, impose en effet des topics et des trames prédéfinies.

### Topic et message de configuration

Afin de faciliter le scan des données par la plateforme SCorp-io, nous encourageons nos partenaires à produire un message de configuration permettant de lister les données de l’infrastructure MQTT. Cela permet de fixer une unique source de vérité (l'infrastructure MQTT)

Pour cela, l'utilisateur doit configurer l'envoi d'un message sur un topic spécifique (DBIRTH).

#### Topic

Le message doit être envoyé sur un topic respectant le format suivant :

#### Message

circle-exclamation

Le message doit impérativement être de type **retained (uniquement pour le topic DBIRTH)**

La trame d’un message se présente sous la forme d’un tableau de métriques :

Chaque métrique est décrite par les champs suivants :

Nom du champs

Type

Valeurs possible

Obligatoire

name

String

-

Oui

dataType

String

Integer | Short | Long | Double | Float | Boolean | String

Oui

Une fois cette étape terminée, les metrics envoyée sur les topics DBIRTH seront visible après un scan dans le projet SCorp-io associé.

### Configuration

QoS : 1

Retain : false

### Topic

Les messages doivent être envoyés sur un topic respectant le format suivant :

circle-info

La différence avec les messages ci-dessus est DDATA qui remplace DBIRTH

* **PROJECT_ID** : l’identifiant unique du projet fourni par SCorp-io à l’inscription
* **EDGE_NODE_ID** : l'élément qui identifie de manière unique le nœud MQTT dans l’infrastructure
* **DEVICE_ID** : l'élément qui identifie un périphérique connecté au nœud MQTT

circle-exclamation

Dans le cas ou l'infrastructure est composée de plusieurs publishers MQTT, DEVICE_ID doit être un identifiant unique déterminé par l'utilisateur

Dans cet exemple, `automate-s7` représente l'infrastructure du site et `automate-z3-1` représente l'identifiant unique de l'équipement qui va publier sur le topic MQTT

### Message

La trame d’un message se présente sous la forme d’un tableau de métriques :

Chaque métrique est décrite par les champs suivants :

Nom du champ

Type

Valeurs possibles

Obligatoire

name

String

-

Oui

timestamp

Long

Entier représentant des ms

Oui

dataType

String

Integer | Short | Long | Double | Float | Boolean | String

Oui

value

Integer | Short | Long | Double | Float | Boolean | String

Oui