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