CR1000X MQTT通讯参数设置
首先需要在DevConfig软件中中设置MQTT Broker的参数,转到Setting Editor->MQTT选项卡。
点击图片查看大图~
MQTT Enable
“MQTT Enable“参数:用于使能MQTT功能,并且可使用TLS加密传输。
Campbell CLOUD Enabled
“Campbell CLOUD Enabled"参数:用于使能Campbell Cloud功能。
MQTT Broker URL
“MQTT Broker URL"参数用于输入MQTT Broker的地址。这里我们使用Mosquitto提供的免费用于测试的服务器地址,在输入框中输入“test.mosquitto.org"。相应的在“Port No"对话框中输入端口号1883。点击“Apply"应用配置更改,可以看到“MQTT State"状态变为“MQTT session established",CR1000X作为客户端已成功与MQTT Broker创建了连接。
MQTT Base Topic
“MQTT Base Topic"对话框用于设置CR1000X发布消息的主题,可用“/“来划分不同的主题级别。这里我们设置为"cs/v1/“。
至此关于MQTT参数设置完成
对于需要发送的数据
需要通过CRBasic编程实现
CRBasic程序提供了多种用于发送数据指令,包括:
MQTTPublish()
MQTTPublishConstTable
MQTTPublishTable()
下面是一段简单的代码,用于展示如何将DataTable中的数据发送到MQTT服务器:
点击图片查看大图~
程序上传到CR1000X后,通过DevConfig软件查看可以看到“MQTT State"对话框变为“Publishing",表明CR1000X数采已经开始向MQTT服务器发布消息。
如何查看CR1000X发送到
MQTT的数据?
可以通过第三方的MQTT客户端软件订阅CR1000X发布的消息。下面我们使用MQTT-Explorer软件来查看数据。
创建与MQTT服务器的连接,输入MQTT服务器的URL和端口号,点击“CONNECT"进行连接。
点击图片查看大图~
可在搜索框中搜索CR1000X发布的主题,快速查找CR1000X发布的数据。
这里我们在搜索框中输入DevConfig软件中设置的“MQTT Base Topic"参数"cs/v1/“,可快速找到CR1000X发布的消息。
点击图片查看大图~
CR1000X发布的消息支持CSIJSON和GeoJSON两种格式,下面是测试过程中的消息范本:
点击图片查看大图~
MQTT优点在于,可以以极少的代码和有限的带宽,为远程连接设备提供可靠的消息服务,作为一种低开销、低带宽占用的及时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT是一种基于客户端-服务器的消息发布/订阅传输协议。
MQTT协议是轻量、简单、开放和易于实现的。遵循发布/订阅的模式,方便消息在设备之间传递,但消息不是直接从发送端送到接收端(即点对点),而是由MQTT Broker(或者叫MQTT服务器)分发的。
MQTT允许用户动态创建主题(不需要预先创建主题),运维成本低;MQTT协议可以把传输量降低以提高传输效率;提供服务质量(quality of service level:QoS)管理;不强制传输数据的类型和格式,保持很高的灵活性。