34 #ifndef _AIOT_MQTT_API_H_ 35 #define _AIOT_MQTT_API_H_ 37 #if defined(__cplusplus) 103 #define USER_PROPERTY_MAX (20) 694 int32_t
aiot_mqtt_setopt(
void *handle, aiot_mqtt_option_t option,
void *data);
811 int32_t
aiot_mqtt_pub(
void *handle,
char *topic, uint8_t *payload, uint32_t payload_len, uint8_t qos);
960 int32_t
aiot_mqtt_pub_v5(
void *handle,
char *topic, uint8_t *payload, uint32_t payload_len, uint8_t qos,
1051 #if defined(__cplusplus) int32_t aiot_mqtt_connect(void *handle)
与MQTT服务器建立连接
Definition: aiot_mqtt_api.c:2376
设备的product key, 可从阿里云物联网平台控制台获取
Definition: aiot_mqtt_api.h:325
int32_t aiot_mqtt_recv(void *handle)
尝试从网络上接收MQTT报文
Definition: aiot_mqtt_api.c:3088
uint16_t packet_id
Definition: aiot_mqtt_api.h:131
uint8_t * payload
遗嘱消息的payload
Definition: aiot_mqtt_api.h:885
int32_t aiot_mqtt_disconnect_v5(void *handle, uint8_t reason_code, mqtt_properties_t *disconn_property)
与MQTT服务器断开连接 以MQTT 5.0协议的方式接入, 支持5.0的特性. 在调用这个接口前, 需要确保已经通过AIOT_...
Definition: aiot_mqtt_api.c:2753
uint8_t qos
Definition: aiot_mqtt_api.h:118
char * topic
Definition: aiot_mqtt_api.h:119
设备的device name, 可从阿里云物联网平台控制台获取
Definition: aiot_mqtt_api.h:334
使用自定义连接凭据连接mqtt服务器时, 凭据的clientid
Definition: aiot_mqtt_api.h:392
设备连接阿里云物联网平台时的安全模式, 使用标准的tcp或tls时无需配置
Definition: aiot_mqtt_api.h:365
uint8_t * payload
Definition: aiot_mqtt_api.h:121
int32_t aiot_mqtt_setopt(void *handle, aiot_mqtt_option_t option, void *data)
设置mqtt参数
Definition: aiot_mqtt_api.c:2050
aiot_mqtt_recv_handler_t handler
Definition: aiot_mqtt_api.h:248
void(* aiot_mqtt_recv_handler_t)(void *handle, const aiot_mqtt_recv_t *packet, void *userdata)
MQTT报文接收回调函数原型
Definition: aiot_mqtt_api.h:177
uint8_t qos
遗嘱消息被发布时的qos等级
Definition: aiot_mqtt_api.h:893
int32_t aiot_mqtt_sub_v5(void *handle, char *topic, sub_options_t *opts, aiot_mqtt_recv_handler_t handler, void *userdata, mqtt_properties_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:3325
uint8_t retain_handling
保留消息选项
Definition: aiot_mqtt_api.h:996
uint32_t payload_len
遗嘱消息的payload长度
Definition: aiot_mqtt_api.h:889
当MQTT实例断开网络连接后重连成功时, 触发此事件
Definition: aiot_mqtt_api.h:190
当MQTT实例断开网络连接时, 触发此事件
Definition: aiot_mqtt_api.h:194
MQTT 服务器的端口号
Definition: aiot_mqtt_api.h:316
aiot_mqtt_recv_type_t type
MQTT报文类型, 更多信息请参考aiot_mqtt_recv_type_t.
Definition: aiot_mqtt_api.h:109
int32_t res
Definition: aiot_mqtt_api.h:129
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:3005
在publish消息的topic上附加请求ID字符串, 用于全链路日志追踪
Definition: aiot_mqtt_api.h:581
设置MQTT 协议的版本号
Definition: aiot_mqtt_api.h:619
aiot_mqtt_recv_type_t
MQTT报文类型
Definition: aiot_mqtt_api.h:51
使用 aiot_mqtt_setopt 配置 AIOT_MQTTOPT_APPEND_TOPIC_MAP 时的数据
Definition: aiot_mqtt_api.h:246
QoS1消息重发间隔
Definition: aiot_mqtt_api.h:517
int32_t aiot_mqtt_heartbeat(void *handle)
发送MQTT PINGREQ报文, 用于维持心跳
Definition: aiot_mqtt_api.c:2417
设备连接阿里云物联网平台时的扩展clientid
Definition: aiot_mqtt_api.h:356
SDK缓存的QOS 1消息的数量的最大值
Definition: aiot_mqtt_api.h:606
uint8_t retain
遗嘱消息是否为保留消息
Definition: aiot_mqtt_api.h:897
从MQTT服务器收取的数据从此默认回调函数进行通知
Definition: aiot_mqtt_api.h:543
aiot_mqtt_event_type_t type
MQTT内部事件类型. 更多信息请参考aiot_mqtt_event_type_t.
Definition: aiot_mqtt_api.h:216
MQTT CONACK报文
Definition: aiot_mqtt_api.h:80
aiot_mqtt_event_type_t
MQTT内部事件类型
Definition: aiot_mqtt_api.h:182
uint8_t qos
Qos级别,取值0/1.
Definition: aiot_mqtt_api.h:1008
int32_t aiot_mqtt_connect_v5(void *handle, will_message_t *will_message, mqtt_properties_t *conn_prop)
与MQTT服务器建立连接. 以MQTT 5.0协议的方式接入, 支持5.0的特性. 在调用这个接口前, 需要确保已经通过AIOT...
Definition: aiot_mqtt_api.c:3366
Definition: aiot_mqtt_api.h:105
MQTT发送数据时, 在协议栈花费的最长时间
Definition: aiot_mqtt_api.h:496
设备的device secret, 可从阿里云物联网平台控制台获取
Definition: aiot_mqtt_api.h:343
uint16_t topic_len
Definition: aiot_mqtt_api.h:120
MQTT 服务器的域名地址或者ip地址
Definition: aiot_mqtt_api.h:301
配置MQTT PINGREQ报文发送时间间隔. (心跳发送间隔)
Definition: aiot_mqtt_api.h:460
MQTT实例网络连接由于网络故障而断开
Definition: aiot_mqtt_api.h:201
Definition: aiot_mqtt_api.h:647
int32_t aiot_mqtt_disconnect(void *handle)
与MQTT服务器断开连接
Definition: aiot_mqtt_api.c:2381
当MQTT实例第一次连接网络成功时, 触发此事件
Definition: aiot_mqtt_api.h:186
MQTT建联时, 网络使用的安全凭据
Definition: aiot_mqtt_api.h:439
使用自定义连接凭据连接mqtt服务器时, 凭据的password
Definition: aiot_mqtt_api.h:383
MQTT实例网络连接由于心跳丢失超过指定次数(AIOT_MQTTOPT_HEARTBEAT_MAX_LOST )而断开
Definition: aiot_mqtt_api.h:205
MQTT SERVER DISCONNECT报文
Definition: aiot_mqtt_api.h:85
int32_t aiot_mqtt_process(void *handle)
此函数用于处理定时心跳发送和qos1消息的重传逻辑
Definition: aiot_mqtt_api.c:2428
aiot_mqtt_disconnect_event_type_t
Definition: aiot_mqtt_api.h:197
MQTT PINGRESP报文
Definition: aiot_mqtt_api.h:60
int32_t aiot_mqtt_pub_v5(void *handle, char *topic, uint8_t *payload, uint32_t payload_len, uint8_t qos, uint8_t retain, mqtt_properties_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:3311
配置MQTT PINGRESP报文允许连续丢失的最大次数, 当超过这个次数时, 触发重连机制
Definition: aiot_mqtt_api.h:469
MQTT 5.0特性. 设置是否要使能assigned clentid功能
Definition: aiot_mqtt_api.h:632
MQTT客户端内部发生的事件会从此回调函数进行通知, 如上线/断线/重新上线
Definition: aiot_mqtt_api.h:552
Definition: aiot_mqtt_api.h:98
可在MQTT建立连接之前配置MQTT topic与其对应的回调函数
Definition: aiot_mqtt_api.h:561
MQTT内部事件
Definition: aiot_mqtt_api.h:211
void * aiot_mqtt_init(void)
初始化mqtt实例并设置默认参数
Definition: aiot_mqtt_api.c:1985
MQTT PUBACK报文
Definition: aiot_mqtt_api.h:75
打开/关闭MQTT重连机制
Definition: aiot_mqtt_api.h:478
mqtt_prop模块头文件, 提供mqtt 5.0用户属性管理的能力
aiot_mqtt_disconnect_event_type_t disconnect
MQTT连接断开时, 具体的断开原因
Definition: aiot_mqtt_api.h:224
MQTT建联时, 建立网络连接的超时时间
Definition: aiot_mqtt_api.h:451
int32_t aiot_mqtt_unsub_v5(void *handle, char *topic, mqtt_properties_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:3073
订阅选项
Definition: aiot_mqtt_api.h:988
Definition: aiot_mqtt_api.h:99
uint8_t reason_code
Definition: aiot_mqtt_api.h:153
使用自定义连接凭据连接mqtt服务器时, 凭据的username
Definition: aiot_mqtt_api.h:374
当由于心跳丢失或者网络断开触发重连机制时, 尝试重连的时间间隔
Definition: aiot_mqtt_api.h:487
char * topic
遗嘱消息的topic
Definition: aiot_mqtt_api.h:881
char * topic
Definition: aiot_mqtt_api.h:247
取消之前建立的MQTT topic与其回调函数的对应关系
Definition: aiot_mqtt_api.h:570
Definition: aiot_mqtt_props_api.h:95
MQTT 5.0特性. 设置是否要使能设备端流控功能
Definition: aiot_mqtt_api.h:645
MQTT PUBLISH报文
Definition: aiot_mqtt_api.h:55
MQTT SUBACK报文
Definition: aiot_mqtt_api.h:65
aiot_mqtt_option_t
aiot_mqtt_setopt 函数的option参数. 对于下文每一个选项中的数据类型, 指的是aiot_mqtt_setopt 中的data参...
Definition: aiot_mqtt_api.h:269
MQTT UNSUB报文
Definition: aiot_mqtt_api.h:70
MQTT建联时, CONNECT报文中的clean session参数
Definition: aiot_mqtt_api.h:420
int32_t aiot_mqtt_deinit(void **handle)
释放mqtt实例句柄的资源
Definition: aiot_mqtt_api.c:2236
aiot_mqtt_protocol_version
MQTT协议版本
Definition: aiot_mqtt_api.h:97
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:2933
void(* aiot_mqtt_event_handler_t)(void *handle, const aiot_mqtt_event_t *event, void *userdata)
MQTT事件回调函数
Definition: aiot_mqtt_api.h:236
uint8_t max_qos
Definition: aiot_mqtt_api.h:130
MQTT建联时, CONNECT报文中的心跳间隔参数
Definition: aiot_mqtt_api.h:407
uint8_t retain_as_publish
云端pub时是否开启保留消息标记:[0]不携带保留标记 [1]携带保留标记
Definition: aiot_mqtt_api.h:1000
mqtt_properties_t * props
遗嘱消息携带的属性
Definition: aiot_mqtt_api.h:901
MQTT接收数据时, 在协议栈花费的最长时间
Definition: aiot_mqtt_api.h:505
int32_t aiot_mqtt_unsub(void *handle, char *topic)
发送一条mqtt UNSUBSCRIBE报文到MQTT服务器, 用于取消订阅指定的topic
Definition: aiot_mqtt_api.c:3068
mqtt_properties_t * props
Definition: aiot_mqtt_api.h:123
销毁MQTT实例时, 等待其他api执行完毕的时间
Definition: aiot_mqtt_api.h:530
uint8_t no_local
订阅非本地发布消息:[0]不启用 [1]启用
Definition: aiot_mqtt_api.h:1004
用户需要SDK暂存的上下文
Definition: aiot_mqtt_api.h:594
void * userdata
Definition: aiot_mqtt_api.h:249
uint32_t payload_len
Definition: aiot_mqtt_api.h:122
遗嘱消息
Definition: aiot_mqtt_api.h:877