subdev模块头文件, 提供子设备管理的能力
更多...
#include <stdint.h>
浏览源代码.
|
enum | aiot_subdev_recv_type_t {
AIOT_SUBDEVRECV_TOPO_ADD_REPLY,
AIOT_SUBDEVRECV_TOPO_DELETE_REPLY,
AIOT_SUBDEVRECV_TOPO_GET_REPLY,
AIOT_SUBDEVRECV_BATCH_LOGIN_REPLY,
AIOT_SUBDEVRECV_BATCH_LOGOUT_REPLY,
AIOT_SUBDEVRECV_SUB_REGISTER_REPLY,
AIOT_SUBDEVRECV_PRODUCT_REGISTER_REPLY,
AIOT_SUBDEVRECV_TOPO_CHANGE_NOTIFY
} |
| subdev模块收到从网络上来的报文时, 通知用户的报文类型 更多...
|
|
enum | aiot_subdev_event_type_t { AIOT_SUBDEVEVT_INVALID_RESPONSE,
AIOT_SUBDEVEVT_INVALID_ID,
AIOT_SUBDEVEVT_INVALID_CODE
} |
| subdev模块内部发生值得用户关注的状态变化时, 通知用户的事件类型 更多...
|
|
enum | aiot_subdev_option_t {
AIOT_SUBDEVOPT_MQTT_HANDLE,
AIOT_SUBDEVOPT_RECV_HANDLER,
AIOT_SUBDEVOPT_EVENT_HANDLER,
AIOT_SUBDEVOPT_USERDATA,
AIOT_SUBDEVOPT_MAX
} |
| aiot_subdev_setopt 接口的option参数可选值. 更多...
|
|
|
void * | aiot_subdev_init (void) |
| 创建subdev会话实例, 并以默认值配置会话参数 更多...
|
|
int32_t | aiot_subdev_setopt (void *handle, aiot_subdev_option_t option, void *data) |
| 配置subdev会话 更多...
|
|
int32_t | aiot_subdev_deinit (void **handle) |
| 结束subdev会话, 销毁实例并回收资源 更多...
|
|
int32_t | aiot_subdev_send_topo_add (void *handle, aiot_subdev_dev_t dev[], uint32_t dev_num) |
| 向物联网平台发送添加子设备与网关topo关系的请求 更多...
|
|
int32_t | aiot_subdev_send_topo_delete (void *handle, aiot_subdev_dev_t dev[], uint32_t dev_num) |
| 向物联网平台发送删除子设备与网关topo关系的请求 更多...
|
|
int32_t | aiot_subdev_send_topo_get (void *handle) |
| 向物联网平台发送查询子设备与网关topo关系的请求 更多...
|
|
int32_t | aiot_subdev_send_batch_login (void *handle, aiot_subdev_dev_t dev[], uint32_t dev_num) |
| 向物联网平台发送子设备上线请求 更多...
|
|
int32_t | aiot_subdev_send_batch_logout (void *handle, aiot_subdev_dev_t dev[], uint32_t dev_num) |
| 向物联网平台发送子设备下线请求 更多...
|
|
int32_t | aiot_subdev_send_sub_register (void *handle, aiot_subdev_dev_t dev[], uint32_t dev_num) |
| 向物联网平台发送子设备动态注册请求 更多...
|
|
int32_t | aiot_subdev_send_product_register (void *handle, aiot_subdev_dev_t dev[], uint32_t dev_num) |
| 向物联网平台发送子设备动态注册请求(可从其他网关抢绑子设备) 更多...
|
|
subdev模块头文件, 提供子设备管理的能力
- 版权所有
- Copyright (C) 2015-2020 Alibaba Group Holding Limited
#define STATE_SUBDEV_BASE (-0x0C00) |
-0x0C00~-0x0CFF表达SDK在subdev模块内的状态码
typedef void(* aiot_subdev_recv_handler_t) (void *handle, const aiot_subdev_recv_t *packet, void *user_data) |
subdev模块收到从网络上来的报文时, 通知用户所调用的数据回调函数
- 参数
-
[in] | handle | subdev会话句柄 |
[in] | packet | subdev消息结构体, 存放收到的subdev报文内容 |
[in] | userdata | 用户上下文 |
- 返回
- void
typedef void(* aiot_subdev_event_handler_t) (void *handle, const aiot_subdev_event_t *event, void *userdata) |
subdev模块内部发生值得用户关注的状态变化时, 通知用户所调用的事件回调函数
- 参数
-
[in] | handle,subdev会话句柄 | |
[in] | event,subdev模块中发生的事件的内容 | |
[in] | userdata,用户上下文 | |
- 返回
- void
subdev模块收到从网络上来的报文时, 通知用户的报文类型
枚举值 |
---|
AIOT_SUBDEVRECV_TOPO_ADD_REPLY |
|
AIOT_SUBDEVRECV_TOPO_DELETE_REPLY |
|
AIOT_SUBDEVRECV_TOPO_GET_REPLY |
|
AIOT_SUBDEVRECV_BATCH_LOGIN_REPLY |
|
AIOT_SUBDEVRECV_BATCH_LOGOUT_REPLY |
|
AIOT_SUBDEVRECV_SUB_REGISTER_REPLY |
|
AIOT_SUBDEVRECV_PRODUCT_REGISTER_REPLY |
|
AIOT_SUBDEVRECV_TOPO_CHANGE_NOTIFY |
|
subdev模块内部发生值得用户关注的状态变化时, 通知用户的事件类型
枚举值 |
---|
AIOT_SUBDEVEVT_INVALID_RESPONSE |
非法的应答报文
|
AIOT_SUBDEVEVT_INVALID_ID |
应答报文的id字段非法
|
AIOT_SUBDEVEVT_INVALID_CODE |
应答报文的code字段非法
|
aiot_subdev_setopt 接口的option参数可选值.
下文每个选项中的数据类型, 指的是aiot_subdev_setopt 中, data参数的数据类型
data的数据类型是char *时, 以配置AIOT_SUBDEVOPT_MQTT_HANDLE 为例:
void *mqtt_handle = aiot_mqtt_init(); aiot_subdev_setopt(subdev_handle, AIOT_SUBDEVOPT_MQTT_HANDLE, mqtt_handle);
枚举值 |
---|
AIOT_SUBDEVOPT_MQTT_HANDLE |
subdev会话 需要的MQTT句柄, 需要先建立MQTT连接,再设置MQTT句柄
数据类型: (void *)
|
AIOT_SUBDEVOPT_RECV_HANDLER |
设置回调, 它在SDK收到网络报文的时候被调用, 告知用户, 数据类型为(aiot_subdev_recv_handler_t)
数据类型: (aiot_subdev_recv_handler_t)
|
AIOT_SUBDEVOPT_EVENT_HANDLER |
设置回调, 它在SDK发生内部状态变更时被调用, 告知用户, 数据类型为(aiot_subdev_event_handler_t)
数据类型: (aiot_subdev_event_handler_t)
|
AIOT_SUBDEVOPT_USERDATA |
用户需要SDK暂存的上下文, 数据类型为(void *)
这个上下文指针会在 AIOT_SUBDEVOPT_RECV_HANDLER 和 AIOT_SUBDEVOPT_EVENT_HANDLER 设置的回调被调用时, 由SDK传给用户
数据类型: (void *)
|
AIOT_SUBDEVOPT_MAX |
|
void* aiot_subdev_init |
( |
void |
| ) |
|
创建subdev会话实例, 并以默认值配置会话参数
- 返回
- void *
- 返回值
-
非NULL | subdev实例的句柄 |
NULL | 初始化失败, 一般是内存分配失败导致 |
配置subdev会话
- 参数
-
- 返回
- int32_t
- 返回值
-
<STATE_SUCCESS | 参数配置失败 |
>=STATE_SUCCESS | 参数配置成功 |
int32_t aiot_subdev_deinit |
( |
void ** |
handle | ) |
|
结束subdev会话, 销毁实例并回收资源
- 参数
-
[in] | handle | 指向subdev会话句柄的指针 |
- 返回
- int32_t
- 返回值
-
<STATE_SUCCESS | 执行失败 |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_subdev_send_topo_add |
( |
void * |
handle, |
|
|
aiot_subdev_dev_t |
dev[], |
|
|
uint32_t |
dev_num |
|
) |
| |
向物联网平台发送添加子设备与网关topo关系的请求
- 参数
-
handle | subdev会话句柄 |
dev | 需要添加topo关系的子设备数组 |
dev_num | 子设备数组中的子设备数量 |
- 返回
- int32_t
- 返回值
-
<STATE_SUCCESS | 请求发送失败 |
>=STATE_SUCCESS | 请求发送成功 |
- 注解
aiot_subdev_dev_t 中需要填写product key, device name 和 device secret
int32_t aiot_subdev_send_topo_delete |
( |
void * |
handle, |
|
|
aiot_subdev_dev_t |
dev[], |
|
|
uint32_t |
dev_num |
|
) |
| |
向物联网平台发送删除子设备与网关topo关系的请求
- 参数
-
handle | subdev会话句柄 |
dev | 需要删除topo关系的子设备数组 |
dev_num | 子设备数组中的子设备数量 |
- 返回
- int32_t
- 返回值
-
<STATE_SUCCESS | 请求发送失败 |
>=STATE_SUCCESS | 请求发送成功 |
- 注解
aiot_subdev_dev_t 中需要填写product key, device name
int32_t aiot_subdev_send_topo_get |
( |
void * |
handle | ) |
|
向物联网平台发送查询子设备与网关topo关系的请求
- 参数
-
- 返回
- int32_t
- 返回值
-
<STATE_SUCCESS | 请求发送失败 |
>=STATE_SUCCESS | 请求发送成功 |
- 注解
aiot_subdev_dev_t 中需要填写product key, device name
int32_t aiot_subdev_send_batch_login |
( |
void * |
handle, |
|
|
aiot_subdev_dev_t |
dev[], |
|
|
uint32_t |
dev_num |
|
) |
| |
向物联网平台发送子设备上线请求
- 参数
-
handle | subdev会话句柄 |
dev | 需要上线的子设备数组 |
dev_num | 子设备数组中的子设备数量 |
- 返回
- int32_t
- 返回值
-
<STATE_SUCCESS | 请求发送失败 |
>=STATE_SUCCESS | 请求发送成功 |
- 注解
aiot_subdev_dev_t 中需要填写product key, device name, device secret
int32_t aiot_subdev_send_batch_logout |
( |
void * |
handle, |
|
|
aiot_subdev_dev_t |
dev[], |
|
|
uint32_t |
dev_num |
|
) |
| |
向物联网平台发送子设备下线请求
- 参数
-
handle | subdev会话句柄 |
dev | 需要下线的子设备数组 |
dev_num | 子设备数组中的子设备数量 |
- 返回
- int32_t
- 返回值
-
<STATE_SUCCESS | 请求发送失败 |
>=STATE_SUCCESS | 请求发送成功 |
- 注解
aiot_subdev_dev_t 中需要填写product key, device name
int32_t aiot_subdev_send_sub_register |
( |
void * |
handle, |
|
|
aiot_subdev_dev_t |
dev[], |
|
|
uint32_t |
dev_num |
|
) |
| |
向物联网平台发送子设备动态注册请求
- 参数
-
handle | subdev会话句柄 |
dev | 需要动态注册的子设备数组 |
dev_num | 子设备数组中的子设备数量 |
- 返回
- int32_t
- 返回值
-
<STATE_SUCCESS | 请求发送失败 |
>=STATE_SUCCESS | 请求发送成功 |
- 注解
aiot_subdev_dev_t 中需要填写product key, device name
int32_t aiot_subdev_send_product_register |
( |
void * |
handle, |
|
|
aiot_subdev_dev_t |
dev[], |
|
|
uint32_t |
dev_num |
|
) |
| |
向物联网平台发送子设备动态注册请求(可从其他网关抢绑子设备)
- 参数
-
handle | subdev会话句柄 |
dev | 需要动态注册的子设备数组 |
dev_num | 子设备数组中的子设备数量 |
- 返回
- int32_t
- 返回值
-
<STATE_SUCCESS | 请求发送失败 |
>=STATE_SUCCESS | 请求发送成功 |
- 注解
aiot_subdev_dev_t 中需要填写product key, device name, product secret