高效部署Modbus转MQTT网关:Modbus RTU、Modbus TCP转MQTT

钡铼Modbus转MQTT网关,简而言之,就是通过将Modbus协议(包括Modbus RTU和Modbus TCP)的数据转换为MQTT协议的数据格式,从而实现设备数据的上传和云端控制指令的下发。这一转换过程使得设备能够与基于MQTT协议的云平台进行通信,实现数据的实时传输和远程监控。本文将带大家学习如何配置云平台,感兴趣的朋友可以跟着一起操作。

一、MQTT Client

MQTT Client 支持有证书连接和无证书连接,其数据模板支持“KingPigeon”、“thingsboard”、“sparkplug b”格式的JSON数据格式(可以定制客户自己的MQTT数据格式)。

操作步骤:(1)双击“MQTT Client”弹出MQTT Client配置框。(2)点击启用按钮,启用MQTT Client。默认:关闭。灰色表示:不启用,绿色表示:启用。(3)IP/域名:填写MQTT服务器的IP/域名。(4)端口:填写MQTT服务器端口,默认填写:1883。(5)Client ID:MQTT连接报文用到的客户端标识符,服务端使用客户端标识符识别客户端。(6)用户名:MQTT连接报文用到的用户名,服务端可以将它用于身份验证和授权。(7)密码:MQTT连接报文用到的密码,服务端可以将它用于身份验证和授权。(8)数据模板:根据MQTT服务器支持的JSON数据格式选择,默认“KingPigeon”。(9)订阅主题:MQTT订阅报文用到的主题名,订阅后服务器可以向客户端发送发布报文实现控制。(10)发布主题:MQTT发布报文用到的主题名,主题名用于识别有效载荷数据应该被发布到哪一个信息通道。(11)上传周期:数据定时发布间隔时间,默认30S。(12)MQTT数据补传:是否启用掉线数据补传,点击按钮启用。灰色表示:不启用,绿色表示:启用。(13)选择数据点上传:在配置框右边的方框内选择要上传的数据点,默认空白表示全部上传。(14)点击“确定”,确定金鸽MQTT的配置。(15)点击“写入配置”,网关设备重启后,MQTT Client才启用。重新打开配置软件登录设备,可以在基本信息页面可以看到“MQTT Client上线状态”的提示灯是绿色,表示MQTT Client已连接上。最右边显示从机设备在线的状态。

查看和下发数据

二、阿里云

操作步骤:(1)双击“阿里云IoT”弹出阿里云配置框。(2)点击启用按钮,启用阿里云。默认:关闭。灰色表示:不启用,绿色表示:启用。(3)认证方式:选择是密钥连接还是证书连接,默认是密钥连接。(4)地域:选择阿里云地域,默认华东2(上海)。(5)IP:企业版阿里云IP地址,公共版不填写。(6)ProductKey:填写与阿里云设备里面ProductKey一致。(7)DeviceName:填写与阿里云设备里面DeviceNam一致。(8)DeviceSecret:填写与阿里云设备里面DeviceSecret一致。(9)CA证书:启用证书连接时,要选择根证书文件上传。(10)客户端证书:启用证书连接时,要选择客户端证书文件上传。(11)客户端密钥:启用证书连接时,要选择客户端密钥文件上传。(12)上传周期:数据定时发布间隔时间,默认30S。(13)选择数据点上传:在配置框右边的方框内选择要上传的数据点,默认空白表示全部上传。(14)点击“确定”,确定阿里云的配置。(15)点击“写入配置”,网关设备重启后,阿里云才启用。重新打开配置软件登录设备,可以在基本信息页面可以看到“阿里云上线状态”的提示灯是绿色,表示阿里云已连接上。最右边显示从机设备在线的状态。

注:阿里云设备影子功能暂不支持,数据下发要到在线调试里面下发,多个下发暂不支持。

查看和下发数据

三、华为云

