通过AT命令向MyMqttHub发送数据

时间:2020-08-13 00:45:01

标签: tcp mqtt at-command esp32 esp-idf

我一直在编码一个AT客户端,使用ESP32 S2作为主机,并使用Nimbelink的Skywire Nano(nrf9160)作为由Serial AT Commands控制的LTE调制解调器。LTE模块反应灵敏,并且运行良好。 LTE调制解调器具有一个内部TCP堆栈,我们曾使用它成功地通过HTTP POST将数据发送到dweet.io,但我们并没有成功地将数据发送到私有MQTT服务器。

LTE模块使用一种称为Socket Dials(套接字拨号)的方法,这些是有助于将数据发送到Web的AT命令,它基本上包含以下三个命令:

  • AT#SOCKET激活套接字
  • AT#TCPCONN以连接到URL

示例:

at#xtcpconn=3,"node02.myqtthub.com",1883
  • AT#TCPSEND会打开一个> promt,您可以在其中输入要发送的内容

我不是通信协议专家,所以找到正确的字符串发送方式有点困难,因为我还没有找到使用TCP套接字的类似示例。我已经尝试成功发送mosquitto_pub字符串,并且nimbelink仅提供了一个使用HTTP的示例,我希望有人可以对此提供帮助,或者至少向正确的方向发送。

at#xsocket = 3,1,1 #XSOCKET:3,6 好 at#xtcpconn = 3,“ node02.myqtthub.com”,1883 #XTCPCONN:1 好 at#xtcpsend = 3

mosquitto_pub -h node02.myqtthub.com -i集线器-u用户-P'密码'-t主题-m“ hello world” #XTCPSEND:104

好 袜子:3,HUP

编辑:添加了尝试的LTE日志

0 个答案:

没有答案