IoT设备与手机App之间实时消息通信解决方案

简介: PLC 工控机和管理人员 App 的联动

背景

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");

// 目标Topic
var 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");

// 目标设备Topic
var toPlcDeviceTopic = data.toPlcDeviceTopic;
// App 指令流转到 PLC设备
writeIotTopic(1009, toPlcDeviceTopic, data)

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

image.png

数据流转的消息轨迹如下

image.png

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

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
3月前
|
Java
照片一键生成眨眼视频app,手机照片一键生成眨眼动图,通过JAR代码实现效果
这是一个自动生成眨眼GIF动画的Java程序,包含主程序处理、图像变形和GIF生成三个模块。输入照片路径,自动识别人脸眼睛位置,生成闭眼、半闭眼等多帧图像,并合成为眨眼动效GIF文件。
|
1月前
|
编解码 数据安全/隐私保护
手机录制脚本自动执行, 免root屏幕录制脚本,自动脚本精灵app【autojs】
自动创建保存目录确保路径存在 动态生成带时间戳的文件名避免重复
|
3月前
|
安全 测试技术 开发者
银行转账模拟器手机版app, 银行转账凭证生成器app,用autojs实现效果【逼真效果】
本内容展示了一套基于Auto.js的银行APP自动化测试脚本和框架,用于学习和研究移动应用测试技术。脚本涵盖登录、转账等功能测试
|
7月前
|
机器学习/深度学习 存储 人工智能
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
5225 80
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
|
8月前
|
缓存 前端开发 IDE
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
172 0
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
11月前
|
Rust 资源调度 安全
为什么使用 Rust over C++ 进行 IoT 解决方案开发
为什么使用 Rust over C++ 进行 IoT 解决方案开发
279 7
|
12月前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
369 12
|
11月前
|
人工智能 安全 物联网
|
网络协议 程序员 5G
IM开发者的零基础通信技术入门(十三):为什么手机信号差?一文即懂!
本系列文章尽量使用最浅显易懂的文字、图片来组织内容,力求通信技术零基础的人群也能看懂。但个人建议,至少稍微了解过网络通信方面的知识后再看,会更有收获。如果您大学学习过《计算机网络》这门课,那么一定不要错过本系列文章。
141 0
|
存储 监控 安全
使用IoT设备优化家庭生活的技术探索
【8月更文挑战第4天】IoT设备以其智能化、便捷性和高效性,正逐步成为现代家庭不可或缺的一部分。从智能照明到智能安防,从智能恒温器到智能厨房,再到智能语音助手,这些设备不仅优化了我们的家庭生活,还提升了我们的生活质量和幸福感。随着技术的不断进步和应用场景的不断拓展,我们有理由相信,未来的智能家居将会更加智能、更加人性化,为我们的生活带来更多惊喜和便利。