操作步骤:(1)双击“华为云IoT”弹出华为云配置框。(2)点击启用按钮,启用华为云。默认:关闭。灰色表示:不启用,绿色表示:启用。(3)认证方式:选择是密钥连接还是证书连接,默认是密钥连接。(4)IP/域名:连接华为云的地址,进入控制台,点击总览,设备接入服务控制台的平台接入地址,可以查看到服务器地址。(5)端口:默认1883,密钥连接填写1883,证书连接填写8883。(6)设备ID:设置与华为云上的设备ID一致。(7)设备密钥:设置与华为云上的密钥一致,在创建设备时,输入的密钥。(8)CA证书:启用证书连接时,要选择根证书文件上传。(9)客户端证书:启用证书连接时,要选择客户端证书文件上传。(10)客户端密钥:启用证书连接时,要选择客户端密钥文件上传。(11)服务ID:设置与华为云上的服务ID一致,创建产品时设置的服务ID。可以设置一个服务ID或多个服务ID。本次示例介绍多个服务ID应用,添加了“FX3U”和“S7_200SMART”服务ID。(12)上传周期:数据定时发布间隔时间,默认30S。(13)数据补传:是否启用掉线数据补传,点击按钮启用。灰色表示:不启用,绿色表示:启用。(14)选择数据点上传:在配置框右边的方框内选择要上传的数据点,默认空白表示全部上传。本示例服务ID“FX3U”选择FX3U设备的数据点上传,服务ID项选择“FX3U”,在右边方框内鼠标右键,弹出数据点框,选择“FX3U”的数据点,如:点击FX3U的数据点Y0,鼠标左键点击不放,鼠标下移到要上传的数据点,点击“确定”,方框内就显示你选择的数据点。选择服务ID“S7_200SMART”,在方框内点击鼠标右键,弹出数据点框,选择数据点,点击“确定”。(15)点击“确定”,确定华为云的配置。(16)点击“写入配置”,网关设备重启后,华为云才启用。重新打开配置软件登录设备,可以在基本信息页面可以看到“华为云上线状态”的提示灯是绿色,表示华为云已连接上。最右边显示从机设备在线的状态。

查看和下发数据

四、亚马逊云

亚马逊云支持多个发布主题,配置与华为云多个服务ID配置原理一致。本示例只介绍单个主题,数据点全部上传配置。

操作步骤:(1)双击“亚马逊IoT”弹出亚马逊云配置框。(2)点击启用按钮,启用亚马逊云。默认:关闭。灰色表示:不启用,绿色表示:启用。(3)IP/域名:填写终端节点,进入控制台,点击“物品”的“交互”查看。(4)端口:8883。(5)物品名称:填写物品的ARN,点击“物品”的“详细信息”查看物品ARN。(6)Client ID:填写账号ID,在用户信息里面查看。(7)CA证书:选择根证书文件上传。(8)客户端证书:选择客户端证书文件上传。(9)客户端密钥:选择客户端密钥文件上传。(10)发布主题:创建规则时创建的主题,MQTT发布报文用到的主题名,点击“添加”填写发布主题名。可以填写多个发布主题,选择发布主题,点击“删除”就可以删除选择的主题。如:在“行动”的“规则”查看到的主题是“iot/topic”,故填写“iot/topic”。

(11)上传周期:数据定时发布间隔时间,默认30S。(12)选择数据点上传:在配置框右边的方框内选择要上传的数据点,默认空白表示全部上传。(13)点击“确定”,确定亚马逊云的配置。(14)点击“写入配置”,网关设备重启后,亚马孙云才启用。重新打开配置软件登录设备,可以在基本信息页面可以看到“亚马逊云上线状态”的提示灯是绿色,表示亚马逊云已连接上。最右边显示从机设备在线的状态。

查看和下发数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/382559.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

修改 Tomcat 默认端口号最简单的方法

