写点什么

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

作者:阿里云AIoT
  • 2023-02-28
    浙江
  • 本文字数:1046 字

    阅读完需:约 3 分钟

利用 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/paramsmessage => {"windPower":"high","rangehoodId":"s001","status":"on"}
复制代码

燃气灶

$ node gas-stove.js 
Pub Topic => /a****h/z001/user/change/rangehoodPayload => {"status":"on","windPower":"high"}
复制代码


5.2 设备运行日志


image.png


image.png


【往期回顾】

1.自建MQTT集群迁移阿里云IoT平台

2.IoT时代:WiFi配网技术剖析

3.微信小程序和IoT智能家居实践

4.IoT云端通用数据解析脚本实践


物联网平台产品介绍详情:https://www.aliyun.com/product/iot/iot_instc_public_cn


阿里云物联网平台客户交流群

用户头像

阿里云AIoT

关注

物联网内容搬运者 2022-04-22 加入

还未添加个人简介

评论

发布
暂无评论
利用规则引擎的M2M实现设备之间联动——实践类_小程序_阿里云AIoT_InfoQ写作社区