34 #ifndef _AIOT_MQTT_API_H_    35 #define _AIOT_MQTT_API_H_    37 #if defined(__cplusplus)   127 #define USER_PROPERTY_MAX    (20)   780 int32_t 
aiot_mqtt_setopt(
void *handle, aiot_mqtt_option_t option, 
void *data);
   897 int32_t 
aiot_mqtt_pub(
void *handle, 
char *topic, uint8_t *payload, uint32_t payload_len, uint8_t qos);
  1014 int32_t 
aiot_mqtt_pub_with_prop(
void *handle, 
char *topic, uint8_t *payload, uint32_t payload_len, uint8_t qos,
  1079 #if defined(__cplusplus) int32_t aiot_mqtt_connect(void *handle)
与MQTT服务器建立连接 
Definition: aiot_mqtt_api.c:2801
 
设备的product key, 可从阿里云物联网平台控制台获取 
Definition: aiot_mqtt_api.h:423
 
uint8_t * assigned_clientid
Definition: aiot_mqtt_api.h:135
 
uint32_t max_packet_size
Definition: aiot_mqtt_api.h:136
 
int32_t aiot_mqtt_recv(void *handle)
尝试从网络上接收MQTT报文 
Definition: aiot_mqtt_api.c:3565
 
uint16_t packet_id
Definition: aiot_mqtt_api.h:233
 
uint8_t qos
Definition: aiot_mqtt_api.h:220
 
uint32_t message_expire_interval
Definition: aiot_mqtt_api.h:148
 
char * topic
Definition: aiot_mqtt_api.h:221
 
设备的device name, 可从阿里云物联网平台控制台获取 
Definition: aiot_mqtt_api.h:432
 
使用自定义连接凭据连接mqtt服务器时, 凭据的clientid 
Definition: aiot_mqtt_api.h:490
 
设备连接阿里云物联网平台时的安全模式, 使用标准的tcp或tls时无需配置 
Definition: aiot_mqtt_api.h:463
 
uint16_t topic_alias_max
Definition: aiot_mqtt_api.h:134
 
uint8_t * payload
Definition: aiot_mqtt_api.h:223
 
len_value_t key
Definition: aiot_mqtt_api.h:122
 
int32_t aiot_mqtt_setopt(void *handle, aiot_mqtt_option_t option, void *data)
设置mqtt参数 
Definition: aiot_mqtt_api.c:2479
 
aiot_mqtt_recv_handler_t handler
Definition: aiot_mqtt_api.h:346
 
void(* aiot_mqtt_recv_handler_t)(void *handle, const aiot_mqtt_recv_t *packet, void *userdata)
MQTT报文接收回调函数原型 
Definition: aiot_mqtt_api.h:275
 
pub_property_t * pub_prop
Definition: aiot_mqtt_api.h:225
 
#define USER_PROPERTY_MAX
Definition: aiot_mqtt_api.h:127
 
当MQTT实例断开网络连接后重连成功时, 触发此事件 
Definition: aiot_mqtt_api.h:288
 
int32_t aiot_mqtt_connect_with_prop(void *handle, conn_property_t *conn_prop)
与MQTT服务器建立连接. 以MQTT 5.0协议的方式接入, 支持5.0的特性. 在调用这个接口前, 需要确保已经通过AIOT...
Definition: aiot_mqtt_api.c:2806
 
当MQTT实例断开网络连接时, 触发此事件 
Definition: aiot_mqtt_api.h:292
 
MQTT 服务器的端口号 
Definition: aiot_mqtt_api.h:414
 
aiot_mqtt_recv_type_t type
MQTT报文类型, 更多信息请参考aiot_mqtt_recv_type_t. 
Definition: aiot_mqtt_api.h:211
 
len_value_t value
Definition: aiot_mqtt_api.h:123
 
int32_t res
Definition: aiot_mqtt_api.h:231
 
len_value_t correlation_data
Definition: aiot_mqtt_api.h:151
 
int32_t aiot_mqtt_sub(void *handle, char *topic, aiot_mqtt_recv_handler_t handler, uint8_t qos, void *userdata)
发送一条mqtt SUBSCRIBE报文到MQTT服务器, 用于订阅指定的topic 
Definition: aiot_mqtt_api.c:3463
 
在publish消息的topic上附加请求ID字符串, 用于全链路日志追踪 
Definition: aiot_mqtt_api.h:679
 
设置MQTT 协议的版本号 
Definition: aiot_mqtt_api.h:705
 
aiot_mqtt_recv_type_t
MQTT报文类型 
Definition: aiot_mqtt_api.h:50
 
使用 aiot_mqtt_setopt 配置 AIOT_MQTTOPT_APPEND_TOPIC_MAP 时的数据 
Definition: aiot_mqtt_api.h:344
 
uint8_t max_qos
Definition: aiot_mqtt_api.h:133
 
QoS1消息重发间隔 
Definition: aiot_mqtt_api.h:615
 
uint8_t shared_subscription_available
Definition: aiot_mqtt_api.h:140
 
int32_t aiot_mqtt_heartbeat(void *handle)
发送MQTT PINGREQ报文, 用于维持心跳 
Definition: aiot_mqtt_api.c:2861
 
设备连接阿里云物联网平台时的扩展clientid 
Definition: aiot_mqtt_api.h:454
 
MQTT 5.0协议中, 上行的disconnect报文中的属性. 
Definition: aiot_mqtt_api.h:177
 
从MQTT服务器收取的数据从此默认回调函数进行通知 
Definition: aiot_mqtt_api.h:641
 
aiot_mqtt_event_type_t type
MQTT内部事件类型. 更多信息请参考aiot_mqtt_event_type_t. 
Definition: aiot_mqtt_api.h:314
 
MQTT CONACK报文 
Definition: aiot_mqtt_api.h:79
 
aiot_mqtt_event_type_t
MQTT内部事件类型 
Definition: aiot_mqtt_api.h:280
 
Definition: aiot_mqtt_api.h:207
 
MQTT发送数据时, 在协议栈花费的最长时间 
Definition: aiot_mqtt_api.h:594
 
设备的device secret, 可从阿里云物联网平台控制台获取 
Definition: aiot_mqtt_api.h:441
 
uint16_t topic_len
Definition: aiot_mqtt_api.h:222
 
MQTT 服务器的域名地址或者ip地址 
Definition: aiot_mqtt_api.h:399
 
配置MQTT PINGREQ报文发送时间间隔. (心跳发送间隔) 
Definition: aiot_mqtt_api.h:558
 
MQTT实例网络连接由于网络故障而断开 
Definition: aiot_mqtt_api.h:299
 
Definition: aiot_mqtt_api.h:733
 
int32_t aiot_mqtt_disconnect(void *handle)
与MQTT服务器断开连接 
Definition: aiot_mqtt_api.c:2825
 
uint16_t server_receive_max
Definition: aiot_mqtt_api.h:137
 
当MQTT实例第一次连接网络成功时, 触发此事件 
Definition: aiot_mqtt_api.h:284
 
MQTT建联时, 网络使用的安全凭据 
Definition: aiot_mqtt_api.h:537
 
使用自定义连接凭据连接mqtt服务器时, 凭据的password 
Definition: aiot_mqtt_api.h:481
 
MQTT 5.0协议中用户属性 
Definition: aiot_mqtt_api.h:121
 
int32_t aiot_mqtt_pub_with_prop(void *handle, char *topic, uint8_t *payload, uint32_t payload_len, uint8_t qos, pub_property_t *pub_prop)
发送一条PUBLISH报文到MQTT服务器, QoS为0, 用于发布指定的消息 以MQTT 5.0协议的方式接入, 支持5.0的特性. 在调用这个接口前, 需要确保已经通过AIOT_MQTTOPT_VERSION的方式, 设置过版本号为AIOT_MQTT_VERSION_5_0 
Definition: aiot_mqtt_api.c:3377
 
MQTT实例网络连接由于心跳丢失超过指定次数(AIOT_MQTTOPT_HEARTBEAT_MAX_LOST )而断开 
Definition: aiot_mqtt_api.h:303
 
MQTT SERVER DISCONNECT报文 
Definition: aiot_mqtt_api.h:84
 
int32_t aiot_mqtt_process(void *handle)
此函数用于处理定时心跳发送和qos1消息的重传逻辑 
Definition: aiot_mqtt_api.c:2872
 
aiot_mqtt_disconnect_event_type_t
Definition: aiot_mqtt_api.h:295
 
MQTT PINGRESP报文 
Definition: aiot_mqtt_api.h:59
 
uint16_t topic_alias_max
Definition: aiot_mqtt_api.h:164
 
配置MQTT PINGRESP报文允许连续丢失的最大次数, 当超过这个次数时, 触发重连机制 
Definition: aiot_mqtt_api.h:567
 
MQTT 5.0特性. 设置是否要使能assigned clentid功能 
Definition: aiot_mqtt_api.h:718
 
MQTT客户端内部发生的事件会从此回调函数进行通知, 如上线/断线/重新上线 
Definition: aiot_mqtt_api.h:650
 
Definition: aiot_mqtt_api.h:97
 
可在MQTT建立连接之前配置MQTT topic与其对应的回调函数 
Definition: aiot_mqtt_api.h:659
 
MQTT内部事件 
Definition: aiot_mqtt_api.h:309
 
uint8_t * value
Definition: aiot_mqtt_api.h:110
 
void * aiot_mqtt_init(void)
初始化mqtt实例并设置默认参数 
Definition: aiot_mqtt_api.c:2415
 
uint16_t len
Definition: aiot_mqtt_api.h:109
 
MQTT PUBACK报文 
Definition: aiot_mqtt_api.h:74
 
打开/关闭MQTT重连机制 
Definition: aiot_mqtt_api.h:576
 
connack_property_t prop
Definition: aiot_mqtt_api.h:253
 
aiot_mqtt_disconnect_event_type_t disconnect
MQTT连接断开时, 具体的断开原因 
Definition: aiot_mqtt_api.h:322
 
MQTT 5.0协议中, 上行的connect报文中的属性. 
Definition: aiot_mqtt_api.h:163
 
MQTT建联时, 建立网络连接的超时时间 
Definition: aiot_mqtt_api.h:549
 
Definition: aiot_mqtt_api.h:98
 
uint8_t subscription_identifier_available
Definition: aiot_mqtt_api.h:139
 
len_value_t * reason_string
Definition: aiot_mqtt_api.h:178
 
uint8_t reason_code
Definition: aiot_mqtt_api.h:252
 
使用自定义连接凭据连接mqtt服务器时, 凭据的username 
Definition: aiot_mqtt_api.h:472
 
当由于心跳丢失或者网络断开触发重连机制时, 尝试重连的时间间隔 
Definition: aiot_mqtt_api.h:585
 
len_value_t response_topic
Definition: aiot_mqtt_api.h:150
 
char * topic
Definition: aiot_mqtt_api.h:345
 
取消之前建立的MQTT topic与其回调函数的对应关系 
Definition: aiot_mqtt_api.h:668
 
value-length 结构体. 
Definition: aiot_mqtt_api.h:108
 
MQTT 5.0特性. 设置是否要使能设备端流控功能 
Definition: aiot_mqtt_api.h:731
 
MQTT PUBLISH报文 
Definition: aiot_mqtt_api.h:54
 
uint16_t client_receive_max
Definition: aiot_mqtt_api.h:165
 
MQTT SUBACK报文 
Definition: aiot_mqtt_api.h:64
 
aiot_mqtt_option_t
aiot_mqtt_setopt 函数的option参数. 对于下文每一个选项中的数据类型, 指的是aiot_mqtt_setopt 中的data参...
Definition: aiot_mqtt_api.h:367
 
MQTT 5.0协议中, 下行的conack报文conack中的属性 
Definition: aiot_mqtt_api.h:132
 
MQTT 5.0协议中, 上行的subscribe报文中的属性. 
Definition: aiot_mqtt_api.h:202
 
MQTT UNSUB报文 
Definition: aiot_mqtt_api.h:69
 
uint16_t topic_alias
Definition: aiot_mqtt_api.h:149
 
uint8_t wildcard_subscription_available
Definition: aiot_mqtt_api.h:138
 
uint32_t subscription_identifier
Definition: aiot_mqtt_api.h:152
 
MQTT建联时, CONNECT报文中的clean session参数 
Definition: aiot_mqtt_api.h:518
 
int32_t aiot_mqtt_deinit(void **handle)
释放mqtt实例句柄的资源 
Definition: aiot_mqtt_api.c:2661
 
aiot_mqtt_protocol_version
MQTT协议版本 
Definition: aiot_mqtt_api.h:96
 
int32_t aiot_mqtt_unsub_with_prop(void *handle, char *topic, unsub_property_t *unsub_prop)
发送一条mqtt UNSUBSCRIBE报文到MQTT服务器, 用于取消订阅指定的topic 以MQTT 5.0协议的方式接入, 支持5.0的特性. 在调用这个接口前, 需要确保已经通过AIOT_MQTTOPT_VERSION的方式, 设置过版本号为AIOT_MQTT_VERSION_5_0 
Definition: aiot_mqtt_api.c:3550
 
int32_t aiot_mqtt_pub(void *handle, char *topic, uint8_t *payload, uint32_t payload_len, uint8_t qos)
发送一条PUBLISH报文到MQTT服务器, QoS为0, 用于发布指定的消息 
Definition: aiot_mqtt_api.c:3391
 
void(* aiot_mqtt_event_handler_t)(void *handle, const aiot_mqtt_event_t *event, void *userdata)
MQTT事件回调函数 
Definition: aiot_mqtt_api.h:334
 
MQTT 5.0协议中, 上行的subscribe报文中的属性. 
Definition: aiot_mqtt_api.h:190
 
uint8_t max_qos
Definition: aiot_mqtt_api.h:232
 
MQTT建联时, CONNECT报文中的心跳间隔参数 
Definition: aiot_mqtt_api.h:505
 
MQTT接收数据时, 在协议栈花费的最长时间 
Definition: aiot_mqtt_api.h:603
 
int32_t aiot_mqtt_unsub(void *handle, char *topic)
发送一条mqtt UNSUBSCRIBE报文到MQTT服务器, 用于取消订阅指定的topic 
Definition: aiot_mqtt_api.c:3545
 
MQTT 5.0协议中, 上行和下行pub报文中的属性. 
Definition: aiot_mqtt_api.h:147
 
销毁MQTT实例时, 等待其他api执行完毕的时间 
Definition: aiot_mqtt_api.h:628
 
int32_t aiot_mqtt_sub_with_prop(void *handle, char *topic, aiot_mqtt_recv_handler_t handler, uint8_t qos, void *userdata, sub_property_t *sub_prop)
发送一条mqtt SUBSCRIBE报文到MQTT服务器, 用于订阅指定的topic 以MQTT 5.0协议的方式接入, 支持5.0的特性. 在调用这个接口前, 需要确保已经通过AIOT_MQTTOPT_VERSION的方式, 设置过版本号为AIOT_MQTT_VERSION_5_0 
Definition: aiot_mqtt_api.c:3468
 
用户需要SDK暂存的上下文 
Definition: aiot_mqtt_api.h:692
 
int32_t aiot_mqtt_disconnect_with_prop(void *handle, uint8_t reason_code, disconn_property_t *disconn_property)
与MQTT服务器断开连接 以MQTT 5.0协议的方式接入, 支持5.0的特性. 在调用这个接口前, 需要确保已经通过AIOT_...
Definition: aiot_mqtt_api.c:3266
 
void * userdata
Definition: aiot_mqtt_api.h:347
 
uint32_t payload_len
Definition: aiot_mqtt_api.h:224