mqtt订阅(接收)一条消息

支持芯片: ESP32-S3系列
void mqtt_sub(str topic,int qos);
//topic:mqtt消息的topic
//qos:mqtt消息的qos

关于订阅产生的消息事件

mqtt会产生onWIFI32事件,消息编号7;在onWIFI32事件中,可以通过wifi_getinfo函数调用下面参数

编号 内容 返回 描述
0 wifi_m int WIFI事件编号,即app.onWIFI32(int m)中的m,在本函数下m=7
2 msgnum int 消息编号,详见下表
3 p1 int 返回参数1,详见参见下表
4 p2 int 返回参数2,详见参见下表
21 d1 int 消息参数d1,详见对应语句描述
22 d2 int 消息参数d2,详见对应语句描述
23 topic str mqtt消息的topic
24 mqttdata str mqtt消息的数据

其中对于不同的msgnum,各参数定义如下:

msgnum 内容 说明 p1 p2 d1 d2
1 CONNECTED 服务器连接成功 - - - -
2 DISCONNECTED 连接断开 - - - -
3 SUBSCRIBED 订阅消息 msg_id - topic_len data_len
4 UNSUBSCRIBED 退订 msg_id - - -
5 PUBLISHED 发布消息 msg_id - - -
6 DATA 收到消息 msg_id qos topic_len data_len
7 ERROR 出现错误 - - - -

示例

mqtt_init();    //配置文件初始化
mqtt_setv(0,"mqtt://i.a-diy.cn");
mqtt_connect();
mqtt_sub("hello",1);
//......