第一步 创建产品
第二步 定义物模型
第三步 创建设备
完成三步之后就可以进行设备模拟上云啦!
第四步 设备上云
第一种方案,利用Node.js进行上云
完整流程可参考此文档
https://help.aliyun.com/document_detail/189226.html?spm=a2c4g.11186623.6.573.5d52712dyEFako
第一步:下载安装node.js
https://nodejs.org/en/download/?spm=a2c4g.11186623.2.7.60213acbG0fqIo
点击上方链接进行下载
安装成功后,打开CMD窗口,通过以下命令查看node版本。
windows电脑:
Mac电脑:打开终端即可,打开桌面搜索终端
在终端中输入node --version,查看相应node版本。
第二步重点步骤:编写代码
在本地计算机创建一个JavaScript文件(例如iot_device.js),用来存放Node.js示例代码,如没有JS开发工具也没关系,创建一个TXT文档。
代码如下:
const mqtt = require('aliyun-iot-mqtt'); // 1. 设备身份信息 var options = { productKey: "g34q2******", deviceName: "hxt93489234", deviceSecret: "b42db5a4fb95deb947f61655ad******", host: "iot-cn-6ja1y******.mqtt.iothub.aliyuncs.com" }; // 2. 建立MQTT连接 const client = mqtt.getAliyunIotMqttClient(options); //订阅云端指令Topic client.subscribe(`/g34q2******/hxt93489234/user/get`) client.on('message', function(topic, message) { console.log("topic " + topic) console.log("message " + message) }) setInterval(function() { // 3.定时上报温湿度数据 client.publish(`/sys/g34q2******/hxt93489234/thing/event/property/post`, getPostData(), { qos: 0 }); }, 5 * 1000); function getPostData() { const payloadJson = { id: Date.now(), version: "1.0", params: { temperature: Math.floor((Math.random() * 20) + 10), humidity: Math.floor((Math.random() * 20) + 10) }, method: "thing.event.property.post" } console.log("payloadJson " + JSON.stringify(payloadJson)) return JSON.stringify(payloadJson); }
下方所示数据都要进行修改,
host:企业实例-实例详情-查看开发配置-公网终端节点。
三元组信息:企业实例-设备管理-设备-Devicesecret-查看
修改完后即可,TXT的同学,记得保存好后,修改文件后缀名,改为.js
第三步:下载阿里云iot的mqtt库
打开CMD/终端窗口,使用cd命令找到代码文件(XXX.Js)所在路径,在该路径下使用NPM命令下载阿里云IoT的MQTT库。
命令:npm install aliyun-iot-mqtt -S
下载后的MQTT库文件如下图所示
最后一步:运行代码文件(XXXX.js)
在CMD/终端窗口输入如下命令,运行XXXX.js代码,启动设备.
命令:node XXXX.js
如下图则表示设备运行成功,在往平台时时发送数据。
第二种方案,使用Mqtt模拟器进行上云
第一步:下载安装模拟器
模拟器下载地址:
https://developer.aliyun.com/article/781940
第二步:设备三元组信息,连接上云
下载安装成功后,打开mqtt模拟器,设置完三元组信息后,点击连接即可。
连接成功后,设备就已经上云了,但是在物模型上是不会上报任何数据的,只是表示设备上线了。
第三步:编写topic上报数据(属性)
topic:/sys/{productKey}/{deviceName}/thing/event/property/post
topic中的productkey和devicename一定要改成自己的,括号不要!
如下图中
具体的payload内容有固定格式,参考ALINK协议里
https://help.aliyun.com/document_detail/89301.html?spm=a2c4g.11186623.6.738.18922437ArvRZZ
简单payload可参考:
点击发送后,云平台会回复相关消息,code:200则为发送成功,可在云平台物模型中查看相关数据,日志中也可查看。
第三种方案,使用在线设备模拟器模拟上云并实现数据上报
第一步:进入设备模拟器
第二步:上报属性即可
相关属性上报后,可新开一个页面观察设备的属性。