开发者社区> 问答> 正文

[基础版]设备数据流转存储产品表格存储OTS


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

表格存储数据查看







展开
收起
游客886 2018-06-26 16:34:01 2630 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
TableStore在社交类场景下的应用 立即下载
表格存储实时数据流Steam的技术揭秘和应用场景 立即下载
表格存储(TableStore) 立即下载