写点什么

IoT 设备与手机 App 之间如何实现实时消息通信——业务场景最佳实践

作者:阿里云AIoT
  • 2022-10-26
    浙江
  • 本文字数:1058 字

    阅读完需:约 3 分钟

背景

M2M(即 Machine-to-Machine)是一种端对端通信技术。阿里云 IoT 企业物联网实例通过基于规则引擎的 Topic 转发功能,实现设备之间 M2M 通信。您不用担心高并发场景下的高并发、稳定性、低延时等技术难点,也不需要购买大量服务器去承载这些请求,您只需要根据自己的业务配置好转发规则即可。

今天,我们讲解在工业场景中 PLC 工控机和管理人员 App 的联动,此方案也同样适用于智能家居场景中温湿度传感器和空调联动,空气质量传感器和空气净化器联动等。

整体技术方案

基于阿里云 IoT 企业物联网实例的设备之间 M2M 通信整体技术方案如下:


image.png


设备 M2M 通信实战

1.创建产品,配置自定义 Topic

首先,我们在物联网控制台创建手机 App 产品和 PLC 工控机,并添加自定义 Topic。


image.png


image.png


然后,在产品下各注册一个设备。

2.配置规则引擎,Topic 转发

2.1 PLC 工控机上报数据流转 App 完成设备接入后,我们在规则引擎-云产品流转创建新规则,PLC 数据实时流转 App。


image.png


① 数据源- PLC 工控机数据上报

工控机上报数据 Topic:/工控机/工控机id/user/data/up
Payload:{ "toAppTopic":"/手机App/手机id/user/plc2App/data", "t":56, "h":68}
复制代码

② 数据目的地- 手机 App 订阅

手机App订阅 Topic:/手机App/手机id/user/plc2App/data
复制代码

③ 解析脚本

//通过 payload 函数,获取设备上报的消息内容,并按照JSON格式转换。var data = payload("json");
// 目标Topicvar toAppTopic = data.toAppTopic;// App 指令流转到 PLC设备writeIotTopic(1009, toAppTopic, data)
复制代码

当 PLC 工控机有数据上报后,消息上报和规则引擎流转日志,如下:


image.png


数据流转的消息轨迹


image.png


2.2 手机 App 推送控制指令到 PLC 工控机接下来,我们在规则引擎-云产品流转创建新规则,App 指令发送到 PLC。


image.png


① 数据源- 手机下发控制指令

手机下发控制指令 Topic:/手机App/手机id/user/app2plc/cmd
Payload:{ "toPlcDeviceTopic":"/PLC工控机/工控机id/user/app/cmd", "light":"on"}
复制代码

② 数据目的地- 工控机指令订阅

PLC工控机订阅 Topic:/PLC工控机/工控机id/user/app/cmd
复制代码

③ 解析脚本

//通过 payload 函数,获取设备上报的消息内容,并按照JSON格式转换。var data = payload("json");
// 目标设备Topicvar toPlcDeviceTopic = data.toPlcDeviceTopic;// App 指令流转到 PLC设备writeIotTopic(1009, toPlcDeviceTopic, data)
复制代码

当手机 App 下发控制指令后,流转日志,如下:


image.png


数据流转的消息轨迹如下


image.png


至此,我们基于阿里云 IoT 企业物联网平台完成了 PLC 工控机和手机 App 之间的实时消息通信,整个过程不需要业务服务器参与,保障了设备间消息实时和高效通信

用户头像

阿里云AIoT

关注

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

还未添加个人简介

评论

发布
暂无评论
IoT设备与手机App之间如何实现实时消息通信——业务场景最佳实践_物联网_阿里云AIoT_InfoQ写作社区