如何通过 Linovision 网关上的 MQTT 远程控制设备

Tom Yao
Related Product:

描述

当作为嵌入式网络服务器工作时,Linovision LoRaWAN 网关支持将数据包发送到第三方 MQTT/HTTP/HTTPS 服务器或接收下行命令以传输到 LoRaWAN 终端设备。

要求

  • Linovision LoRaWAN 网关:IOT-G56, 物联网-G 63 V1, 物联网-G65, 物联网-G 67, IOT-G 8x(固件版本 80.0.0.64 或更高版本)
  • MQTT 服务器/代理
  • MQTT 客户端工具:以 MQTT Explorer 为例

配置

步骤1.网关连接MQTT代理

参考文章 如何将 LoRaWAN 网关连接到 MQTT 代理?将网关连接到 MQTT 代理并确保代理和 MQTT 客户端可以接收来自设备的上行链路。

步骤2.网关发送下行链路命令

设置网关直接向设备发送下行命令,检查设备是否可以接收下行命令并采取行动。

设备 EUI: 设备 EUI 发送下行命令

类型: 下行命令类型。对于 Linovision 设备,请选择 十六进制 类型。

有效载荷: 下行命令内容(从设备制造商处获取)。 利诺维视 设备,请参考相应用户指南的下行命令内容

港口: 设备的应用程序端口。对于 利诺维视 设备。

确认:开启后,设备收到命令后会回发确认包给网关,若未收到则网关最多重新发送3次下行命令。

注意:对于A类设备,当A类设备发送上行时,网关会将命令添加到队列并发送。

步骤3. 在 MQTT Explorer 上发布 Topic,向设备发送下行数据。

设置下行数据主题,如果需要向特定设备发送MQTT下行数据,请在主题中添加“$deveui”。

例如:/linovision/downlink/$deveui

发布主题格式:

/ linovision /下行链路/[devEUI]

例子 :

从网关,我们可以获取我们想要控制的设备的设备 EUI:

因此我们可以在 MQTT Explorer 上发布一个主题,如下所示:

主题: /linovision/downlink/24e124126a148401

格式: json

内容:

按以下格式发送,并将数据内容替换为下行命令

{"confirmed": true, "fport": 85, "data": "CQEA/w=="}
JavaScript

点击发布后,我们可以进入 网络服务器 > 数据包 检查,若网关成功订阅相应下行主题数据,则会有至少一条灰色的消息包记录。

Linovision 设备命令示例

MQTT下行命令格式固定如下:

 {
 "confirmed" : true , //Set as true or false
 "fport" : 85 , //application port of device 
"data" : "BwAA/w==" //base64格式下行命令
}  
JavaScript

对于 Linovision 设备,单击 这里 将十六进制格式的命令转换为 base64 格式。以下是 利诺维视 控制器常用命令:

模型

命令

命令(十六进制)

命令(base64)

物联网-C50x

将 GPIO1 设置为低

将 GPIO1 设置为高电平

将 GPIO2 设置为低

将 GPIO2 设置为高电平

030000ff

030100ff

040000ff

040100ff

AwAA/w==
AwEA/w==
BAAA/w==
BAEA/w==

物联网-C300

将 DO1 设置为低

将 DO1 设置为高

将 DO2 设置为低

将 DO2 设为高

070000ff

070100ff

080000ff

080100ff

乙丙橡胶/丙丁橡胶==
乙炔气相色谱/气相色谱==
中南大学/w==
中国原子能委员会/w==

IOT-C11xx

将 DO1 设置为低

将 DO1 设置为高

将 DO2 设置为低

将 DO2 设为高

090000ff

090100ff

0a0000ff

0a0100ff

CQAA/w==
CQEA/w==
CgAA/w==
CgEA/w==

- - 结尾 - -