利用规则引擎的M2M实现设备之间联动

简介: 利用规则引擎的M2M实现设备之间联动

利用M2M实现设备之间联动

方案设计

基于IoT物联网平台中规则引擎的M2M能力,我们可以实现设备间联动通信,技术方案如下:
image.png

1.创建产品

1.1 油烟机

创建设备
image.png
通信Topic
image.png

1.2 燃气灶

创建设备
image.png
通信Topic
image.png

2.注册设备

2.1 油烟机设备

image.png

2.2 燃气灶设备

注册设备,并绑定目标油烟机
image.png

3.规则引擎配置 M2M规则


image.png

3.1 处理数据

image.png

SELECT 
attribute('targetId') as rangehoodId,
status, 
windPower 
FROM 
"/a****h/+/user/change/rangehood"

3.2 转发数据

image.png

4.设备开发

4.1 油烟机设备

设备端开发

const mqtt = require('aliyun-iot-mqtt');

var options = {
    productKey: "替换",
    deviceName: "替换",
    deviceSecret: "替换",
    regionId: "cn-shanghai"
};

//建立连接
const client = mqtt.getAliyunIotMqttClient(options);

client.subscribe(`/${options.productKey}/${options.deviceName}/user/control/params`)
client.on('message', function(topic, message) {
    console.log("sub topic => " + topic)
    console.log("message => " + message)
})

4.2 燃气灶设备

设备端开发

const mqtt = require('aliyun-iot-mqtt');

var options = {
    productKey: "替换",
    deviceName: "替换",
    deviceSecret: "替换",
    regionId: "cn-shanghai"
};
var pubTopic = `/${options.productKey}/${options.deviceName}/user/change/rangehood`;
//建立连接
const client = mqtt.getAliyunIotMqttClient(options);

//上报数据
client.publish(pubTopic, getPostData(), { qos: 0 });

function getPostData() {
    const payloadJson = {
        status: "on", //on,off
        windPower: "high" //low,middle,high
    }
    console.log("Pub Topic => " + pubTopic)
    console.log("Payload => " + JSON.stringify(payloadJson))
    return JSON.stringify(payloadJson);
}

5.联机运行

5.1 设备启动

油烟机

$ node range-hood.js 

sub topic => /a1zTlSPM9Ni/s001/user/control/params
message => {"windPower":"high","rangehoodId":"s001","status":"on"}

燃气灶

$ node gas-stove.js 

Pub Topic => /a****h/z001/user/change/rangehood
Payload => {"status":"on","windPower":"high"}

5.2 设备运行日志

image.png


image.png

【往期回顾】

1.自建MQTT集群迁移阿里云IoT平台
2.IoT时代:WiFi配网技术剖析
3.微信小程序和IoT智能家居实践
4.IoT云端通用数据解析脚本实践

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
定位技术 数据格式
轨迹系列——车载GPS对接方案汇总小结(809、自定义协议、前置库、WS)
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景          最近在不同项目中对接了多个车载GPS厂商服务终端,绝大多数厂商可以提供809协议的数据对接,还有部分可以提供自定义协议等方式的对接。
3417 0
|
2月前
|
前端开发 数据可视化 API
Python实现智能家居设备的统一控制平台
【10月更文挑战第6天】 Python实现智能家居设备的统一控制平台
110 11
|
JSON 物联网 开发工具
设备接入组件功能介绍
设备接入组件功能介绍
441 0
EMQ
|
数据采集 JSON 算法
对接多个 Neuron 实例,实现多网关协同分析与设备联动
3月,eKuiper团队主要进行了1.9.0版本的开发,增强了分析能力与运营效率以进一步提高eKuiper的性能和可用性。
EMQ
250 0
对接多个 Neuron 实例,实现多网关协同分析与设备联动
|
物联网 监控 API
IoT平台设备标签功能和规则引擎组合最佳实践
助力设备管理,多维度检索,GIS展现
3741 0
|
传感器 物联网 智能硬件
IoT设备与手机App之间实时消息通信解决方案
PLC 工控机和管理人员 App 的联动
1519 15
IoT设备与手机App之间实时消息通信解决方案
EMQ
|
SQL 人工智能 边缘计算
提升规则自治能力与原生分析能力、支持视频流接入处理
11月,eKuiper团队转入1.8.0版本的开发周期之中,目前添加了视频流source,将边缘流式处理能力扩展到视频流领域。
EMQ
343 0
提升规则自治能力与原生分析能力、支持视频流接入处理
|
数据可视化 机器人 物联网
通过场景联动实现设备上下线通知
场景联动是规则引擎中,一种开发自动化业务逻辑的可视化编程方式,您可以通过可视化的方式定义设备之间联动规则,并部署规则至物联网平台云端或者边缘端。
169 0
通过场景联动实现设备上下线通知
|
存储 云安全 消息中间件
任务管理入门:如何有效控制大规模设备
在IoT领域核心的场景之一就是云和设备交互。
827 15
任务管理入门:如何有效控制大规模设备
|
机器学习/深度学习 JSON PyTorch
OpenMMLab 模型大联动,MMDet 也能用 MMCls 的网络!
使用过 OpenMMLab 旗下开源软件,如 mmdet、mmseg 的读者们,一定知道在这些软件中,我们通过配置文件来定义深度学习任务的方方面面,比如模型结构、训练所使用的优化器、数据集等。
498 0
OpenMMLab 模型大联动,MMDet 也能用 MMCls 的网络!

热门文章

最新文章