完成物聯網平臺控制臺的配置工作后,您需要進行設備端業務開發。本文通過Node.js腳本模擬設備業務行為,實現設備的MQTT建連和數據上報。

操作步驟

  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示例代碼。
    示例代碼如下:
    // 引入依賴mqtt庫,或自己實現。
    const mqtt = require('aliyun-iot-mqtt');
    // 設備身份。
    var options = {
        productKey: "設備ProductKey",
        deviceName: "設備DeviceName",
        deviceSecret: "設備DeviceSecret",
        host: "iot-cn-***.mqtt.iothub.aliyuncs.com"
    };
    
    // 1.建立連接。
    const client = mqtt.getAliyunIotMqttClient(options);
    
    // 2.設備接收云端指令數據。
    client.on('message', function(topic, message) {
        console.log("topic " + topic)
        console.log("message " + message)
    })
    
    // 3. 模擬設備上報數據(原始報文)。
    setInterval(function() {
        client.publish(`/${options.productKey}/${options.deviceName}/user/data`, getPostData(),{qos:1});
    
    }, 1000);
    
    
    // 模擬設備原有報文格式。
    function getPostData() {
        let payload = {
          temperature:Math.floor((Math.random() * 20) + 10)
        };
    
        console.log("payload=[ " + payload+" ]")
        return JSON.stringify(payload);
    }
  4. 配置設備接入參數。
    參數 示例 說明
    productKey a16c***** 您添加設備后,保存的設備證書信息。

    您可在物聯網平臺控制臺的設備詳情頁面查看。

    deviceName device1
    deviceSecret b2e6e4f102458d84***
    host iot-cn-***.mqtt.iothub.aliyuncs.com MQTT設備接入域名。查看方法,請參見查看實例終端節點
  5. 打開CMD窗口,使用cd命令找到設備端的iot_device.js文件所在路徑,在該路徑下使用npm命令下載阿里云IoT的MQTT庫。下載后的MQTT庫文件如下圖所示。
    npm install aliyun-iot-mqtt -SMQTT庫

后續步驟

服務端開發