MQTT

 

  • 建立标准mqtt连接
  • 订阅一个topic
  • 取消已经订阅的Topic
  • 发布消息
  • 重新连接mqtt
  • 断开mqtt连接
  • Topic接收到消息 

 

建立标准mqtt连接

建立mqtt连接。

请求方式:

"|4|1|1|host|port|iotid|iotpwd|\r"

参数:

host

port mqtt连接的端口

iotid 物联网账号

iotpwd 物联网账号密码

返回值:

"|4|1|1|1|\r" mqtt连接状态:连接成功

"|4|1|1|2|reason|\r" mqtt连接状态:连接失败,字符串reason表示失败的原因

Arduino样例:

softSerial.print("|4|1|1|iot.dfrobot.com.cn|1883|Skv3zKyNb|r1lD3ztJ4b|\r");

 

订阅一个topic

物联网有很多设备,通过订阅设备的topic可以监听物联网设备接收到的消息。

请求方式:

"|4|1|2|topic|\r"

参数:

topic 设置订阅的topic,获取设备topic可参考教程

返回值:

"|4|1|2|1|\r" 订阅成功

"|4|1|2|2|1|\r" topic订阅达到上限(一个OBLOQ最多订阅5个topic),订阅失败

"|4|1|2|2|2|\r" topic订阅失败

Arduino样例:

softSerial.print("|4|1|2|BJpHJt1VW|\r");

 

取消已经订阅的Topic

一个OBLOQ最多同时订阅5个topic,可以对已经订阅的topic进行取消订阅。

请求方式:

"|4|1|6|topic|\r"

参数:

topic 取消订阅的topic,获取设备topic可参考教程

返回值:

"|4|1|6|1|\r" 取消订阅成功

"|4|1|6|2|2|\r"取消订阅失败

"|4|1|6|2|1|\r" topic不存在,取消订阅失败

Arduino样例:

softSerial.print("|4|1|6|BJpHJt1VW|\r");

 

发布消息

物联网有很多设备,通过这条指令可以向某个特定的物联网设备发送特定的消息内容。

请求方式:

"|4|1|3|topic|message|"

参数:

topic 设置订阅的topic,获取设备topic可参考教程

message 发布消息的内容

返回值:

"|4|1|3|1|\r" 消息发送成功

"|4|1|3|2|\r" 消息发送失败

Arduino样例:

softSerial.print("|4|1|3|BJpHJt1VW|hello|\r");

 

重新连接mqtt

重新建立mqtt连接,前提是必须已经通过Iot_id,Iot_pwd建立过一次mqtt连接。

请求方式:

"|4|1|5|\r"

返回值:

"|4|1|1|1|\r" mqtt连接状态:连接成功

"|4|1|1|2|reason|\r" mqtt连接状态:连接失败,字符串reason表示失败的原因

Arduino样例:

softSerial.print("|4|1|5|\r");

 

断开mqtt连接

断开mqtt连接,前提是必须已经通过Iot_id,Iot_pwd建立过一次mqtt连接。

请求方式:

"|4|1|4|\r"

返回值:

"|4|1|4|1|\r" 断开成功

"|4|1|4|2|\r" 断开失败

Arduino样例:

softSerial.print("|4|1|4|\r");

 

Topic接收到消息

当订阅的topic接收到消息后,会返回接收到的消息数据。

请求方式:

返回值:

"|4|1|5|topic|message|\r" 返回接收到的消息

参数

topic 返回消息的topic

message 返回的消息内容

 

希望对你有帮助。