通讯网关软件009——利用CommGate X2MQTT实现MQTT访问ODBC数据源

2023-09-22 10:22:59

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

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

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

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

2. ODBC通讯调试:在网关机上运行ODBC调试工具,与ODBC数据源通讯调试。通讯正常后,记下通讯参数。

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 = ODBC
Type =

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

[IN]
;输入源类型:ODBC,不做修改
Type = ODBC
;ODBC驱动名称
DriverName=
;数据库服务器 IP
ServerIP = 127.0.0.1
; 用户名称
UserName=sa
;用户密码
Pwd=123456
;数据库名称
DB=test
;Port 0表示采用默认端口
port = 0
;连接串,定义连接串,以连接串信息为准,以上用户密码等信息配置忽略
ConnectStr=Provider=MSDASQL.1;Persist Security Info=False;User ID=sa;Data Source=test;pwd=12345;
;读取数据的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)。

更多推荐

关于物联网技术的水电厂电气开关柜测温系统设计应用

摘要:针对洪江水电厂电气开关柜温度无法在线监测的问题,本文提出了一种基于物联网技术的水电厂开关柜温度测量系统。该系统部署简单高效,能快速采集设备温度数据,通过4G或者WiFi无线信号将数据送入物联网云平台,实现开关柜温度远程实时监测,为开关柜状态诊断提供决策依据。此外,该系统解决了人工巡检成本高、数据及时率低、作业风险

PostgreSQL如何支持PL/Python过程语言

瀚高数据库目录环境文档用途详细信息环境系统平台:Linuxx86-64RedHatEnterpriseLinux7版本:10.4文档用途本文档主要介绍PostgreSQL如何支持PL/Python过程语言,如何创建plpython扩展。详细信息一、PostgreSQL支持python语言的前提条件1、本地必须安装pyt

Twitter优化秘籍:置顶、列表、受众增长

在Twitter上,将你的一条推送文置顶到个人数据顶部是提高可见性和吸引关注者的绝佳方式。无论你是个人用户还是企业,此功能都可以让你的重要信息常驻在众人眼前,即使你发布了新的推文。接下来,我们将分享一些优化建议,帮助你合理地使用此功能。1、置顶要点:你可以使用置顶功能来展示人们需要看到的重要信息,比如:限时促销:如果您

C/C++内存管理

文章目录1.C/C++内存分布2.C语言中动态内存管理方式:malloc/calloc/realloc/free3.C++内存管理方式new/delete3.1new/delete操作内置类型3.2new/delete操作自定义类型4.operatornew和operatordelete函数(重点)4.1底层原理5.m

探讨大型公共建筑能耗监测与信息管理系统研究及应用

安科瑞华楠摘要:文章通过阐述大型公共建筑能耗现状,突出大型公共建筑实施节能监管的必要性,并在系统总结运用技术手段实施建筑能耗监测的基础上,介绍了江苏省建筑能耗监测系统研究过程中的技术创新和应用情况。关键词:公共建筑;建筑能耗;监测;节能0前言为随着我国工业化和城市化进程的加速,高速发展的建筑业以及不断扩大的建筑规模使得

短视频视频制作矩阵剪辑系统---源码,源代码独立搭建

短视频矩阵系统源码开发源代码搭建1,短视频矩阵系统需要的技术和知识1..数据库技术:抖音SEO系统需要处理海量的数据,需要使用高效、安全的数据库技术,如MySQL、MongoDB等,进行数据存储和管理。2.分布式系统架构:抖音SEO系统需要具备高可靠性、高性能、高容错性等特点,需要使用分布式系统架构进行设计和搭建。3.

【C++】C++11——可变参数模板和emplace

可变参数模板的定义方式可变参数模板的传值计算可变参数模板参数个数参数包展开方式递归展开参数包逗号表达式展开参数包emplace插入可变参数模板是C++11新增的最强大的特性之一,它对参数高度泛化,能够让我们创建可以接受可变参数的函数模板和类模板。在C++11之前,类模板和函数模板中只能包含固定数量的模板参数,可变模板参

创龙TL6678F开发板: 实现FPGA与DSP之间 SRIO(3.125Gbps, 4x)通信

创龙TL6678F开发板官方Demo:SRIO_AD9613实现了FPGA和DSP之间的SRIO通信,SRIO的速率为5Gbps.在FPGA端,srio_gen_2模块的参考时钟为125MHz.而Demo:udp_10g_echo实现了10G以太网通信,ten_gig_eth_pcs_pma模块的参考时钟为156.25

软件测试/测试开发丨​利用ChatGPT编写测试用例

点此获取更多相关资料简介测试用例是测试人员的核心工作内容,是测试人员思想的“实现类”,其充分体现了测试的思路,可以为后续的测试行为提供指导,是测试人员了解业务的重要根据和质量之根本。如果测试用例设计得不完成,出现了遗漏,那么通常是会出现大家不想看到的后果,如漏测、线上Bug不断等。——引用自《饿了么质量体系搭建实战》一

入职环境安装经验

Java程序员跳槽新入职一家新的公司,不可避免的第一天要开始给自己的Mac安装环境;有些刚从培训机构出来的小白就不清楚要安装哪些,安装的过程总会出现这样那样的问题。这里根据本人6年的开发生涯和几次跳槽的经验。总结出一套共用的装机策略。1.ideaorEclipse这里推荐idea,现在破解版的码貌似不太好搞,先装一个试

Spring Boot 版本 GA、RC、beta等含义

GAGeneralAvailability,正式发布的版本,官方开始推荐广泛使用,国外有的用GA来表示release版本。RELEASE正式发布版,官方推荐使用的版本,有的用GA来表示。比如spring。Stable稳定版,开源软件有的会用stable来表示正式发布的版本。比如Nginx。Final最终版,也是正式发布

热文推荐