【问题标题】:error when publish data to aws IoT using BG96 and MQTT protocol使用 BG96 和 MQTT 协议将数据发布到 aws IoT 时出错
【发布时间】:2019-08-13 14:11:56
【问题描述】:

我正在尝试使用 BG96(使用 AT 命令的 NB-IoT 设备)将我的数据发布到亚马逊网络服务 我正在关注官方文档(Quectel) 所以我配置 SSL 参数(使用命令:at+ qsslcfg=...)并成功启动 MQTT SSL 连接(AT+QMTOPEN=...)但是当我尝试连接到 MQTT 服务器时(AT+QMTCONN=...) , 连接立即关闭 请帮忙,我该如何解决这个问题并将我的数据发布到亚马逊网络服务?

AT+QSSLCFG="ciphersuite",1,0x0035
OK
AT+QSSLCFG="sslversion",1,3
OK
AT+QSSLCFG="cacert",1,"ufs:cacert.pem"
OK
AT+QSSLCFG="clientcert",1,"ufs:clientcert.pem"
OK
AT+QSSLCFG="clientkey",1,"ufs:clientkey.pem"
OK
AT+QSSLCFG="seclevel",1,2
OK
AT+QSSLCFG="negotiatetime",1,300
OK
AT+QSSLCFG="ignorelocaltime",1,0
OK
//Configure MQTT session into SSL mode. 
AT+QMTCFG=”SSL”, 0, 1, 1
//Start MQTT SSL connection 
AT+QMTOPEN=0, "a2xxxxxxxxxzxx.iot.us-east-1.amazonaws.com",”8883”
OK // ok 
+QMTOPEN: 0,0 // means the connction is starts succsesfully 
//Connect to MQTT server
AT+QMTCONN=0,"bg96"
ok
+QMTSTAT 0,1 //but this message means that the connection is closed 

【问题讨论】:

  • 您使用的是 2G、LTE-M1 还是 NB-IoT?如果 NB,那么这可能是支持某些协议的问题。
  • 我正在使用 NB-Iot
  • NB-IoT 不支持 MQTT ??

标签: amazon-web-services ssl mqtt quectel nb-iot


【解决方案1】:

我在 BG96 上遇到了同样的问题,MQTTS 在端口 8883 上。 根据 AT MQTT 手册,我使用此调制解调器的解决方案是强制 MQTT 版本为“v4”。因此,在你的 AT+QMTCFG="SSL", 0, 1, 1 之后,尝试使用 AT+QMTCFG="version",0,4,然后打开连接并进行身份验证。

【讨论】:

    【解决方案2】:

    我找到了解决办法, 我的问题是我应该创建一个策略以允许连接到 aws 并将此策略附加到我创建的东西上, 如果使用 nb-iot,那么我们应该将 DNS 地址配置为 Google 公共 DNS:8.8.8.8 和 8.8.4.4 当然也可以用心发出所有命令来更新证书、配置 ssl 上下文、激活 tcp 上下文,最后打开 mqtt 连接并连接到发布或订阅主题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-24
      • 1970-01-01
      • 2022-06-12
      • 2016-05-22
      • 2017-02-22
      • 1970-01-01
      • 2017-03-04
      • 2021-05-03
      相关资源
      最近更新 更多