智能家居HiLinkSDK集成开发调测指导Word格式.docx
《智能家居HiLinkSDK集成开发调测指导Word格式.docx》由会员分享,可在线阅读,更多相关《智能家居HiLinkSDK集成开发调测指导Word格式.docx(24页珍藏版)》请在冰豆网上搜索。
地址:
深圳市龙岗区坂田华为总部办公楼邮编:
518129
网址:
客户服务邮箱:
support@
1概述
本文档用于说明HiLinkSDK开发包提供的所有API接口,本文中罗列的部分接口对于开发者来说不一定是必须使用的。
API接口的头文件在HiLinkSDK开发包的如下位置:
hilinksdk
|-include
hilink.h
HiLinkSDK静态库主头文件,包含HiLinkSDK入口函数和时间获取函数
hilink_device.h
产品功能适配头文件,包含:
●设备信息、设备模型定义
●待实现设备服务控制、查询响应函数声明
●供调用设备服务状态上报函数声明
hilink_ota.h
OTA功能定义头文件
hilink_osadapter.h
HiLinkSDK操作系统适配头文件,包含系统时间、Flash读写、字符串操作、内存操作等系统函数适配接口声明
hilink_log.h
HiLinkSDK系统提供的日志打印接口函数声明头文件
hilink_typedef.h
系统类型定义头文件
2HiLinkSDK主要API说明
2.1HiLinkSDK入口函数
/*****************************************************************************
功能描述:
HiLinkSDK主流程入口函数,启动HiLink配网及互联互通功能
输入参数:
void
返回参数:
0主流程启动成功,其他值主流程启动失败
*****************************************************************************/
inthilink_main(void);
2.2获取设备状态函数
获取设备在线状态
0offline,1online
inthilink_get_devstatus(void);
2.3设置恢复出厂状态
调用该接口完成设备恢复出厂设置,该接口会设置恢复出厂标志,在标志
设置成功之后会清理掉ssid账号信息,并重启模组
输入参数:
void
0恢复出厂成功,-1恢复出厂失败
inthilink_restore_factory_settings(void);
2.4获取用户配置
获取存储在Flash的用户配置信息
len用户需要获取的配置信息长度
输出参数:
config用户获取的配置信息缓存
0获取成功,-1获取失败
注意事项:
(1)config的内存分配和初始化由调用者完成;
(2)用户可获取的配置信息最大长度为32字节.
intHilinkGetUserConfig(unsignedshortlen,char*config);
2.5保存用户配置
保存用户配置信息到flash
config用户配置信息
len用户配置信息长度
0保存成功,-1保存失败
(1)信息写入为覆盖更新,每次写入前会清空旧的数据;
(2)用户可存储的配置信息最大长度为32字节.
intHilinkSetUserConfig(char*config,unsignedshortlen);
2.6获取本地时间
时间同步模块获取本地日期信息
p_time_info本地日期信息
inthilink_get_local_time_info(pstHILINK_TIME_INFOp_time_info);
2.7获取UTC时间信息
时间同步模块获取当前UTC时间和时区信息
p_time_msutc时间,单位ms
time_zone时区信息字符串,posixtz格式
len时区信息字符串长度
inthilink_get_utc_time_ms(unsignedlonglong*p_time_ms,char*time_zone,unsignedintlen);
2.8获取UTC日期信息
时间同步模块获取当前UTC日期信息
p_time_infoUTC日期信息
inthilink_get_utc_time_info(pstHILINK_TIME_INFOp_time_info);
2.9转换毫秒时间为日期
时间同步模块转换ms为日期
time_msms为单位的时间
p_time_info转换后的日期信息
0转换成功,-1转换失败
inthilink_convert_time(unsignedlonglongtime_ms,pstHILINK_TIME_INFOp_time_info);
3日志打印API说明
3.1判断日志是否打印
判断某级别日志是否打印
level日志级别(参见hilink_log.h中debug_level_t定义)
1可以打印,0不可打印
boollog_is_print(debug_level_tlevel);
3.2设置某级别日志可以打印
设置某级别日志可以打印
voidset_log_level(debug_level_tlevel);
3.3日志打印
日志打印
format格式化字符
…可变参数
inthilink_printf(constchar*format,...);
4OS适配层API说明
4.1获取主机IP
获取远端主机IP
hostname远端主机名称/url
ip_list存放远端主机ip地址列表的数组
num存放远端主机ip地址列表的数组的大小
0成功,其他值失败
inthilink_gethostbyname(char*hostname,charip_list[][40],intnum);
4.2获取系统时间
获取系统时间
ms系统时间,以毫秒为单位
在esp8266上该时间最小单位为10ms
inthilink_gettime(unsignedlong*ms);
4.3计算字符串长度
计算字符串长度
src字符串
字符串长度值
src字符串须保证以'
\0'
结尾
unsignedinthilink_strlen(constchar*src);
4.4字符串比较
字符串内容比较
str1字符串1
str2字符串2
len比较长度
0字符串相等,>
0str1>
str2,<
0str1<
str2
inthilink_strncmp(constchar*str1,constchar*str2,unsignedintlen);
4.5查找字符串中的字符
在字符串str中查找字符ch
str字符串
ch待查找的字符
NULL未找到该字符,其他值该字符地址
char*hilink_strchr(char*str,intch);
4.6逆向查找字符串中的字符
在字符串str中逆向查找字符ch
char*hilink_strrchr(constchar*str,charch);
4.7将字符串转换为整数
将字符串转换为整数
转换后的整数
inthilink_atoi(constchar*str);
4.8短整形主机字节序转网络字节序
短整形主机字节序转网络字节序
hs主机字节序数
网络字节序数
unsignedshorthilink_htons(unsignedshorths);
4.9短整形网络字节序转主机字节序
短整形网络字节序转主机字节序
hs网络字节序数
主机字节序数
unsignedshorthilink_ntohs(unsignedshorths);
4.10解析JSON结构体
将字符串形式的json数据解析为json结构体类型的数据
value字符串形式的json数据
NULL解析失败,其他值指向json结构体的指针
void*hilink_constchar*value);
4.11JSON解析字符串值
获取json结构体中的字符串值
objectjson结构体指针
name需要获取的item的名字
len获取的item的value的长度
NULL获取失败,其他值指向该值的指针
char*hilink_void*object,char*name,unsignedint*len);
4.12JSON解析数据值
获取json结构体中的数据值
value获取的item的value
0获取成功,其他值获取失败
inthilink_void*object,char*name,int*value);
4.13获取JSON结构体对象
获取json结构体对象
NULL获取失败,其他值指向该结构体的指针
void*hilink_void*object,constchar*name);
4.14获取JSON数组元素
获取json数组元素
arrayjson数组
item要获取的jsonitem
void*hilink_void*array,intitem);
4.15获取JSON数组大小
数组大小
inthilink_void*array);
4.16删除JSON对象
删除json对象结构体
object结构体对象指针
voidhilink_void*object);
4.17清空JSON对象的字符串数据
清零json对象结构体中的字符串数据
****************************************