Aller au contenu principal

Configuration

Étape 1 : Importer le template​

Deux flows sont fournis, un pour chaque méthode d'envoi (HTTPS ou MQTTS) — téléchargez celui qui correspond à votre choix (voir l'étape 4) :

TransportFlow à importerParticularité
HTTPS (recommandé)ddruid-node-red-https.jsonUn seul nœud http request, aucun broker
MQTTSddruid-node-red-mqtts.jsonBroker MQTT sécurisé, QoS 2

Les deux partagent le même nœud function Build dDruid stream : seul le nœud d'envoi change.

  1. Ouvrez l'éditeur Node-RED (généralement accessible sur http://<hôte>:1880)
  2. Menu ☰ → Import
  3. Collez le contenu du fichier .json, puis cliquez sur Import
Flow dDruid importé dans l'éditeur Node-RED : Source → Build dDruid stream → json → dDruid
Exemple d'un flow (ici la variante HTTPS)
Cliquer pour ouvrir
info

Ne cliquez pas encore sur Deploy : renseignez d'abord vos identifiants dDruid.


Étape 2 : Récupérer les identifiants dDruid​

Le template a besoin de deux informations issues de IoT magic Builder, quel que soit le transport. Elles sont disponibles au même endroit, dans la section Connect de l'équipement :

InformationOù la trouver
Clé APIApplication Administration → Équipements → l'équipement concerné → section Connect
Device developer IDApplication Administration → Équipements → l'équipement concerné → section Connect
Clé API et Device developer ID dans la section Connect de l'équipement sur IoT magic Builder
Clé API et Device developer ID dans la section Connect de l'équipement sur IoT magic Builder
Cliquer pour ouvrir

Étape 3 : Construire le stream​

Toute la logique tient dans le nœud function Build dDruid stream (identique dans les deux flows). Ouvrez-le, renseignez votre clé API et votre Device developer ID, puis adaptez le mapping de vos valeurs :

// === Configuration ===
const API_KEY = 'VOTRE_CLE_API_DDRUID'; // clé API (section Connect de l'équipement)
const DEVICE = 'DEVICE_DEVELOPER_ID'; // Device developer ID (UUID) de l'équipement

// Horodatage Unix (secondes)
const at = Math.floor(Date.now() / 1000);

// === Mapping : vos valeurs -> variables dDruid ===
// ref = itemType|itemIndex|serviceId (ex. Global|0|temperature)
const src = msg.payload || {};
const dataset = [];
if (src.temperature != null)
dataset.push({ at, ref: 'Global|0|temperature', value: src.temperature });
if (src.humidity != null) dataset.push({ at, ref: 'Global|0|humidity', value: src.humidity });

if (dataset.length === 0) return null; // rien à envoyer

msg.payload = {
protocol: 'v2',
device: DEVICE,
at,
data: { ver: 'S1', dataset },
};

// … puis, selon le flow importé :
// HTTPS : authentification par header apikey
msg.headers = { apikey: API_KEY, 'content-type': 'application/json' };
// MQTTS : la clé API sert de topic de publication
msg.topic = API_KEY + '/streams';
return msg;
remarque

La fin du nœud diffère selon le flow importé : le flow HTTPS positionne msg.headers, le flow MQTTS positionne msg.topic. Le reste est identique.

ÉlémentRôle
API_KEYClé API dDruid (header apikey en HTTPS, topic en MQTTS)
DEVICEDevice developer ID de l'équipement dDruid destinataire
dataset[].refRéférence de la variable, au format itemType|itemIndex|serviceId
dataset[].valueLa valeur à transmettre, extraite de votre msg.payload
astuce

Adaptez uniquement le bloc Mapping pour l'aligner sur la structure de votre msg.payload. Une variable est créée automatiquement côté dDruid dès qu'une référence inconnue est reçue. Voir la page Format des données.


Étape 4 : Publier vers dDruid​

Choisissez votre transport — le stream envoyé est identique dans les deux cas.

Dans le flow dDruid — HTTPS, le nœud http request dDruid (HTTPS) envoie le stream. Vérifiez sa configuration :

ChampValeur
MethodPOST
URLhttps://streams-api.magicbuilder.io/streams
Returna parsed JSON object

L'authentification passe par le header apikey, déjà positionné par le nœud Build dDruid stream (msg.headers). Aucun broker ni certificat à configurer.

info

En cas de succès, dDruid répond {"response":"OK"} (visible dans le nœud debug).


Étape 5 : Brancher votre source​

Le template fournit un nœud inject en guise de source d'exemple (il émet { "temperature": 22.6, "humidity": 45.5 }). Remplacez-le par votre véritable source, par exemple :

  • un nœud mqtt in abonné à votre broker ;
  • un nœud http in ou un appel http request ;
  • un nœud Modbus / OPC-UA ;
  • tout autre nœud produisant un msg.payload.

Reliez la sortie de votre source à l'entrée du nœud Build dDruid stream.


Étape 6 : Déployer​

Cliquez sur Deploy (Déployer) en haut à droite de l'éditeur.

Bouton Déployer de l'éditeur Node-RED
Bouton Déployer de l'éditeur Node-RED
Cliquer pour ouvrir
  • en HTTPS : chaque message reçu déclenche un POST et le nœud debug affiche la réponse {"response":"OK"} ;
  • en MQTTS : le nœud mqtt out se connecte au broker (indicateur vert connected) et publie à chaque message.

Vous ne trouvez pas la réponse à votre question ?

Contactez nous via notre outil de support