设备信息
请求设备信息
此函数用于获取设备相关信息,与4.2节“接收设备信息”配合使用。
iot_s32 iot_get_info ( INFO_TYPE_T info_type );
参数 | 说明 |
info_type | INFO_TYPE_USER_MASTER :绑定用户的信息,包括用户ID、手机号、邮箱等INFO_TYPE_USER_SHARE :分享用户的信息,包括用户ID、手机号、邮箱等INFO_TYPE_DEVICE :设备的详细信息,包括绑定状态等 |
接收设备信息
void iot_info_cb ( INFO_TYPE_T info_type , void * info );
参数 | 说明 |
info_type | 参考iot_get_info函数中info_type的说明 |
info | 根据info_type的值传入不同格式的数据 |
该函数用来处理接收的设备信息数据,接收的数据根据info_type的值数据格式不同
注意!回调函数中不可执行太多耗时代码。
①当info_type= INFO_TYPE_USER_MASTER时,表示获取的是设备绑定用户的信息,数据结构体如下
typedef struct user_info {
char * id; //用户id
char * email; //用户email
char * country_code; //用户手机号的国家代码,比如中国是0086
char * phone; //用户手机号
char * name; //用户昵称
}user_info_t;
②当info_type= INFO_TYPE_USER_SHARE时,表示获取的是分享用户的信息,由于可能有多个分享用户,因此分享用户的数据是列表形式的,数据结构体如下
typedef struct share_info {
iot_s32 count; //分享用户的数量
user_info_t* user; //分享用户信息结构体的列表
}share_info_t;
③当info_type= INFO_TYPE_DEVICE时,表示获取的是设备信息,数据结构体如下
typedef struct dev_info {
iot_u8 is_bind; //设备是否被绑定
char sdk_ver[6]; //SDK版本号
}dev_info_t;
配置设备信息
注意!请在调用iot_start前调用此函数。
iot_s32 iot_config_info ( INFO_TYPE_T info_type, void * info );
参数 | 说明 |
info_type | INFO_TYPE_ENCRYPTINFO_TYPE_SN:通信链路加密算法选择:设置设备序列号信息 |
info | 根据info_type的不同,传入不同参数数据 INFO _TYPE_ENCRYPT : "AES":AES算法(默认); "SSL":SSL算法; "SM4":SM4算法 INFO_TYPE_SN :自定义字符串,数字字母组合,最长16字节 |
①当info_type=INFO_TYPE_ENCRYPT时,表示设置通信链路的加密算法,取值如下:
- "AES":AES算法(默认);
- "SSL":SSL算法;(用SSL加密时,需要调用void iot_ssl_load(void) 加载SSL库)
- "SM4":SM4算法
例如:iot_config_info(INFO_TYPE_ENCRYPT, "SSL");设置通信加密算法为SSL
②当info_type=INFO_TYPE_SN时,表示设置第三方序列号,厂商可设置自定义格式的设备唯一序列号,此功能可用于实现维修设备替换通信模块时,用户设备历史数据不变的功能。
注意!同一产品(product_id相同)下,该序列号须保证唯一,如需更改SN,请先删除设备。
例如:iot_config_info( INFO_TYPE_SN, "SNDQ201811200003");设置设备的序列号为SNDQ201811200003,此序列号可唯一标识一个设备。