阿里云Nodejs SDK——子设备接入物联网平台

    技术2025-10-22  15

    文章目录

    概述网关和子设备的创建网关连接物联网平台设置网关与子设备之间的拓扑关系配置子设备的上线

    概述

    子设备其实就是自身不能连接到阿里云物联网平台,需要借助网关来完成连接,本文主要介绍使用nodejs实现子设备通过网关接入阿里云物联网平台。

    实现步骤:

    首先,需在物联网平台上创建网关和子设备开发网关设备端SDK,实现网关直连物联网平台再由网关向物联网平台上报网关与子设备的拓扑关系通过网关上报子设备证书(一机一密方式)或者子设备动态注册的认证方式,物联网平台校验子设备的身份和该子设备与网关的拓扑关系。我们这里使用的是一机一密的方式。

    所有校验通过,才会建立子设备逻辑通道,并绑定至网关物理通道上,实现子设备通过网关,与物联网平台建立连接,并进行通信。

    网关和子设备的创建

    详细的创建过程这里就不多说了,前面也已经有讲到,官方的开发文档也有。 物联网平台创建子设备时最好使用子设备的MAC地址或者SN号作为子设备的Devicename 只把创建的结果给展示一下如图:

    网关连接物联网平台

    const iot = require('alibabacloud-iot-device-sdk'); let count = 0; const gateway = iot.gateway({ "ProductKey": "a1oig7z1FNf", "DeviceName": "mys-6ulx-mqtt", "DeviceSecret": "WhdHNC3LIHmj7n2UEjIsQKDNBzQozyZS" }); gateway.on('connect',()=>{ console.log('>>>>>connect') })

    注意这里使用的是gateway网关连接,而不是device设备连接 这是可以看到网关已经是在线状态了。

    设置网关与子设备之间的拓扑关系

    设置网关与子设备的拓扑关系有两种方法: 1、直接在设备里找到网关设备,点击查看,在子设备管理中点击添加子设备,填写子设备信息,完成子设备的添加与删除。 2、直接在网关设备端使用命令添加和删除拓扑关系 由于我们这里使用的是第一种,只把第二种的介绍在这里写下。

    配置子设备的上线

    const iot = require('alibabacloud-iot-device-sdk'); let count = 0; const gateway = iot.gateway({ "ProductKey": "a1oig7z1FNf", "DeviceName": "mys-6ulx-mqtt", "DeviceSecret": "WhdHNC3LIHmj7n2UEjIsQKDNBzQozyZS" }); gateway.on('connect',()=>{ console.log('>>>>>connect') //子设备上线 sub1 = gateway.login( {"productKey":"a1qfDPbUCyE", "deviceName":"testdevice2", "deviceSecret":"IPyNvnrQV3bFQFmZXH1ihWcprA6fyigM"}, (res) => { console.log('>>>>>login', res);}); })

    可以看出这是网关和子设备都已经连上了物联网平台。 子设备上线成功后就可以进行之前的一些方法,订阅和发布以及物模型的上报等操作。

    Processed: 0.009, SQL: 9