利用规则引擎的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
相关文章
|
15天前
|
人工智能 自然语言处理 前端开发
从客服场景谈:大模型如何接入业务系统
本文探讨了大模型在AI客服中的应用。大模型虽具有强大的知识生成能力,但在处理具体业务如订单咨询、物流跟踪等问题时,需结合数据库查询、API调用等手段。文章提出用Function Call连接大模型与业务系统,允许大模型调用函数获取私域知识。通过具体示例展示了如何设计系统提示词、实现多轮对话、定义Function Call函数,并利用RAG技术检索文档内容。最后,展示了该方案在订单查询和产品咨询中的实际效果。
|
JSON 物联网 开发工具
设备接入组件功能介绍
设备接入组件功能介绍
397 0
EMQ
|
数据采集 JSON 算法
对接多个 Neuron 实例,实现多网关协同分析与设备联动
3月,eKuiper团队主要进行了1.9.0版本的开发,增强了分析能力与运营效率以进一步提高eKuiper的性能和可用性。
EMQ
229 0
对接多个 Neuron 实例,实现多网关协同分析与设备联动
|
物联网 监控 API
IoT平台设备标签功能和规则引擎组合最佳实践
助力设备管理,多维度检索,GIS展现
3689 0
EMQ
|
SQL 人工智能 边缘计算
提升规则自治能力与原生分析能力、支持视频流接入处理
11月,eKuiper团队转入1.8.0版本的开发周期之中,目前添加了视频流source,将边缘流式处理能力扩展到视频流领域。
EMQ
335 0
提升规则自治能力与原生分析能力、支持视频流接入处理
|
数据可视化 机器人 物联网
通过场景联动实现设备上下线通知
场景联动是规则引擎中,一种开发自动化业务逻辑的可视化编程方式,您可以通过可视化的方式定义设备之间联动规则,并部署规则至物联网平台云端或者边缘端。
157 0
通过场景联动实现设备上下线通知
|
传感器 物联网 智能硬件
IoT设备与手机App之间实时消息通信解决方案
PLC 工控机和管理人员 App 的联动
1403 0
IoT设备与手机App之间实时消息通信解决方案
EMQ
|
SQL 消息中间件 数据采集
全新物联网数据集成 :Flow 可视化编排 & 双向数据桥接
最新发布的EMQX 5.0针对数据集成相关功能进行了深度的重构和优化,并提供了数据集成可视化查看能力(Flows),本文将为读者详细展示EMQX这一重要能力的价值与应用。
EMQ
424 0
全新物联网数据集成 :Flow 可视化编排 & 双向数据桥接
|
机器学习/深度学习 JSON PyTorch
OpenMMLab 模型大联动,MMDet 也能用 MMCls 的网络!
使用过 OpenMMLab 旗下开源软件,如 mmdet、mmseg 的读者们,一定知道在这些软件中,我们通过配置文件来定义深度学习任务的方方面面,比如模型结构、训练所使用的优化器、数据集等。
474 0
OpenMMLab 模型大联动,MMDet 也能用 MMCls 的网络!
|
Web App开发 UED
“统一互动”----而不仅仅是通信
“统一互动”----而不仅仅是通信
121 0
“统一互动”----而不仅仅是通信
下一篇
无影云桌面