Col_TaiLi_MQTT
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。
该驱动为基于MQTT通讯方式的采集驱动,可以解析下述示例数据包中的数据。
示例主题:
iot-2/evt/wadata/fmt/JYYL_YH01
示例格式化内容:
{ "d": { "YH01": { "Val": { "001JZ05_YQ_YQNDZ": 20.7, "001JZ05_YYHT_YYHTNDZ": 0, "001JZ05_LHQ_LHQNDZ": 0, "001JZ05_EYHL_EYHLNDZ": 0, "001JZ05_WSD_SDZ": 0, "001JZ05_WSD_WDZ": 0, "001JZ05_SJ_SJZ": 0, "001JZ05_YG_YGZ": 0 } } }, "ts": "2019-11-04T18:53:22+0800" }
一、通道配置
1.1 通讯配置
无默认通讯参数设置,需根据实际通讯配置进行通道选择和设置。
串行通讯需要在Serial通道下选择此驱动进行通道配置。
网络通讯需要在Net下建立链接通道选择此驱动进行通道配置。
1.2 驱动属性配置
参数 | 说明 |
---|---|
ClientID | 可为空。填写MQTT的设备客户端ID 弃用 发现使用固定的ClientID有时收不到反馈的报文通讯不正常 |
Username | 平台给网关分配的用户名 |
Password | 平台给网关分配的密码 |
hostName | 平台物联网云平台的地址 |
Port | 平台物联网云平台的端口号 |
Version | 平台物联网云平台使用的MQTT协议均为3.1或3.1.1版本 |
QOS subscribe | 订阅的消息质量为QoS1 |
QOS published | 发布的消息质量为QoS1 |
KeepAlive(s) | 心跳设定。通过KeepAlive参数设置保活周期,取值范围为10~300,默认为30s |
cleanSession | 0 —— 开启会话重用机制。网络断开重连后,恢复之前的Session信息。需要客户端和服务器有相关Session持久化机制。 1 —— 关闭会话重用机制。每次Connect都是一个新Session,会话仅持续和网络连接同样长的时间。 |
二、设备配置
2.1 基本信息
参数 | 说明 |
---|---|
订阅Topic | 订阅的Topic,即订阅的主题 |
2.2 点表组 配置采集点表
参数 | 说明 |
---|---|
采集点名 | 会按照"变量名"和通道自动生成 |
变量名 | 变量名 |
变量描述 | 变量描述 |
变量编号 | 变量编号 |
m1(指标1名称) | 为d的子节点名,为上述报文中的"YH01" |
m2(指标2名称) | 为Val的子节点名,为上述报文中的"001JZ05_YQ_YQNDZ"、"001JZ05_YYHT_YYHTNDZ"等 |