Link Kit C-SDK
4.0.0
|
remote-access模块头文件, 提供远程登录调试的能力 更多...
类 | |
struct | aiot_ra_event_t |
RA内部事件 更多... | |
struct | aiot_ra_service_t |
RA内部事件 更多... | |
宏定义 | |
#define | STATE_REMOTE_ACCESS_BASE (-0x1C00) |
-0x1C00~-0x1CFF表达SDK在ra模块内的状态码 更多... | |
#define | STATE_REMOTE_ACCESS_FAILED (-0x1C01) |
RA执行失败返回码 更多... | |
#define | STATE_REMOTE_ACCESS_TIMEOUT (-0x1C02) |
RA链接超时,发送超时等 更多... | |
#define | STATE_REMOTE_ACCESS_RESET (-0x1C03) |
RA内部I/O出错,执行复位 更多... | |
#define | STATE_REMOTE_ACCESS_MISSING_MQTT_HADNL (-0x1C04) |
MQTT会话句柄未设置, 请通过 aiot_ra_setopt 设置MQTT会话句柄 更多... | |
#define | STATE_REMOTE_ACCESS_SYSTEM_NOT_LINUX (-0x1C0A) |
用户的操作系统不是linux 更多... | |
类型定义 | |
typedef void(* | aiot_ra_event_handler_t) (void *handle, const aiot_ra_event_t *event, void *userdata) |
RA内部事件回调函数接口定义 更多... | |
枚举 | |
enum | aiot_ra_event_type { AIOT_RA_EVT_CONNECT, AIOT_RA_EVT_DISCONNECT, AIOT_RA_EVT_OPEN_WEBSOCKET, AIOT_RA_EVT_CLOSE_WEBSOCKET } |
RA内部事件类型 更多... | |
enum | aiot_ra_option_t { AIOT_RAOPT_MQTT_HANDLE, AIOT_RAOPT_EVENT_HANDLER, AIOT_RAOPT_USERDATA, AIOT_RAOPT_NETWORK_CRED, AIOT_RAOPT_ADD_SERVICE, AIOT_RAOPT_MAX } |
aiot_mqtt_setopt 函数的option参数. 对于下文每一个选项中的数据类型, 指的是aiot_mqtt_setopt 中的data参数的数据类型 更多... | |
函数 | |
void * | aiot_ra_init (void) |
创建ra会话实例, 并以默认值配置会话参数 更多... | |
int32_t | aiot_ra_setopt (void *handle, aiot_ra_option_t option, void *data) |
配置ra会话 更多... | |
int32_t | aiot_ra_deinit (void **handle) |
结束ra会话, 销毁实例并回收资源 更多... | |
void * | aiot_ra_start (void *handle) |
开始ra服务,作为线程开始运行 更多... | |
int32_t | aiot_ra_stop (void *handle) |
停止ra服务,aiot_ra_start线程退出 更多... | |
remote-access模块头文件, 提供远程登录调试的能力
RA模块作用与开启一个通道,供前端访问设备内部, API的使用流程如下:
MQTT
连接#define STATE_REMOTE_ACCESS_BASE (-0x1C00) |
-0x1C00~-0x1CFF表达SDK在ra模块内的状态码
#define STATE_REMOTE_ACCESS_FAILED (-0x1C01) |
RA执行失败返回码
#define STATE_REMOTE_ACCESS_TIMEOUT (-0x1C02) |
RA链接超时,发送超时等
#define STATE_REMOTE_ACCESS_RESET (-0x1C03) |
RA内部I/O出错,执行复位
#define STATE_REMOTE_ACCESS_MISSING_MQTT_HADNL (-0x1C04) |
MQTT会话句柄未设置, 请通过 aiot_ra_setopt 设置MQTT会话句柄
#define STATE_REMOTE_ACCESS_SYSTEM_NOT_LINUX (-0x1C0A) |
用户的操作系统不是linux
typedef void(* aiot_ra_event_handler_t) (void *handle, const aiot_ra_event_t *event, void *userdata) |
RA内部事件回调函数接口定义
当RA内部事件被触发时, 调用此函数. 如连接成功/断开连接/
[in] | handle | ra会话句柄 |
[in] | event | ra消息结构体, 存放内部事件 |
[in] | userdata | 用户上下文 |
enum aiot_ra_event_type |
enum aiot_ra_option_t |
aiot_mqtt_setopt 函数的option参数. 对于下文每一个选项中的数据类型, 指的是aiot_mqtt_setopt 中的data参数的数据类型
data的数据类型是char *时, 以配置AIOT_MQTTOPT_HOST 为例:
char *host = "xxx";
aiot_mqtt_setopt(mqtt_handle, AIOT_MQTTOPT_HOST, host);
data的数据类型是其他数据类型时, 以配置AIOT_MQTTOPT_PORT 为例:
uint16_t port = 443;
aiot_mqtt_setopt(mqtt_handle, AIOT_MQTTOPT_PORT, (void *)&port);
枚举值 | |
---|---|
AIOT_RAOPT_MQTT_HANDLE |
RA会话 需要的MQTT句柄, 需要先建立MQTT连接, 再设置MQTT句柄 数据类型: (void *) |
AIOT_RAOPT_EVENT_HANDLER |
设置内部事件回调, 它在内部事件触发, 告知用户 数据类型: ( aiot_ra_event_handler_t ) |
AIOT_RAOPT_USERDATA |
用户需要SDK暂存的上下文 这个上下文指针会在 AIOT_RAOPT_EVENT_HANDLER 设置的回调被调用时, 由SDK传给用户 数据类型: (void *) |
AIOT_RAOPT_NETWORK_CRED |
RA建联时, 网络使用的安全凭据 该配置项用于为底层网络配置aiot_sysdep_network_cred_t 安全凭据数据
数据类型: (aiot_sysdep_network_cred_t *) |
AIOT_RAOPT_ADD_SERVICE |
新增本地可提供的远程服务 |
AIOT_RAOPT_MAX |
void* aiot_ra_init | ( | void | ) |
创建ra会话实例, 并以默认值配置会话参数
非NULL | ra实例的句柄 |
NULL | 初始化失败, 一般是内存分配失败导致 |
int32_t aiot_ra_setopt | ( | void * | handle, |
aiot_ra_option_t | option, | ||
void * | data | ||
) |
配置ra会话
[in] | handle | ra会话句柄 |
[in] | option | 配置选项, 更多信息请参考aiot_ra_option_t |
[in] | data | 配置选项数据, 更多信息请参考aiot_ra_option_t |
<STATE_SUCCESS | 参数配置失败 |
>=STATE_SUCCESS | 参数配置成功 |
int32_t aiot_ra_deinit | ( | void ** | handle | ) |
结束ra会话, 销毁实例并回收资源
[in] | handle | 指向ra会话句柄的指针 |
<STATE_SUCCESS | 执行失败 |
>=STATE_SUCCESS | 执行成功 |
void* aiot_ra_start | ( | void * | handle | ) |
开始ra服务,作为线程开始运行
[in] | handle | 指向ra会话句柄的指针 |
<STATE_SUCCESS | 执行失败, 更多信息请参考 STATE_REMOTE_* 定义 |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_ra_stop | ( | void * | handle | ) |
停止ra服务,aiot_ra_start线程退出
[in] | handle | 指向ra会话句柄的指针 |
<STATE_SUCCESS | 执行失败, 更多信息请参考 STATE_REMOTE_* 定义 |
>=STATE_SUCCESS | 执行成功 |