自己開発した MQTT ツールを使用してデバイスを IoT Platform に接続する場合、認証のために MQTT パラメーター username、passwd、および mqttClientId を指定する必要があります。この記事では、これらのパラメーターの値を取得する方法について説明します。
概要
次のいずれかの方法を使用して、MQTT パラメーターの値を取得できます。
方法 | 説明 |
サポートされている署名アルゴリズムは hmacsha256 です。 デフォルトでは、デバイスの ClientId パラメーターは | |
サポートされている署名アルゴリズムは hmacsha256 です。 デフォルトでは、デバイスの ClientId パラメーターは |
IoT Platform コンソールを使用する
IoT Platform コンソール にログインします。
[概要] ページで、[すべての環境] をクリックします。 [すべての環境] タブで、管理するインスタンスを見つけ、インスタンス ID またはインスタンス名をクリックします。
左側のナビゲーションウィンドウで、 を選択します。 [デバイス] ページが表示されます。
デバイスリストでデバイスを見つけ、[操作] 列の [表示] をクリックします。 [デバイスの詳細] ページが表示されます。
[デバイス情報] タブで、[ここ][MQTT 接続パラメーター] の横にある をクリックして、MQTT パラメーターを取得します。
重要clientId パラメーターは mqttClientId パラメーターを示し、デバイスの ClientId パラメーターとは異なります。 MQTT 接続パラメーターの詳細については、「TCP 経由で MQTT 接続を確立する」をご参照ください。
Node.js スクリプトを使用する
signTool.zip をダウンロードして解凍します。 mqttSignTool.js ファイル内の次のパラメーターを変更してから、ファイルを保存します。
パラメーター
例
説明
productKey
a1Ee***
デバイスを追加した後に保存されるデバイス証明書です。詳細については、「デバイスを作成する」をご参照ください。
コンソールの [デバイスの詳細] ページでデバイス証明書を確認できます。
deviceName
8Co5***
deviceSecret
bcabcf***
timestamp
2524608000000
タイムスタンプ。単位:ミリ秒。
briefId
12345
オプション。デバイスの Client ID。
パッケージに提供されているデフォルト値は、
${ProductKey} + '.' + ${DeviceName}
形式の文字列です。必要に応じて、var briefId = '12345'
など、このパラメーターを変更できます。重要最大 64 文字の Client ID を指定できます。デバイスを効率的に識別するために、デバイスの MAC アドレスまたはシリアル番号 (SN) を Client ID として使用することをお勧めします。
Windows または Linux オペレーティングシステムに Node.js をダウンロードしてインストールします。この例では、Ubuntu 16.04 64 ビット Linux オペレーティングシステムを使用します。そのため、コンパイル済み
node-v16.5.0-linux-x64.tar.gz
パッケージをダウンロードします。Linux 仮想マシン (VM) にログインします。
次のコマンドを実行して、パッケージをダウンロードして解凍します。
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 -v
パッケージが解凍されると、次のバージョン番号が表示されます。
v16.5.0
node-v16.5.0-linux-x64/bin ディレクトリには、node ファイルと npm ファイルが含まれています。次のコマンドを実行して、グローバル環境変数を構成します。
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/
次のコマンドを実行して、node-v16.5.0-linux-x64 ディレクトリを終了し、JavaScript ファイルと署名ファイルを格納する signTool プロジェクトファイルを作成します。
cd .. mkdir signTool cd signTool/
mqttSignTool.js ファイルを、ステップ 1 で変更したものを、Linux VM 開発環境の signTool ディレクトリにアップロードします。
signTool ファイルに移動し、次のコマンドを実行して署名ファイルをダウンロードして表示します。
npm install crypto-js ls
次の図は、ダウンロードされた署名ファイルを示しています。
次のコマンドを実行して、mqttSignTool.js 署名ファイルを実行します。
node mqttSignTool.js
次の図は、認証に必要な取得された MQTT パラメーターを示しています。
重要clientId パラメーターは mqttClientId パラメーターを示し、デバイスの ClientId パラメーターとは異なります。 MQTT 接続パラメーターの詳細については、「TCP 経由で MQTT 接続を確立する」をご参照ください。