Bir cihazı özel bir MQTT istemcisi kullanarak IoT Platform'a bağladığınızda şu MQTT imza kimlik doğrulama parametrelerini belirtmeniz gerekir: username, passwd ve mqttClientId.
Genel bakış
MQTT imza parametrelerini almak için aşağıdaki yöntemlerden birini seçin.
|
|
|
|
Desteklenen imza algoritması hmacsha256'dır. Cihazın istemci ID değeri varsayılan olarak |
|
|
Desteklenen imza algoritması hmacsha256'dır. Cihazın istemci ID değeri varsayılan olarak |
IoT Platform konsolundan alma
IoT Platform konsolu sayfasına gidin.
Overview sayfasında yönetmek istediğiniz örneği bulun ve örnek ID değerine ya da örnek adına tıklayın.
Sol gezinme bölmesinde yolunu izleyerek Device sayfasına ulaşın.
Cihazınızı bulup View düğmesine tıklayarak Device Details sayfasını açın.
-
Device Information sekmesinde, MQTT Connection Parameters alanının yanındaki View seçeneğine tıklayarak MQTT imza parametrelerini görüntüleyin.
ÖnemliBuradaki clientId parametresi mqttClientId değerine karşılık gelir; cihazın istemci ID değerine değil. MQTT-TLS iletişimi konusuna bakabilirsiniz.
MQTT Connection Parameters iletişim kutusunda clientId, username, passwd, mqttHostUrl ve port değerleri yer alır. Bu değerleri kopyalamak için Copy All seçeneğine tıklayın.
Node.js betiğiyle hesaplama
-
signTool.zip paketini indirip sıkıştırmasını açın. Ardından mqttSignTool.js dosyasındaki aşağıdaki parametreleri değiştirin ve kaydedin.
Parametre
Örnek
Açıklama
productKey
a1Ee***
Cihazı eklediğinizde kaydedilen cihaz sertifikası. Cihaz sertifika bilgileri.
Bu bilgileri konsoldaki Device Details sayfasında görüntüleyebilirsiniz.
deviceName
8Co5***
deviceSecret
bcabcf***
timestamp
2524608000000
Milisaniye cinsinden geçerli saat.
briefId
12345
İsteğe bağlıdır. Cihazın istemci ID değeridir.
Varsayılan değer
${ProductKey} + '.' + ${DeviceName}şeklindedir. Örnek:var briefId = '12345'.ÖnemliEn fazla 64 karakter uzunluğunda özel bir değerdir. Kolay tanımlama için cihazın MAC adresini veya SN değerini kullanın.
-
Node.js'yi indirin ve yükleyin. Bu örnekte Ubuntu 16.04 (64 bit) işletim sistemi ve
node-v16.5.0-linux-x64.tar.gzpaketi kullanılmaktadır.Linux VM'nize giriş yapın.
-
Paketi indirin ve sıkıştırmasını açın.
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 -vKurulum başarılı olduğunda sürüm numarası döndürülür.
v16.5.0 -
node-v16.5.0-linux-x64/bin dizinindeki node ve npm komutlarını genel PATH değişkenine ekleyin.
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 dizininden çıkın ve signTool proje klasörünü oluşturun.
cd.. mkdir signTool cd signTool/ 1 numaralı adımda değiştirdiğiniz mqttSignTool.js dosyasını signTool dizinine yükleyin.
-
signTool dizininde imza kitaplığını indirin.
npm install crypto-js lsBeklenen dizin içeriği:
mqttSignTool.js node_modules package.json package-lock.json -
mqttSignTool.js betiğini çalıştırın.
node mqttSignTool.jsÇıktıda MQTT imza kimlik doğrulama parametreleri yer alır.
ÖnemliBuradaki clientId parametresi mqttClientId değerine karşılık gelir; cihazın istemci ID değerine değil. MQTT-TLS iletişimi konusuna bakabilirsiniz.
username: xxx clientId: xxx|securemode=2,signmethod=hmacsha256,timestamp=2524608000000| passwd: xxx