1.IoT云端开发
开通物联网套件 https://www.aliyun.com/product/iot
=>产品管理>创建产品
=>产品管理>产品详情>设备管理>添加设备
=>产品管理>产品详情>设备管理>添加自定义属性 tag,imei
属性名key | 属性值value | 描述 |
tag | 西溪园区 1-2-56 | 自定义设备位置 |
imei | XIXI2018034532 | 自定义设备序列号 |
=>产品管理>产品详情>消息通信
Topic | 权限 | 描述 |
/productKey/${deviceName}/data | 发布 | 上报数据payload示例 {"temperature":23,"humidity":63} |
/productKey/${deviceName}/control | 订阅 | 下行指令payload示例 {"device": "iotLed","state": "on"} |
2. 表格存储OTS创建
2.1 开通表格存储OTS服务
开通表格存储OTS服务https://www.aliyun.com/product/ots
2.2 创建OTS实例
2.3 创建OTS实例
3. IoT套件-规则引擎设置
3.1 字段
复制代码
- deviceName() as deviceName ,
- timestamp('yyyy-MM-dd HH:mm:ss') as time,
- attribute('tag') as tag,attribute('imei') as imei,
- humidity,
- temperature
3.2 Topic
复制代码
- 产品/+/data +通配符,代表产品下全量设备都使用这个规则
3.3 完整数据操作
3.4 转发动作-表格存储OTS
3.5 启动规则引擎
4. 设备端开发
4.1 模拟设备开发
模拟设备的nodejs脚本iot-ots.js
复制代码
- /**
- * package.json 添加依赖:"aliyun-iot-mqtt": "0.0.4"
- */
- const mqtt = require('aliyun-iot-mqtt');
- //设备三元组
- const options = {
- productKey: "替换自己productKey",
- deviceName: "替换自己deviceName",
- deviceSecret: "替换自己deviceSecret",
- regionId: "cn-shanghai"
- };
- //设备与云 建立连接,设备上线
- const client = mqtt.getAliyunIotMqttClient(options);
- //主题topic
- const topic = `${options.productKey}/${options.deviceName}/data`;
- //指定topic发布数据到云端
- setInterval(function() {
- //发布数据到topic
- client.publish(topic, getPostData());
- }, 10 * 1000);
- function getPostData() {
- const data = {
- temperature: Math.floor((Math.random() * 20) + 10),
- humidity: Math.floor((Math.random() * 80) + 20),
- };
- console.log("===postData topic=" + topic)
- console.log(data)
- return JSON.stringify(data);
- }
5. 启动运行
启动虚拟设备脚本
复制代码
- $node iot-ots.js
表格存储数据查看
阅读后请点击