开发者社区 问答 正文

[基础版]设备数据流转存储产品表格存储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 2674 分享 版权
阿里云 AI 助理回答

IoT云端开发与集成表格存储OTS流程

1. IoT云端配置

  • 创建产品与设备:登录阿里云物联网平台控制台,通过“产品管理”>“创建产品”完成产品定义,并在“设备管理”下添加设备,记录下ProductKeyDeviceName及自定义属性如tag(西溪园区 1-2-56)和imei(XIXI2018034532)。
  • 配置消息通信:在产品详情的“消息通信”中设置Topic权限,允许设备发布数据到/productKey/${deviceName}/data,并订阅来自云端的指令于/productKey/${deviceName}/control

2. 表格存储OTS服务开通与配置

  • 开通OTS服务:访问阿里云官网开通表格存储OTS服务。
  • 创建OTS实例:在OTS控制台创建一个新的实例,准备用于存储IoT设备上报的数据。

3. 规则引擎设置

  1. 字段映射:在规则引擎中定义字段映射,例如将deviceName()映射为deviceName,时间戳格式化为yyyy-MM-dd HH:mm:ss,以及提取设备属性tagimei,还有数据流中的humiditytemperature

  2. Topic匹配:设置规则应用于所有设备的数据上报,使用通配符产品/ /data来捕获该产品的所有设备数据上报。

  3. 数据操作与转发:配置规则执行完整数据操作后,选择转发动作至已创建的OTS实例。

  4. 启动规则:完成配置后,启动此规则引擎,开始自动处理并存储设备上报的数据。

4. 设备端模拟开发

  • 模拟设备脚本:使用Node.js编写模拟设备脚本iot-ots.js,通过aliyun-iot-mqtt库连接物联网平台。脚本周期性地向指定主题/productKey/${deviceName}/data发布随机生成的温度和湿度数据。

5. 启动与验证

  • 运行模拟设备:在命令行中执行node iot-ots.js启动模拟设备脚本,开始数据上报过程。
  • 查看OTS数据:数据上报后,可在表格存储OTS实例中查看到由规则引擎自动转发存储的设备数据,包括设备名、时间戳、位置标签、序列号以及温湿度信息。

通过上述步骤,您完成了从IoT云端配置、规则引擎设定到设备端模拟开发的全流程,实现了设备数据上报至阿里云物联网平台,并自动存储至表格存储OTS的服务集成。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答