您可以使用Ruff开发板开发物联网应用,并接入阿里云物联网平台,便可通过阿里云物联网平台远程控制您的Ruff应用服务器。本文档以开发一个空气质量监控应用为例,介绍将Ruff应用服务器接入物联网平台的配置过程。
前提条件
本文档示例操作的前提条件:
- 开通阿里云物联网平台服务。
- 开通阿里云表格存储服务。
- 准备Ruff开发板。
背景信息
阿里云物联网平台支持多种开发板服务器接入,以实现对应用服务器的远程控制。应用服务器将设备数据传入物联网平台后,可通过规则引擎的数据流传功能将设备数据流转至其他支持的阿里云服务中进行存储、分析、计算等处理。如下图所示。
本文档中,只介绍开发Ruff应用服务器,并连接物联网平台;在物联网平台上,设置数据流传规则将服务器上报的设备数据流转至表格存储。
上图中,其他操作流程请参见:
- Android Things接入物联网平台
- 数据转发至函数计算
- 上报数据到钉钉群机器人
- DataV数据可视化
操作步骤
- 登录物联网平台控制台,创建产品和设备。
- 创建产品。如需帮助,请参见创建产品。
- 在产品详情页的Topic类列表页,单击定义Topic类,然后自定义一个空气质量监测设备用于发布数据的Topic类。
示例Topic类信息如下:
Topic 操作权限 说明 /${productKey}/${deviceName}/pm25data 发布 用于设备上报数据。 上报数据payload如:
{"pm25":23,"pm10":63}
。 - 单击左侧导航栏选择设备,进入设备管理页,并在产品下创建设备。
- 在表格存储控制台,创建实例和表格。
- 在实例列表页,单击创建实例,创建一个实例。
- 单击新建实例对应的管理按钮。
- 在实例详情页,单击右上角创建数据表按钮,并创建一个数据表,并且添加两个表主键:deviceId (对应值为设备名称)和time(对应值为设备数据上报时间)。
表格存储使用指南,请参见表格存储文档。
- 在物联网平台控制台规则引擎中,创建一个将设备数据流转到表格存储的规则。
- 在单击规则引擎的数据流转页,单击创建规则,并创建一个规则。
- 在该规则的数据流转详情页,单击编写SQL,然后编写用于处理空气质量检测设备上报数据的SQL。
本示例中SQL如下:
SELECT deviceName() as deviceName , timestamp('yyyy-MM-dd HH:mm:ss') as time, pm25, pm10 FROM "/a1jhoQasrGY/+/user/pm25data"
其中,函数
deviceName()
代表设备名称,timestamp('yyyy-MM-dd HH:mm:ss')
代表数据上报的时间;数据来源为Topic/a1jhoQasrGY/+/user/pm25data
,即该产品下所有设备通过这个Topic上报的消息。 - 单击转发数据对应的添加操作,并设置将设备数据转发到表格存储数据表中。
如下图所示。
- 返回规则列表页,单击该规则对应的启动按钮启动规则。
数据流转规则设置并启动后,设备上报的对应数据将会被流转到设置的表格存储数据表中。
- 开发设备端SDK。
以下示例是在Linux系统上操作。
- 输入 mkdir apsarasCampusAir创建一个名为apsarasCampusAir的文件夹。
- 输入cd apsarasCampusAir进入该文件夹。
- 输入rap init创建工程。
- 输入rap device add air (SDS011)添加硬件驱动。
- 在package.json中增加物联网平台SDK包
aliyun-iot-device-mqtt
。{ "name": "apsarascampusair", "version": "0.1.0", "description": "", "author": "", "main": "src/index.js", "ruff": { "dependencies": { "aliyun-iot-device-mqtt": "^0.0.5", "sds011": "^1.1.0" }, "version": 1 } }
- 使用
$rap install
命令,安装阿里云物联网平台设备端SDK。物联网平台SDK下载地址,请参见下载设备端SDK。 - 修改
index.js
主程序。// 引入aliyun-iot-sdk var MQTT = require('aliyun-iot-device-mqtt'); // 设备信息 var options = { productKey: "", //替换为您的产品的ProductKey deviceName: "", //替换为您的设备名称DeviceName deviceSecret: "", //替换为您的设备DeviceSecret regionId: "", //替换为您的产品设备所在地域 }; var pm25Data = 0; var pm10Data = 0; // 发布/订阅 topic var pubTopic = "/" + options.productKey + "/" + options.deviceName + "/user/pm25data"; // 建立连接 var client = MQTT.createAliyunIotMqttClient(options); $.ready(function(error) { if (error) { console.log(error); return; } //10s上报一次 setInterval(publishData, 15 * 1000); //空气质量 $('#air').on('aqi', function(error, pm25, pm10) { if (error) { console.log(error); return; } pm25Data = pm25; pm10Data = pm10; }); }); //上报温湿度 function publishData() { var data = { "pm25": pm25Data, "pm10": pm10Data }; console.log(JSON.stringify(data)) client.publish(pubTopic, JSON.stringify(data)); }
完整的SDK文件目录结构如下图所示。
- 使用
$rap deploy -s
命令,将SDK发布到Ruff开发板。
Ruff开发板连网后,即可向物联网平台发送数据。
原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/34080.html
相关推荐
-
阿里云函数工作流并行循环步骤
介绍 并行循环(Foreach)步骤遍历输入中的某个数组类型参数,对于数组中的每个元素并行执行其串行步骤。并行循环步骤类似于编程语言中的 foreach ,不同之处是这里的迭代是并…
-
阿里云Elasticsearch购买页面参数(增强版)
本文档介绍增强版阿里云Elasticsearch(简称ES)购买页面参数说明。 付费类型说明 阿里云ES支持包年包月和按量计费两种购买方式,您可以根据需求选择合适的方式。 包年包月…
-
阿里云视频点播安全文件获取
1.概述 出于安全性的考虑,我们点播支持对视频进行加密。视频加密之后使用我们的播放器进行解密,于是就需要一个加解密的流程,于是播放器下载就需要先拿到一个安全文件.以下文档将说明怎么…
-
阿里云容器服务Kubernetes版管理节点标签
您可以通过容器服务 Web 界面对节点进行标签管理,包括批量添加节点标签、通过标签筛选节点和快速删除节点标签。 前提条件 您已经成功创建一个 Kubernetes 集群,请参见创建…
-
阿里云批量计算Java SDK 快速开始
Java快速开始例子 本文档将介绍如何使用 Java 版 SDK 来提交一个作业,目的是统计一个日志文件中“INFO”,”WARN”,”ERROR”,”DEBUG”出现的次数。 步…
-
阿里云应用实时监控服务 ARMS内容开源规定
本文档为阿里云产品文档开源行为规定。如果用户参与阿里云内容开源社区的内容编辑修改,需遵循以下行为规定。 用户权利和义务。 用户可以通过本开源社区获得阿里云对外发布文档的文件副本,包…
-
阿里云域名域名代续费
域名代续费是指通过 A 账号为 B 账号下的域名进行续费。只要您有一个可以正常登录的阿里云会员账号,就可以直接对域名进行代续费操作。 适用场景 长时间不管理,忘记域名所在阿里云账号…
-
阿里云物联网边缘计算函数计算应用
本章主要介绍如何创建函数计算类型的边缘应用。 前提条件 已根据阿里云函数计算内容,创建了函数。 操作步骤 在物联网平台控制台,选择边缘计算 > 应用管理。 在应用管理页面,单…
-
阿里云MaxCompute离线数据加工卡点
离线数据加工卡点,主要指在业务系统的数据生成过程中进行的卡点校验。 代码提交的卡点校验 代码提交卡点主要包括您在提交代码时,手动或自动进行SQL扫描,检查您的SQL逻辑。校验规则分…
-
阿里云加密服务身份识别卡(USB key)的获取方式
您在购买了加密服务实例后,需要使用身份识别卡(USB key)来进行实例的管理。 请您登录阿里云网站,提交工单并留下您的交易单号以及收货地址,我们会尽快安排身份识别卡(USB ke…