1、地址:深圳市龙岗区坂田华为总部办公楼 邮编:518129网址:客户服务邮箱:support1 概述本文档用于说明HiLink SDK开发包提供的所有API接口,本文中罗列的部分接口对于开发者来说不一定是必须使用的。API接口的头文件在HiLink SDK开发包的如下位置:hilinksdk |-includehilink.hHiLink SDK静态库主头文件,包含HiLinkSDK入口函数和时间获取函数hilink_device.h产品功能适配头文件,包含: 设备信息、设备模型定义 待实现设备服务控制、查询响应函数声明 供调用设备服务状态上报函数声明hilink_ota.hOTA功能定义头文件
2、hilink_osadapter.hHiLink SDK操作系统适配头文件,包含系统时间、Flash读写、字符串操作、内存操作等系统函数适配接口声明hilink_log.hHiLink SDK系统提供的日志打印接口函数声明头文件hilink_typedef.h系统类型定义头文件2 HiLink SDK主要API说明2.1 HiLink SDK入口函数/*功能描述 :HiLink SDK主流程入口函数,启动HiLink配网及互联互通功能输入参数 :void返回参数 :0 主流程启动成功,其他值 主流程启动失败*/int hilink_main(void);2.2 获取设备状态函数获取设备在线状态
3、0 offline,1 onlineint hilink_get_devstatus(void); 2.3 设置恢复出厂状态调用该接口完成设备恢复出厂设置,该接口会设置恢复出厂标志,在标志 设置成功之后会清理掉ssid账号信息,并重启模组输入参数 : void0 恢复出厂成功,-1 恢复出厂失败int hilink_restore_factory_settings(void);2.4 获取用户配置获取存储在Flash的用户配置信息len 用户需要获取的配置信息长度输出参数 :config 用户获取的配置信息缓存0 获取成功,-1 获取失败注意事项 :(1) config的内存分配和初始化由调用
4、者完成; (2) 用户可获取的配置信息最大长度为32字节.int HilinkGetUserConfig(unsigned short len, char* config);2.5 保存用户配置保存用户配置信息到flashconfig 用户配置信息len 用户配置信息长度0 保存成功,-1 保存失败(1) 信息写入为覆盖更新, 每次写入前会清空旧的数据; (2) 用户可存储的配置信息最大长度为32字节.int HilinkSetUserConfig(char* config, unsigned short len);2.6 获取本地时间时间同步模块获取本地日期信息p_time_info 本地日
5、期信息int hilink_get_local_time_info(pstHILINK_TIME_INFO p_time_info);2.7 获取UTC时间信息时间同步模块获取当前UTC时间和时区信息p_time_ms utc时间,单位mstime_zone 时区信息字符串,posix tz格式len 时区信息字符串长度int hilink_get_utc_time_ms(unsigned long long *p_time_ms, char *time_zone, unsigned int len);2.8 获取UTC日期信息时间同步模块获取当前UTC日期信息p_time_info UTC日
6、期信息int hilink_get_utc_time_info(pstHILINK_TIME_INFO p_time_info);2.9 转换毫秒时间为日期时间同步模块转换ms为日期time_ms ms为单位的时间p_time_info 转换后的日期信息0 转换成功,-1 转换失败int hilink_convert_time(unsigned long long time_ms, pstHILINK_TIME_INFO p_time_info);3 日志打印API说明3.1 判断日志是否打印判断某级别日志是否打印 level 日志级别(参见hilink_log.h中debug_level_t
7、定义)1 可以打印,0 不可打印bool log_is_print(debug_level_t level);3.2 设置某级别日志可以打印设置某级别日志可以打印void set_log_level(debug_level_t level);3.3 日志打印日志打印format 格式化字符 可变参数int hilink_printf(const char* format, .);4 OS适配层API说明4.1 获取主机IP获取远端主机IPhostname 远端主机名称/urlip_list 存放远端主机ip地址列表的数组num 存放远端主机ip地址列表的数组的大小0 成功,其他值 失败int
8、hilink_gethostbyname(char* hostname, char ip_list40, int num);4.2 获取系统时间获取系统时间ms 系统时间,以毫秒为单位在esp8266上该时间最小单位为10msint hilink_gettime(unsigned long* ms);4.3 计算字符串长度计算字符串长度src 字符串字符串长度值src字符串须保证以0结尾unsigned int hilink_strlen(const char* src);4.4 字符串比较字符串内容比较str1 字符串1str2 字符串2len 比较长度0 字符串相等,0 str1str2,
9、0 str1str2int hilink_strncmp(const char* str1, const char* str2, unsigned int len);4.5 查找字符串中的字符在字符串str中查找字符chstr 字符串ch 待查找的字符NULL 未找到该字符,其他值 该字符地址char* hilink_strchr(char* str, int ch);4.6 逆向查找字符串中的字符在字符串str中逆向查找字符chchar* hilink_strrchr(const char* str, char ch);4.7 将字符串转换为整数将字符串转换为整数转换后的整数int hili
10、nk_atoi(const char* str);4.8 短整形主机字节序转网络字节序短整形主机字节序转网络字节序hs 主机字节序数网络字节序数unsigned short hilink_htons(unsigned short hs);4.9 短整形网络字节序转主机字节序短整形网络字节序转主机字节序hs 网络字节序数主机字节序数unsigned short hilink_ntohs(unsigned short hs);4.10 解析JSON结构体将字符串形式的json数据解析为json结构体类型的数据value 字符串形式的json数据NULL 解析失败,其他值 指向json结构体的指针v
11、oid* hilink_const char *value);4.11 JSON解析字符串值获取json结构体中的字符串值object json结构体指针name 需要获取的item的名字len 获取的item的value的长度NULL 获取失败,其他值 指向该值的指针char* hilink_void* object, char* name, unsigned int *len);4.12 JSON解析数据值获取json结构体中的数据值value 获取的item的value0 获取成功,其他值 获取失败int hilink_void* object, char* name, int* val
12、ue);4.13 获取JSON结构体对象获取json结构体对象NULL 获取失败,其他值 指向该结构体的指针void* hilink_void* object, const char* name);4.14 获取JSON数组元素获取json数组元素array json数组item 要获取的json itemvoid* hilink_void* array, int item );4.15 获取JSON数组大小数组大小int hilink_void* array);4.16 删除JSON对象删除json对象结构体object 结构体对象指针void hilink_void* object);4.17 清空JSON对象的字符串数据清零json对象结构体中的字符串数据*
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1