没想到“东郊到家”竟然用MQTT
前言
随着物联网技术的爆发式发展,越来越多的设备与网络连接在一起,构成了庞大的物联网生态系统。在这个系统中,通信协议扮演着至关重要的角色。海量的设备接入和设备管理对网络带宽、时延要求、通信协议以及平台服务架构都带来了巨大的挑战。对于物联网协议来说,必须针对性地解决物联网设备通信的几个关键问题。
MQTT协议正是为了解决这些问题而被创建的。经过多年的发展,MQTT 协议凭借其轻量、高效、可靠的消息传递、海量连接支持、以及安全的双向通信等优点,已成为物联网协议的实施标准,在车联网、工业物联网、智能家居、智慧交通等领域发挥着重要作用。
MQTT是一种基于发布/订阅模式的轻量级消息传输协议,专门针对低带宽和不稳定网络环境的物联网应用而设计,可以用极少的代码为联网设备提供实时可靠的消息服务。MQTT 协议广泛应用于物联网、移动互联网、智能硬件、车联网、智慧城市、远程医疗、 电力、石油与能源等领域。
MQTT协议由 Andy Stanford-Clark(IBM)和 Arlen Nipper(Arcom,现为 Cirrus Link)于 1999年发布。按照Nipper的介绍,MQTT必须具备以下几点:
• 简单容易实现
• 支持 QoS(设备网络环境复杂)
• 轻量且省带宽
• 数据无关(不关心 Payload 数据格式)
• 有持续地会话感知能力(时刻知道设备是否在线)
基于此,巨控推出了较以往更为强大的GRM560系列模块。
GRM560 核心功能:
1:5G远程下载调试PLC,触摸屏,运动控制器,可远程桌面修改上位机。
2: 手机 APP,云平台远程监控,视频监控。单模块最高支持 5000 点。
3:PLC 远程催款,远程停机。内置编程功能,具备灵活性和隐蔽性。
4:组态软件远程集中监控,支持十万点规模,秒级以内响应。
5:微信报警(支持分组分权限) ,短信报警,语音报警,邮件报警。
6:通过 MQTT 或 WebService 接口可以其他平台对接。
7: 更高可靠的短信发送、恢复机制,可追踪短信发送详情。
正文
本次主要测试巨控GRM560系列模块的MQTT功能,由于身边没有PLC,此次测试电脑使用Modbus Slave软件模拟modbus rtu从站,通过USB转485线连接至巨控GRM560模块的485端子上。
搭建环境:
电脑系统Windows 10 LTSB 2016
浏览器 Google Chrome
硬件:
①巨控GRM563Q-C模块
②开关电源
③电线
④USB-485线
⑤网线
软件:
①emqx-5.3.0-windows-amd64(用于搭建Windows系统下本地MQTT服务器)
②MQTTX(MQTT客户端)
③GRMDev6(用于GRM560系列模块的配置软件)
④Modbus Slave
下图为系统的网络图:
以下是测试步骤:
一、 Windows系统下本地MQTT服务器搭建
1. 在电脑任意一个盘,新建文件夹(例如在D盘新建一个EMQX的文件夹),注:文件夹名字不要使用中文,然后将emqx-5.3.0-windows-amd64.zip压缩文件解压至EMQX文件夹,如下图所示
2. 启动EMQX(即MQTT服务器)
然后在命令行输入“emqx start”,即可启动MQTT服务器,如下图所示
3. 登录MQTT服务器后台管理界面
通过谷歌浏览器访问http://localhost:18083/(localhost可替换为自己电脑的实际IP地址),输入默认账号为“admin”,默认密码为“public”,然后点击登录按钮,进入MQTT服务器后台管理界面(如果是第一次使用会提示修改密码),如下图所示
4. 创建认证及添加用户
① 创建认证(如下图),后续步骤全部默认下一步即可,直至创建完成
② 添加用户,用户名和密码自己可以随意设置(本次用户名分为“MQTT1”和“MQTT2”,密码都是“123456”,都设置为超级用户)
二、 建立巨控工程,配置modbus通讯及MQTT推送
1. 使用USB-485线连接好电脑和巨控GRM563Q-C模块的串口,打开Modbus Slave软件模拟5个从站数据
2. 打开GRMDev6软件,新建工程,组态完成后下载工程至巨控模块
① 设置COM1口通讯参数(与Modbus Slave设置一样)并新建设备,然后在数据词典中新建一个“MODBUS RTU”的变量组并在变量组中新建5个变量(与Modbus Slave软件中的地址对应)
② 在“MQTT推送”栏下新建名为“MQTT1”的推送(MQTT推送使用巨控格式,也支持自定义格式)
③ 双击“MQTT1”打开MQTT推送编辑器,设置“MQTT属性”和添加需要的推送变量后点击“确认”按钮
④ 保存巨控工程文件,编译并下载工程至巨控模块
三、 打开MQTTX软件,新建连接、添加订阅
1. 新建连接
2. 连接上MQTT服务器后,按照巨控格式的Topic添加订阅
3. 查看巨控推送过数据、从MQTT客户端写数据至底层设备(此处是Modbus Slave软件)
① 查看推送数据
② 写数据
总结
巨控GRM560系列模块在以往型号具有WebService 接口的基础上又增加了现在主流热门的物联网协议MQTT,配置步骤简单、通讯稳定,用户又可以自定义MQTT推送格式,非常人性化,使得该系列模块在对接物联网平台时拥有极高的灵活性、易用性。
2024年08月