通讯网关软件022——利用CommGate X2MQTT实现MQTT访问MSSQL服务器

news2024/10/6 2:29:12

本文介绍利用CommGate X2MQTT实现MQTT访问MS SQL数据库。CommGate X2MQTT是宁波科安网信开发的网关软件,软件可以登录到网信智汇(http://wangxinzhihui.com)下载。

【案例】如下图所示,实现上位机通过MQTT来获取MS SQL数据库的数据。

【解决方案】设置网关机,与MS SQL采用以太网通讯,与MQTT Broker Server采用以太网通讯,安装CommGate X2MQTT软件。

  1. MS SQL数据表结构要求:

  • 至少要求具备name、value二个字段。
  • name:标签名称,字符类型
  • value:数值,可以是字符类型或浮点类型
  • state:不是必须的,整型类型,1表示好值 0表示坏值
  • time:不是必须,可以是datetime或bigint
  • 以上字段名称如不是name、value、state、time,需要在以下配置文件进行字段名称的配置

2. MS SQL通讯调试:在网关机上运行MS SQL调试工具,与MS SQL服务器通讯调试。通讯正常后,记下通讯参数。

3. MQTT通讯调试:在网关机上运行MQTT调试工具,与MQTT Broker Server通讯调试。通讯正常后,记下通讯参数。

4. 配置X2MQTT 出口端参数:在X2MQTT安装目录Ini下编辑X2MQTT.ini,修改出口端参数。

[OUT]
;通讯类型MQTT,不做修改
Type = MQTT

;MQTT Broker服务器IP
ServerIP =

;MQTT Broker服务器端口
Port = 1883

;用户ID,可以随意设置
ClientID =

;认证用户
UserName =

;认证密码
Password = 

;消息话题
Topic = Values

;QOS   0: 最多一次传递,数据可能丢失  1:最少一次传递,数据可能重复 2:恰好一次传递,数据不会重复
QOS = 1

;保持激活的间隔时间,单位s,最小值为10s
KeepAliveInterval = 20

;默认为1。如果设置为1,代表客户端请求删除与代理关联的会话状态。如果设置为0,代表在断开连接后保留会话状态,以便下一次连接时恢复。
CleanSession = 1

;默认为1。如果设置为1,需要发送完一条消息才能发送下一条。如果设置为0,飞行中的消息最多可达10条
Reliable = 1

;连接超时时间,单位s
ConnectTimeout
 = 10

;尝试重连的时间,单位s
RetryInterval = 10

;发送超时时间,单位s
SendTimeout
 = 10

;1次发送标签数,取值10-1000
SendTagsOnce = 1000

[IN]
;输入端配置文件名,不含后缀
INI = Mssql

Type =

5. 配置X2MQTT 入口端参数:在X2MQTT安装目录Ini下编辑Mssql.ini,按照刚才记下的通讯参数修改入口端参数。

[IN]

;输入源类型:MS SQL Server,不做修改
Type=MS_SQL

;SQL Server IP
ServerIP=127.0.0.1

;SQL Server用户
UserName=sa

;用户密码
Pwd=123456

;数据库名称
DB=test

;Port 0表示采用默认端口
port = 0

;连接串,定义连接串,以连接串信息为准,以上用户密码等信息配置忽略
ConnectStr=Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=123456;Initial Catalog=test;Data Source=127.0.0.1

;读取数据的SQL语句,如果不设置的话,将由以下字段名自动构造
;表中至少包含name,value字段
;state字段不是必须的,没有state字段时,必须构造1个虚拟state字段,如select name, value, 1 as state from snapshot
;State值 = 1 好值  =0 坏值

ReadSQL=select name, value, state, time from snapshot

;定义Name字段名,默认为name
NameField = name

;定义Value字段名,默认为value
ValueField = value

;定义State字段名,默认为state
StateField = state

;定义Time字段名,可以不定义,默认为空,表示没有Time字段
TimeField = time

6. 标签配置:在X2MQTT安装目录下编辑X2MQTT.xls,配置标签。

7. 运行X2MQTT.exe,启动网关。

8. 用MQTT Subscrible连接MQTT Broker服务器,确认数据是否正确。

9. 详细配置说明见《X2MQTT V4使用手册》。

更多通信资源请登录网信智汇(http://wangxinzhihui.com)。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

EDUSRC-记某擎未授权与sql注入

目录 360天擎 - 未授权与sql注入 信息收集 FOFA语法 鹰图搜索 360天擎未授权访问 - 数据库信息泄露 漏洞复现 修复方案 360天擎终端安全管理系统ccid处SQL注入 漏洞复现 手动测试方法 修复方案 360天擎 - 未授权与sql注入 通常访问的页面如下,存在登录框…

Vue2 router详解

vue2 router详解 一、前端路由的概念与原理1. 什么是路由2. SPA与前端路由3. 什么是前端路由4. 前端路由的工作方式5. 实现简易的前端路由 二、vue-router的基本用法1. 什么是 vue-router2. vue-router 安装和配置的步骤2.2 创建路由模块2.3 导入并挂载路由模块2.4 声明路由链接…

怎么把人声和BGM分开?只想要人声部分~

当我们在听一段人声和背景音混合在一起的视频时,会因为周围环境比较嘈杂就很难听清音频了,这时,我们可以利用音分轨人声分离软件来搞定,快速提取人声部分! 第一步:打开【音分轨】APP,进入首页点…

Remix 开发小技巧

文章目录 请求搜索参数重定向进行服务器端分页从 URL 读取查询参数不要覆盖其他查询参数使用提交按钮而不是链接向按钮添加标签 Loaders & Actions 中中止异步调用全局类型及类型安全 请求搜索参数重定向 假设您要确保始终设置特定的搜索参数。为此,您可以首先…

MyBatis基础之结果集映射

基本概念 [!danger] 注意 配置结果集映射,只用看 SQL 执行结果,不看 SQL 语句! 在前面的内容中,由于我们的 PO 类的属性名与数据库中表的列名是一致的,因此,在 Mapper.xml 配置文件中,Mybatis 省…

对paddleOCR中的字符识别模型转ONNX

对paddle OCR中的模型转换成ONNX。 转换代码: import os import sys import yaml import numpy as np import cv2 import argparse import paddle from paddle import nnfrom argparse import ArgumentParser, RawDescriptionHelpFormatter import paddle.distribu…

没有执行力,一切都是空谈!如何提高执行力

决定人生高度的并非空谈,而是实干,没有执行力一切都是零。 执行力对于达成目标至关重要。即使将目标细分拆解得再细致,若无法切实执行,一切仍然是徒劳。 一旦制定目标,必须进行层层细分的拆解,包括每日的…

信钰证券:汇金增持提振市场情绪 保险、银行等板块集体拉升

12日,两市股指盘中全线走高,沪指一度克复3100点,上证50指数涨超1%。 稳妥、银行、券商板块团体拉升,到发稿,银行板块方面,瑞丰银行涨约6%,盘中一度涨停;紫金银行、渝农银行、西安银…

Python获取本机IP地址的几种方式~转

Python获取本机IP地址的几种方式 目录 1、使用专用网址 2、使用自带socket库 3、使用第三方netifaces库 1、使用专用网站 获取的是公网IP。 网址: http://myip.ipip.net 代码: import requests res requests.get(https://myip.ipip.net, timeout5)…

【C++】C++11 —— 右值引用和移动语义

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:C学习 🎯长路漫漫浩浩,万事皆有期待 上一篇博客:【C】C11…

Java网络编程1

Java网络编程1 网络相关概念 把java网络编程的基础知识学习完之后,我们才会更加了解那些高性能的网络框架像neety它为什么要这样设计?才能把知识掌握的更加清晰。 网络通信 1)概念:两台设备之间,通过网络&#xff0c…

2023年中国车用磁传感器市场发展趋势分析:未来市场规模将保持较高速增长趋势[图]

磁传感器是把磁场、电流、应力应变、温度、光等外界因素引起敏感元件磁性能变化转换成电信号,以这种方式来检测相应物理量的器件。磁传感器广泛用于现代工业和电子产品中以感应磁场强度来测量电流、位置、方向等物理参数。在现有技术中,有许多不同类型的…

最新科技喜报!统一图像和文字生成的MiniGPT-5来了!

原创 | 文 BFT机器人 当前视觉和语言模型的应用非常广泛,包括多模态对话代理、先进的内容创作工具等。这些模型的多模态特征集成不仅是一种发展趋势,更是一项关键的进步,正在塑造着各种应用程序。 那如何在视觉和语言之间建立有效的联系&…

Matlab地理信息绘图—数据诊断

文章目录 数据诊断分析(均值方差)Matlab代码实现结果展示 数据诊断分析(均值方差) 均值方差检测是一种简单但有效的异常检测方法,主要基于样本的均值和方差的统计信息。该方法的核心思想是假设正常的样本点应该聚集在…

用Cmake快速生成vs工程

文章目录 1 安装cmake2 生成vs工程 1 安装cmake 官方网址: https://cmake.org/download/ 打开官网,根据自己需求下载所需文件。(本人是安装在Windows10-x64平台上,所以下文步骤均基于此平台) 下载好后,双…

大数据之Hudi数据湖_基本概念_时间轴_TimeLine---大数据之Hudi数据湖工作笔记0005

然后看一下hudi的,时间轴概念,很简单了,就是之前说的时间旅行,其实就是 比如在某个时间点,记录,这个时间点做了什么,就是这个意思 然后像回去看看的时候,可以找到这个时间点做了什么 一个时间点就是一个Instant (时刻 瞬间的意思) 可以看到时刻的解释 instant 时刻instant包…

【信创】 JED on 鲲鹏(ARM) 调优步骤与成果 | 京东云技术团队

项目背景 基于国家对信创项目的大力推进,为了自主可控的技术发展,基础组件将逐步由国产组件替代,因此从数据库入手,将弹性库JED部署在 国产华为鲲鹏机器上(基于ARM架构)进行调优,与Intel (X86)进行性能对比。 物理机…

基于全息感知的智慧高速IT设施监控运维方案

作为智能交通的重要细分领域,建设智慧高速是实施交通强国战略的重要基础。在信息化时代,交通行业已经依托信息化建设取得了显著的成果,其中以收费网络、办公网络、监控网络和通讯网络为基础的网络架构已经形成,并且正在逐步完善网…

Nginx proxy_set_header参数设置

一、不设置 proxy_set_header Host 不设置 proxy_set_header Host 时,浏览器直接访问 nginx,获取到的 Host 是 proxy_pass 后面的值,即 $proxy_host 的值,参考Module ngx_http_proxy_module 1 2 3 4 5 6 7 8 # cat ngx_header.c…

NIO基础-ByteBuffer,Channel

文章目录 1. 三大组件1.1 Channel1.2 Buffer1.2 Selector 2.ByteBuffer2.1 ByteBuffer 正确使用姿势2.2 ByteBuffer 结构2.3 ByteBuffer 常见方法分配空间向 buffer 写入数据从 buffer 读取数据mark 和 reset字符串与 ByteBuffer 互转分散度集中写byteBuffer黏包半包 3. 文件编…