日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

MQTT-WebSocket認證接入示例

本文提供Node.js語言的示例代碼,介紹設備通過MQTT-WebSocket通道接入物聯網平臺。

前提條件

已在物聯網平臺控制臺對應實例下,創建產品和設備(例如device2),并獲取設備證書信息(ProductKey、DeviceName和DeviceSecret)。具體操作,請參見:

背景信息

使用WebSocket方式接入設備的詳細說明,請參見MQTT-WebSocket連接通信

Node.js環境下設備端Link SDK的配置與使用,請參見環境要求與配置認證與連接

本示例使用物聯網平臺提供的設備端Link SDK,模擬設備接入和上下行通信過程。

說明 設備端Link SDK已配置TLS加密,您無需自行配置。

操作步驟

  1. 在Windows系統或Linux系統下載并安裝Node.js。本文以Windows 10(64位)系統為例,下載安裝包node-v14.15.1-x64.msi。
  2. 安裝成功后,打開CMD窗口,通過以下命令查看node版本。
    node --version
    顯示如下版本號,表示安裝成功。
    v14.15.1
  3. 在本地計算機創建一個JavaScript文件(例如iot_device.js),用來存放Node.js示例代碼。
    Node.js示例代碼如下:
    const iot = require('alibabacloud-iot-device-sdk');
    
    // 設備證書信息。
    const productKey = 'a1W***';
    const deviceName = 'device2';
    const deviceSecret = 'ff01e59d1a***';
    
    // 新版公共實例和企業版實例,必須填寫實例ID,舊版公實例無需填寫。
    const instanceId = '';
    
    // 當前產品和設備所屬地域的ID。
    const region = 'cn-shanghai';
    
    const brokerUrl = instanceId
      ? `wss://${instanceId}.mqtt.iothub.aliyuncs.com:443`
      : `wss://${productKey}.iot-as-mqtt.${region}.aliyuncs.com:443`;
    
    const device = iot.device({
      productKey: `${productKey}`,
      deviceName: `${deviceName}`,
      deviceSecret: `${deviceSecret}`,
      brokerUrl,
      tls: true,
    });
    
    // 監聽connect事件:建立MQTT連接,訂閱自定義Topic,通過自定義Topic向物聯網平臺發送消息。
    device.on('connect', () => {
      device.subscribe(`/${productKey}/${deviceName}/user/get`);
      console.log('connect successfully!');
      device.publish(`/${productKey}/${deviceName}/user/update`, 'hello world!');
    });
    
    // 監聽message事件。
    device.on('message', (topic, payload) => {
      console.log(topic, payload.toString());
    });
    
    // 監聽error事件。
    device.on('error', (error) => {
      console.error(error);
    });
    
    // 如果您希望主動斷開與物聯網平臺的連接,可以刪除下一行注釋符號,調用end函數斷開與物聯網平臺的連接。
    //device.end();

    您需參照下表,替換對應參數的值為實際場景中設備的信息。

    參數示例說明
    productKeya1W***您添加設備后,保存的設備證書信息,請參見獲取設備證書

    您也可在控制臺中設備device2設備詳情頁面查看。

    deviceNamedevice2
    deviceSecretff01e59d1a***
    instanceId''實例ID。您可在物聯網平臺控制臺實例概覽頁面,查看當前實例的ID。
    • 若有ID值,必須傳入該ID值。
    • 若無實例概覽頁面或ID值,傳入空值,即iotInstanceId = ''

    實例的詳細說明,請參見實例概述

    region cn-shanghai您物聯網平臺設備所在地域的代碼。地域代碼表達方法,請參見地域列表
  4. 打開CMD窗口,使用cd命令找到iot_device.js文件所在路徑,在該路徑下使用npm命令下載阿里云IoT的Link SDK庫。下載后的庫文件如下圖所示。
    npm install alibabacloud-iot-device-sdk --saveMQTT庫
  5. 在CMD窗口輸入如下命令,運行iot_device.js代碼,啟動設備。
    node iot_device.js
    返回如下信息,表示設備接入成功,并成功發布消息。接入設備

查看運行日志和測試下行通信

  1. 登錄物聯網平臺控制臺
  2. 在控制臺左上方,選擇物聯網平臺設備所在地域,然后在實例概覽頁面,單擊目標實例
    說明 若無實例概覽頁面,會直接進入物聯網平臺功能頁面。
  3. 在左側導航欄,選擇設備管理 > 設備
    設備列表頁簽,可查看設備device2的狀態為在線設備在線
  4. 單擊設備device2對應操作欄的查看,在設備詳情頁面,單擊日志服務,然后單擊前往查看
    云端運行日志頁簽,查看日志消息。日志信息
  5. 在日志列表,找到設備到云消息,單擊查看,查看設備上報到物聯網平臺的信息。
    上報消息
  6. 測試下行通信:從物聯網平臺向設備發送消息。
    1. 返回設備管理 > 設備頁面,在設備列表頁簽,單擊設備device2操作欄的查看
    2. 設備詳情頁面,單擊Topic列表頁簽,找到已訂閱的Topic:/a1W***/device2/user/get,單擊發布消息
    3. 輸入消息內容,單擊確認
      發送消息
    4. 返回設備運行窗口,查看設備能接收消息,表示通信正常。
      接收消息

      您也可返回云端運行日志頁簽,查看詳細的通信日志。

      通信日志