赞
踩
子设备其实就是自身不能连接到阿里云物联网平台,需要借助网关来完成连接,本文主要介绍使用nodejs实现子设备通过网关接入阿里云物联网平台。
实现步骤:
所有校验通过,才会建立子设备逻辑通道,并绑定至网关物理通道上,实现子设备通过网关,与物联网平台建立连接,并进行通信。
详细的创建过程这里就不多说了,前面也已经有讲到,官方的开发文档也有。
物联网平台创建子设备时最好使用子设备的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);}); })
可以看出这是网关和子设备都已经连上了物联网平台。
子设备上线成功后就可以进行之前的一些方法,订阅和发布以及物模型的上报等操作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。