智能家居HiLinkSDK集成开发调测指导.docx
- 文档编号:9515547
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:30
- 大小:51.62KB
智能家居HiLinkSDK集成开发调测指导.docx
《智能家居HiLinkSDK集成开发调测指导.docx》由会员分享,可在线阅读,更多相关《智能家居HiLinkSDK集成开发调测指导.docx(30页珍藏版)》请在冰豆网上搜索。
智能家居HiLinkSDK集成开发调测指导
智能家居HiLinkSDK
API说明
文档版本02
发布日期2019-01-03
华为技术有限公司
HUAW6I
版权所有?
华为技术有限公司2019。
保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
商标声明
HUAWEF和其他华为商标均为华为技术有限公司的商标。
本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。
除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。
除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
华为技术有限公司
地址:
深圳市龙岗区坂田华为总部办公楼邮编:
518129
网址:
客户服务邮
箱:
support@
1概述5…
2开发包结构错误!
未定义书签。
3HiLinkSDK集成详细步骤错误!
未定义书签。
3.1添加HiLinkSDK开发包到主程序工程中错误!
未定义书签。
3.2联网功能集成错误!
未定义书签。
3.3互联互通功能集成错误!
未定义书签。
3.3.1修改设备信息错误!
未定义书签。
3.3.2获取设备在线状态(可选)错误!
未定义书签。
3.3.3实现恢复出厂设置(可选)错误!
未定义书签。
3.3.4存取设备状态或配置(可选)错误!
未定义书签。
3.3.5实现设备服务状态控制功能错误!
未定义书签。
3.3.6实现设备服务状态查询功能错误!
未定义书签。
3.3.7实现设备服务状态上报功能错误!
未定义书签。
3.3.8实现设备重启预处理功能错误!
未定义书签。
3.4OTA功能集成(可选)错误!
未定义书签。
3.4.1修改升级配置错误!
未定义书签。
3.4.2实现升级业务函数错误!
未定义书签。
3.5DHCPOption60功能实现错误!
未定义书签。
4功能验证错误!
未定义书签。
4.1概述错误!
未定义书签。
4.2APP调试环境设置错误!
未定义书签。
4.3搜索添加待测设备错误!
未定义书签。
4.4验证设备控制功能错误!
未定义书签。
1概述
本文档用于说明HiLinkSDK开发包提供的所有API接口,本文中罗列的部分接口对于开发者来说不一定是必须使用的。
API接口的头文件在HiLinkSDK开发包的如下位置:
hilinksdk
|-include
hilink.h
HiLinkSDK静态库主头文件,包含
HiLinkSDK入口函数和时间获取函数
hilink_device.h
产品功能适配头文件,包含:
设备信息、设备模型定义待实现设备服务控制、查询响应函数声明
供调用设备服务状态上报函数声明
hilinkota.h
:
OTA功能定义头文件
hilink_osadapter.h
HiLinkSDK操作系统适配头文件,包含系统时间、Flash读写、字符串操作、内存操作等系统函数适配接口声明
hilink_log.h
HiLinkSDK系统提供的日志打印接口函数声明头文件
hilinktypedef.h
:
系统类型定义头文件
2HiLinkSDK主要API说明
2.1HiLinkSDK入口函数
/*****************************************************************************
功能描述:
HiLinkSDK主流程入口函数,启动HiLink配网及互联互通功能
输入参数:
void
返回参数:
0主流程启动成功,其他值主流程启动失败
*****************************************************************************/
inthilink_main(void);
2.2获取设备状态函数
/*****************************************************************************
功能描述:
获取设备在线状态
输入参数:
void
返回参数:
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本地日期信息
返回参数:
0获取成功,-1获取失败
*****************************************************************************/
inthilink_get_local_time_info(pstHILINK_TIME_INFOp_time_info);
2.7获取UTC时间信息
嗫**************************************************************************
功能描述输出参数输出参数输入参数返回参数
时间同步模块获取当前UTC时间和时区信息
p_time_msutc时间,单位ms
time_zone时区信息字符串,posixtz格式
len时区信息字符串长度
0获取成功,-1获取失败
*****************************************************************************/
inthilink_get_utc_time_ms(unsignedlonglong*p_time_ms,char*time_zone,unsignedintlen);
2.8获取UTC日期信息
/*****************************************************************************
功能描述:
时间同步模块获取当前UTC日期信息
输出参数:
p_time_infoUTC日期信息
返回参数:
0获取成功,-1获取失败
*****************************************************************************/
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设置某级别日志可以打印
/*****************************************************************************
功能描述:
设置某级别日志可以打印
输入参数:
level日志级别(参见hilink_log.h中debug_level_t定义)
*****************************************************************************/
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系统时间,以毫秒为单位
0成功,其他值失败
在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 *****************************************************************************/inthilink_strncmp(constchar*str1,constchar*str2,unsignedintlen); 4.5查找字符串中的字符 /***************************************************************************** 功能描述输入参数输入参数返回参数 在字符串str中查找字符ch str字符串 ch待查找的字符 NULL未找到该字符,其他值该字符地址 *************************************************************************** char*hilink_strchr(char*str,intch); 4.6逆向查找字符串中的字符 /***************************************************************************** 功能描述: 在字符串str中逆向查找字符ch 输入参数: str字符串 输入参数: ch待查找的字符 返回参数: NULL未找到该字符,其他值该字符地址 *****************************************************************************/ char*hilink_strrchr(constchar*str,charch); 4.7将字符串转换为整数 嗫************************************************************************** 功能描述输入参数返回参数 将字符串转换为整数 str字符串 转换后的整数 *************************************************************************** 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_json_parse(constchar*value); 4.11JSON解析字符串值 嗫************************************************************************** 功能描述输入参数输入参数输出参数返回参数 获取json结构体中的字符串值 objectjson结构体指针 name需要获取的item的名字len获取的item的value的长度 NULL获取失败,其他值指向该值的指针 *****************************************************************************/ char*hilink_json_get_string_value(void*object,char*name,unsignedint*len); 4.12JSON解析数据值 嗫************************************************************************** 功能描述输入参数输入参数输出参数返回参数 获取json结构体中的数据值 objectjson结构体指针name需要获取的item的名字value获取的item的value 0获取成功,其他值获取失败 *****************************************************************************/inthilink_json_get_number_value(void*object,char*name,int*value); 4.13获取JSON结构体对象 /***************************************************************************** 功能描述: 获取json结构体对象 输入参数: objectjson结构体指针 输入参数: name需要获取的item的名字 返回参数: NULL获取失败,其他值指向该结构体的指针 *************************************************************************** void*hilink_void*object,constchar*name); 4.14获取JSON数组元素 嗫************************************************************************** 功能描述输入参数输入参数返回参数 获取json数组兀素 arrayjson数组 item要获取的jsonitem NULL获取失败,其他值指向该结构体的指针 *************************************************************************** void*hilink_json_get_arrayitem(void*array,intitem); 4.15获取JSON数组大小 嗫************************************************************************** 功能描述输入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能家居 HiLinkSDK 集成 开发 指导