前言 每次在创建一个新的Maven项目之后,启动项目总会报8080端口号被占用的问题,既然每次都有这样的困扰,那不如一了百了,直接修改默认的8080端口号。 (如果还是想要默认端口号。可参考我主页文章杀死占用了8080的进程…

CSA笔记4-包/源管理命令以及本地光盘仓库搭建

包/源管理命令 1.rpm是最基础的rmp包的安装命令,需要提前下载相关安装包和依赖包 2.yum/dnf是基于rpm包的自动安装命令,可以自动在仓库中匹配安装软件和依赖包 注意:以上是安装命令,以下是安装源 3.光盘源:是指安装系统时后的…

Pytorch TensorBoard的使用

from torch.utils.tensorboard import SummaryWriter writer SummaryWriter("logs")for i in range(100):writer.add_scalar("yx",i,i) writer.close() 第一个参数 y2x: 这是图表的标题或标签。它会显示在TensorBoard界面中,帮助你识别这条曲线。 第二个参…

【分布式锁】Redission实现分布式锁

接着上一节,我们遇到了超卖的问题,并通过Redis实现分布式锁,进行了解决。本节 我将换一种方式实现分布式锁。 前提: nginx、redis、nacos 模块1: provider-and-consumer 端口 8023 模块2 rabbitmq-consumer 端口 8021 …

opencascade AIS_InteractiveContext源码学习9 obsolete methods

AIS_InteractiveContext 前言 交互上下文(Interactive Context)允许您在一个或多个视图器中管理交互对象的图形行为和选择。类方法使这一操作非常透明。需要记住的是,对于已经被交互上下文识别的交互对象,必须使用上下文方法进行…

CSS3雷达扫描效果

CSS3雷达扫描效果https://www.bootstrapmb.com/item/14840 要创建一个CSS3的雷达扫描效果,我们可以使用CSS的动画(keyframes)和transform属性。以下是一个简单的示例,展示了如何创建一个类似雷达扫描的动画效果: HTM…

使用uniapp开发小程序(基础篇)

本文章只介绍微信小程序的开发流程,如果需要了解其他平台的开发的流程的话,后续根据情况更新相应的文章,也可以根据uniapp官网的链接了解不同平台的开发流程 HBuilderX使用:https://uniapp.dcloud.net.cn/quickstart-hx.html 开发工具 开始…

Go基础编程 - 11 - 函数(func)

接口(interface) 函数1. 函数定义1.1. 函数名1.2. 参数列表1.3. 返回值列表 2. 匿名函数3. 闭包、递归3.1 闭包3.1.1 函数、引用环境3.1.2 闭包的延迟绑定3.1.3 goroutine 的延迟绑定 3.2 递归函数 4. 延迟调用(defer)4.1 defer特…

C++客户端Qt开发——Qt窗口(工具栏)

2.工具栏 使用QToolBar表示工具栏对象&#xff0c;一个窗口可以有多个工具栏&#xff0c;也可以没有&#xff0c;工具栏往往也可以手动移动位置 ①设置工具栏 #include "mainwindow.h" #include "ui_mainwindow.h" #include<QToolBar> #include<…

责任链模式的应用与解析

目录 责任链模式责任链模式结构责任链模式适用场景责任链模式优缺点练手题目题目描述输入描述输出描述题解 责任链模式 责任链模式&#xff0c;亦称职责链模式、命令链&#xff0c;是一种行为设计模式&#xff0c;允许你将请求沿着处理者链进行发送。收到请求后&#xff0c;每…

H3CNE(OSPF动态路由)

7.1 静态路由的缺点与动态路由分类 7.1.1 静态路由的缺点 7.1.2 动态路由的分类 OSPF运行的机制&#xff1a; 1. 每个设备产生LSA后&#xff0c;都会与其他的设备同步LSA&#xff0c;通过OSPF的报文&#xff0c;去发送与接受其他的LSA&#xff0c;最终目的是每个设备都有全网所…

【BUG】已解决:ModuleNotFoundError: No module named ‘requests‘

ModuleNotFoundError: No module named ‘requests‘ 目录 ModuleNotFoundError: No module named ‘requests‘ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&a…

Java面试题(每日更新)

每日五道&#xff01;学会就去面试&#xff01; 本文的宗旨是为读者朋友们整理一份详实而又权威的面试清单&#xff0c;下面一起进入主题吧。 目录 1.概述 2.Java 基础 2.1 JDK 和 JRE 有什么区别&#xff1f; 2.2 和 equals 的区别是什么&#xff1f; 2.3 两个对象的…

【LeetCode】86.分割链表

1. 题目 2. 分析 这题没有太大难度&#xff0c;主要是熟悉代码。 3. 代码 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next class Solution:def partition(self, he…

SQL中的LEFT JOIN、RIGHT JOIN和INNER JOIN

在SQL中&#xff0c;JOIN操作是连接两个或多个数据库表&#xff0c;并根据两个表之间的共同列&#xff08;通常是主键和外键&#xff09;返回数据的重要方法。其中&#xff0c;LEFT JOIN&#xff08;左连接&#xff09;、RIGHT JOIN&#xff08;右连接&#xff09;和INNER JOIN…

windows服务器启动apache失败,提示请通过cmd命令行启动:net start apache

Windows Server 2012 R2服务器突然停止运行apche&#xff0c;启动apache失败&#xff0c;提示请通过cmd命令行启动:net start apache 1.报错截图&#xff1a; 进入服务里输入命令启动也不行&#xff0c;提示由于登录失败而无法启动服务。 2.问题原因&#xff1a; 服务器www用…

Yolo-World网络模型结构及原理分析(三)——RepVL-PAN

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言1. 网络结构2. 特征融合3. 文本引导&#xff08;Text-guided&#xff09;4. 图像池化注意力&#xff08;Image-Pooling Attention&#xff09;5. 区域文本匹配&…

Invalid bound statement (not found)

Invalid bound statement (not found) 首先申明的是这个错误一般是使用mybatis方法没有找到或者参数不匹配等原因造成的&#xff01; 原本项目是使用eclipse运行&#xff0c;导入到idea之后&#xff0c;项目启动就报错 …Invalid bound statement (not found)… 解决办法&#…

下载最新版Anaconda、安装、更换源、配置虚拟环境并在vscode中使用

文章目录 进入官网进入下载页安装更换源配置虚拟环境env安装包requests在vscode中使用虚拟环境 进入官网 https://repo.anaconda.com/ 或进入清华大学下载 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 进入下载页 安装 更换源 查看已经存在的镜像源 bash cond…

【机器学习】Jupyter Notebook如何使用之基本步骤和进阶操作

引言 Jupyter Notebook 是一个交互式计算环境&#xff0c;它允许创建包含代码、文本和可视化内容的文档 文章目录 引言一、基本步骤1.1 启动 Jupyter Notebook1.2 使用 Jupyter Notebook 仪表板1.3 在笔记本中工作1.4 常用快捷键1.5 导出和分享笔记本 二、进阶用法2.1 组织笔…