Lorsque vous connectez un appareil à IoT Platform à l'aide d'un client MQTT personnalisé, vous devez fournir les paramètres d'authentification par signature MQTT : username, passwd et mqttClientId.
Présentation
Choisissez l'une des méthodes suivantes pour obtenir les paramètres de signature MQTT.
|
Méthode |
Description |
|
L'algorithme de signature pris en charge est hmacsha256. L'ID client de l'appareil est défini par défaut sur |
|
|
L'algorithme de signature pris en charge est hmacsha256. L'ID client de l'appareil est défini par défaut sur |
Obtenir depuis la console IoT Platform
Connectez-vous à la console IoT Platform.
Sur la page Overview, localisez l'instance à gérer et cliquez sur son ID ou son nom.
Dans le volet de navigation de gauche, sélectionnez pour accéder à la page Device.
Localisez votre appareil et cliquez sur View pour accéder à la page Device Details.
-
Sous l'onglet Device Information, cliquez sur View à côté de MQTT Connection Parameters pour afficher les paramètres de signature MQTT.
ImportantLe paramètre clientId correspond ici à
mqttClientId, et non à l'ID client de l'appareil. Consultez la rubrique Communication MQTT-TLS.La boîte de dialogue MQTT Connection Parameters affiche les valeurs clientId, username, passwd, mqttHostUrl et port. Cliquez sur Copy All pour les copier.
Calculer à l'aide d'un script Node.js
-
Téléchargez et décompressez le package signTool.zip, puis modifiez et enregistrez les paramètres suivants dans le fichier mqttSignTool.js.
Paramètre
Exemple
Description
productKey
a1Ee***
Certificat d'appareil enregistré lors de l'ajout de l'appareil. Consultez les informations sur le certificat d'appareil.
Consultez ces informations sur la page Device Details de la console.
deviceName
8Co5***
deviceSecret
bcabcf***
timestamp
2524608000000
Heure actuelle en millisecondes.
briefId
12345
Facultatif. ID client de l'appareil.
Valeur par défaut :
${ProductKey} + '.' + ${DeviceName}. Exemple :var briefId = '12345'.ImportantValeur personnalisée, jusqu'à 64 caractères. Utilisez l'adresse MAC ou le numéro de série (SN) de l'appareil pour une identification facile.
-
Téléchargez et installez Node.js. Cet exemple utilise Ubuntu 16.04 (64 bits) avec
node-v16.5.0-linux-x64.tar.gz.Connectez-vous à votre machine virtuelle Linux.
-
Téléchargez et décompressez le package.
wget https://nodejs.org/dist/v16.5.0/node-v16.5.0-linux-x64.tar.gz tar xf node-v16.5.0-linux-x64.tar.gz cd node-v16.5.0-linux-x64 ./bin/node -vUne installation réussie renvoie le numéro de version.
v16.5.0 -
Ajoutez les commandes node et npm du répertoire node-v16.5.0-linux-x64/bin au PATH global.
ln -s /root/node-v16.5.0-linux-x64/bin/npm /usr/local/bin/ ln -s /root/node-v16.5.0-linux-x64/bin/node /usr/local/bin/
-
Quittez le répertoire node-v16.5.0-linux-x64 et créez un dossier de projet signTool.
cd.. mkdir signTool cd signTool/ Téléversez le fichier mqttSignTool.js modifié à l'étape 1 dans le répertoire signTool.
-
Dans le répertoire signTool, téléchargez la bibliothèque de signature.
npm install crypto-js lsContenu attendu du répertoire :
mqttSignTool.js node_modules package.json package-lock.json -
Exécutez le script mqttSignTool.js.
node mqttSignTool.jsLa sortie contient les paramètres d'authentification par signature MQTT.
ImportantLe paramètre clientId correspond ici à
mqttClientId, et non à l'ID client de l'appareil. Consultez la rubrique Communication MQTT-TLS.username: xxx clientId: xxx|securemode=2,signmethod=hmacsha256,timestamp=2524608000000| passwd: xxx