精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
锐英源精品开源,禁止转载和任何形式的非法内容使用,违者必究
在阿里物联网云需要连接上云来激活设备,同时也可以写js代码来上报数据,在阿里云官网上对例子的几个关键属性和url用了查看详细页来说明,让初学者翻页面不太人性化,这里把我总结的代码公示下,希望能节省大家时间。
本人用的设备信息肯定会用*来代替,先看官方表:
参数 | 示例 | 说明 |
---|---|---|
productKey | TVz1A1x2wA****** | 设备所属产品Key。可在控制台设备详情页查看。 |
deviceName | hxt93489234 | 设备名称。可在控制台设备详情页查看。 |
deviceSecret | b42db5a4fb95deb947f61655ad****** | 设备密钥。可在控制台设备详情页查看。 |
host | iot-cn-6ja1y******.mqtt.iothub.aliyuncs.com | MQTT设备接入终端节点。可在控制台实例详情页查看。具体操作,请参见查看实例终端节点。 |
下面是代码,注意里面的注释,和官网上有不一样的地方尤其要重视:
const mqtt = require('aliyun-iot-mqtt'); // 1. 设备身份信息 var options = { productKey: "***", deviceName: "***", deviceSecret: "***", host: "***.iot-as-mqtt.*****.aliyuncs.com:1883" }; // 2. 建立MQTT连接 const client = mqtt.getAliyunIotMqttClient(options); //订阅云端指令Topic,在自定义topic里 client.subscribe(`/***/***/user/get`) client.on('message', function(topic, message) { console.log("topic " + topic) console.log("message " + message) }) setInterval(function() { // 3.定时上报温湿度数据,在物模型通信Topic里 client.publish(`/sys/***/***/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); }
其中5个星的部分要找表格最后一行的链接去查。这些内容如果理解了域名多个节和目录多个节也好理解,所以说搞编程基础很重要,脑子灵活最重要。