Saat menghubungkan perangkat ke IoT Platform menggunakan klien MQTT kustom, Anda harus menyediakan parameter otentikasi signature MQTT: username, passwd, dan mqttClientId. Topik ini menjelaskan cara memperoleh parameter tersebut.
Ikhtisar
Anda dapat memperoleh parameter signature MQTT menggunakan salah satu metode berikut sesuai kebutuhan bisnis Anda.
|
Metode |
Deskripsi |
|
Algoritma signature yang didukung adalah hmacsha256. Client ID perangkat secara default adalah |
|
|
Algoritma signature yang didukung adalah hmacsha256. Client ID perangkat secara default adalah |
Peroleh dari Konsol IoT Platform
Masuk ke Konsol IoT Platform.
Pada halaman Overview, temukan instans yang ingin Anda kelola, lalu klik ID instans atau nama instans tersebut.
-
Di panel navigasi sebelah kiri, pilih untuk membuka halaman Device.
-
Temukan perangkat Anda, lalu klik View untuk membuka halaman Device Details.
-
Pada tab Device Information, klik View di samping MQTT Connection Parameters untuk melihat parameter signature MQTT.
PentingParameter clientId yang ditampilkan di sini sesuai dengan
mqttClientId. Jangan tertukar dengan client ID perangkat. Untuk informasi lebih lanjut tentang parameter koneksi MQTT, lihat Komunikasi MQTT-TLS.Kotak dialog MQTT Connection Parameters muncul, menampilkan nilai-nilai untuk clientId, username, passwd, mqttHostUrl, dan port. Klik Copy All untuk menyalin semua parameter.
Hitung menggunakan skrip Node.js
-
Unduh dan ekstrak paket signTool.zip, lalu ubah dan simpan parameter berikut dalam file mqttSignTool.js.
Parameter
Contoh
Deskripsi
productKey
a1Ee***
Sertifikat perangkat yang Anda simpan setelah menambahkan perangkat. Untuk informasi lebih lanjut, lihat Informasi sertifikat perangkat.
Anda dapat melihat informasi tersebut pada halaman Device Details perangkat di konsol.
deviceName
8Co5***
deviceSecret
bcabcf***
timestamp
2524608000000
Waktu saat ini dalam milidetik.
briefId
12345
Client ID perangkat. Parameter ini opsional.
Secara default, paket tool mengatur parameter ini menjadi
${ProductKey} + '.' + ${DeviceName}, tetapi Anda dapat mengubah nilainya sesuai kebutuhan. Contohnya,var briefId = '12345'.PentingAnda dapat menentukan nilai kustom hingga 64 karakter. Kami menyarankan menggunakan alamat MAC atau nomor seri (SN) perangkat agar mudah diidentifikasi.
-
Pada sistem operasi Windows atau Linux Anda, unduh dan instal Node.js. Contoh berikut menggunakan sistem Linux Ubuntu 16.04 64-bit dan paket pre-compiled
node-v16.5.0-linux-x64.tar.gz.-
Masuk ke Mesin virtual (VM) Linux.
-
Jalankan perintah berikut untuk mengunduh dan mengekstrak paket.
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 -vJika nomor versi berikut dikembalikan, Node.js berhasil diinstal.
v16.5.0 -
Direktori node-v16.5.0-linux-x64/bin berisi perintah node dan npm. Jalankan perintah berikut untuk mengonfigurasinya sebagai variabel lingkungan 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/
-
-
Jalankan perintah berikut untuk keluar dari direktori node-v16.5.0-linux-x64, lalu buat folder proyek signTool untuk file JavaScript dan library signature.
cd.. mkdir signTool cd signTool/ -
Unggah file mqttSignTool.js yang telah dimodifikasi dari langkah 1 ke direktori signTool pada VM Linux Anda.
-
Di direktori signTool, jalankan perintah berikut untuk mengunduh library signature dan menampilkan isi direktori.
npm install crypto-js lsFile library yang diunduh adalah sebagai berikut.
mqttSignTool.js node_modules package.json package-lock.json -
Jalankan perintah berikut untuk mengeksekusi skrip mqttSignTool.js.
node mqttSignTool.jsPerintah tersebut mengembalikan parameter otentikasi signature yang diperlukan untuk terhubung ke IoT Platform melalui MQTT.
PentingParameter clientId yang ditampilkan di sini sesuai dengan
mqttClientId. Jangan tertukar dengan client ID perangkat. Untuk informasi lebih lanjut tentang parameter koneksi MQTT, lihat Komunikasi MQTT-TLS.username: xxx clientId: xxx|securemode=2,signmethod=hmacsha256,timestamp=2524608000000| passwd: xxx