子设备功能
子设备上线
① 添加子设备信息到发送队列
iot_s32 sub_dev_add ( const char sub_id[32],
const char sub_name[32],
const char sub_version[5],
iot_u16 sub_type )
参数 | 说明 |
sub_id | 自定义的子设备id,仅限字母数字组合。请自行维护唯一性,支持单个网关下唯一或产品维度下唯一(请根据实际需求填写)。 |
sub_name | 子设备名称,仅限字母数字组合 |
sub_version | 子设备固件版本,"xx.xx",0≤x≤9 |
sub_type | 子设备类型,请与APP端自行约定 |
返回值 | 0 :成功 -1:失败 |
② 上线子设备,一次可同时上线多个子设备。
注:关于一次可以同时上线多少个子设备,代码中不做限制,但是和iot_start函数中的sendbuf_size参数大小有关。
iot_s32 iot_sub_dev_active ( SUB_OPT_TYPE_T opt_type, iot_u32* data_seq )
参数 | 说明 |
opt_type | 子设备上线操作类型。 SUB_OPT_BIND_ONLINE:执行绑定主设备+上线操作 SUB_OPT_ONLINE :仅执行子设备上线操作 |
data_seq | 传出参数,本条数据的序列号,如果需要确定数据何时上传成功,可记录此发送序列号,与收到的进行对比。 |
返回值 | 0 :成功; -1:失败 |
子设备上/下线操作类型定义如下: ```c typedef enum SUB_OPT_TYPE { SUB_OPT_BIND_ONLINE = 0, //执行绑定主设备+上线操作 SUB_OPT_ONLINE = 1, //仅执行子设备上线操作 SUB_OPT_OFFLINE = 0, //仅执行子设备下线操作 SUB_OPT_UNBIND_OFFLINE = 1, //执行从主设备解绑+下线操作 }SUB_OPT_TYPE_T; ``` #### 子设备离线 --- >子设备离线时,调用此接口。 ```c iot_s32 iot_sub_dev_inactive ( const char sub_id[32], SUB_OPT_TYPE_T opt_type, iot_u32 * data_seq ) ```
参数 | 说明 |
sub_id | 自定义的子设备id,仅限字母数字组合 |
opt_type | 子设备下线操作类型。 SUB_OPT_OFFLINE : 仅执行子设备下线操作 SUB_OPT_UNBIND_OFFLINE : 执行从主设备解绑+下线操作 |
data_seq | 传出参数,本条数据的序列号,如果需要确定数据何时上传成功,可记录此发送序列号,与收到的进行对比。 |
返回值 | 0 :成功; -1:失败; |
参数 | 说明 |
sub_status | 子设备状态 |
timestamp | 时间戳 |
list | 子设备信息列表 |
seq | 此发送序列号,与收到的进行对比。 |
返回值 | 0 :成功; -1:失败; |
typedef enum SUB_STATUS {
SUB_STA_ONLINE = 0, //子设备上线结果
SUB_STA_BIND_ONLINE = 1, //子设备绑定上线结果
SUB_STA_OFFLINE = 2, //子设备下线结果
SUB_STA_UNB_OFFLINE = 3, //子设备解绑下线结果
SUB_STA_FORCED_UNBIND = 4, //子设备被强制解绑
}SUB_STATUS_T;