《智能家居HiLinkSDK集成开发调测指导.docx》由会员分享,可在线阅读,更多相关《智能家居HiLinkSDK集成开发调测指导.docx(32页珍藏版)》请在三一办公上搜索。
1、智能家居HiLinkSDK集成开发调测指导文档版本02发布日期2019-0118华为技术有限公司HUAWEI版权所有华为技术有限公司2019。保留一切权利。非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。商标声明号和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。由于产品版本升级或其他原因,本文档内
2、容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。华为技术有限公司地址:深圳市龙岗区坂田华为总部办公楼邮编:518129网址:客户服务邮箱:support目录1概述52开发包结构63HiLinkSDK集成详细步骤73.1 添加HiLinkSDK开发包到主程序工程中73.2 联网功能集成73.3 互联互通功能集成73.3.1 修改设备信息73.3.2 获取设备在线状态(可选)83.3.3 实现恢复出厂设置(可选)83.3.4 存取设备状态或配置(可选)93.3.5 实现设备服务状态控制功能103.3.6 实现设备服务状态查询功能10
3、3.3.7 实现设备服务状态上报功能113.3.8 实现设备重启预处理功能1133.9 实现HiLink网关模式下连云模式功能(可选)1133.10 HOTA功能集成(可选)(乐鑫ESP8266模组和汉枫LPB130模组支持)1133.10.1 升级接口函数1233.11 OTA功能集成(可选)(除乐鑫ESP8266和汉枫LPBI30模组外其他模组都支持)1333.11.1 升级配置1433.11.2 升级业务函数1533.12 DHCPOption60功能实现164功能验证164.1 概述164.2 APP调试环境设置174.3 搜索添加待测设备194.4 验证设备控制功能275附录一:适配
4、模组HiLilIkSDKFlaSh使用情况305.1 乐鑫esp8266模组305.2 庆科emw3090模组305.3 博联bl3303模组315.4 汉枫lpbl20模组315.5 汉枫lpbl30模组315.6 瑞昱rtl8710模组321概述本文档用于指导智能家居厂家在智能设备中集成和调测HiLinkSDK,实现和验证HiLink设备的远程控制、设备状态上报和OTA升级等功能。HiLinkSDK的开发集成整体流程如下:2开发包结构HiLink根据开发者提供的设备模型定义和模组型号生成设备的HiLinkSDK开发包,其结构及文件说明如下表:目录文件名说明doc智能家居HiLinkSDK集
5、成开发调测指导智能家居设备集成HiLinkSDK开发和调测指导书HiLink智能家居解决方案SDK基本功能测试用例HiLink智能家居设备自验用例集智能家居HiLinkSDK集成FAQHiLinkSDK集成中常见问题FAQhilinksdkI-Iiblibhilinkdevicesdk_debug.aHiLinkSDK静态库文件Debug版本,用于设备调测时集成libhilinkdevicesdk_release.aHiLinkSDK静态库文件Release版本,用于商用设备发布时集成libhilinkota_debug.aHOTA升级特性静态库文件Debug版本,用于设备调测时集成(目前仅支
6、持乐鑫ESP8266和汉枫LPB130模组)libhilinkota_release.aHOTA升级特性静态库文件Release版本,用于商用设备发布时集成(目前仅支持乐鑫ESP8266和汉枫1.PB130模组)hilinksdk!-includehilink.hHiLinkSDK静态库主头文件,包含HiLinkSDK入口函数和时间获取函数hilink_device.h产品功能适配头文件,包含: 设备信息、设备模型定义 待实现设备服务控制、查询响应函数声明 供调用设备服务状态上报函数声明hilink_ota.hOTA功能定义头文件hilink_osadapter.hHiLinkSDK操作系统适
7、配头文件,包含系统时间、FIaSh读写、字符串操作、内存操作等系统函数适配接口声明hilink_log.hHiLinkSDK系统提供的日志打印接口函数声明头文件hilink_typedef.h系统类型定义头文件hilinksdkhilink_device.c产品功能适配源文件,包含设备模型相关待实现函数hilink_ota.cHiLink设备OTA升级功能待实现函数hilink_device_sdk.c根据设备模型生成的内部处理源代码,请勿修改MakefileMakefiIe样例文件,供开发时参考3HiLinkSDK集成详细步骤3.1 添加HiLinkSDK开发包到主程序工程中解压HiLink
8、SDK开发包到本地智能设备主程序源代码工程目录。通过修改Makefile文件,将HiLinkSDK开发包中的源代码文件(*.c)头文件(*.h)和静态库文件(*.a)添加到智能设备程序编译中。在设备开发调测过程中,引用IibhiIinkdeViCesdk_debug.a,可通过串口查看设备运行调试日志。在设备商用发布时,引用IibhiIinkdeViCeSdk_release.a,屏蔽开发调试日志。3.2 联网功能集成联网功能指HiLink智能家居APP扫描添加设备、绑定设备到用户帐号的功能。功能实现已封装到HiLinkSDK静态库内部。集成联网功能,开发者只需在设备程序中调用hilink_m
9、ain()函数即可,示例代码如下:includehilink.hvoidmain(void)(hilink_main();)3.3 互联互通功能集成互联互通功能包括:智能设备响应华为智能家居APP的服务状态控制命令;智能设备上报服务状态给华为智能家居APP;智能设备处理华为智能家居APP的服务状态查询命令。集成互联互通功能,请参考如下步骤:3.3.1 修改设备信息1 .版本信息打开hilinksdkincludehilink-device.h文件,根据实际情况修改设备的固件版本、软件版本、硬件版本,系统默认均设置为“1.0.0版本。#defineFIRMWARE_VER1.0.0#define
10、SOFTWARE_VER1.0.0#defineHARDWARE_VER1.0.02 .设备SN录入设备默认使用MAC地址作为SN号,如果开发者需要根据实际情况录入SN,可以实现hilinksdk/hilink_device.c中的如下接口,将SN数据传递给HiLinkSDKovoidHilinkGetDeviceSn(unsignedintIenzchar*sn);参数说明:(1) unsignedintlen:SN限制的最大长度,39字节;(2) char*sn:录入的SN信息。3.3.2获取设备在线状态(可选)开发者可以通过接口获取设备当前状态,当前支持状态列表如下:/*设备与云端连接断
11、开(版本向前兼葡/HdefineHILINK_M2M_CL0UD_0FFLINEO/*设备连接云端成功,处于正常工作态(版本向前兼容)*/UdefineHILINK_M2M_CL0UD_0NLINE1/*设备与云端连接长时间断开(版本向前兼容)*/HdefineHILINK_M2M_L0NG_0FFLINE2/*设备与云端连接长时间断开后进行重启(版本向前兼容)VHdefineHILINK_M2M_L0NG_0FFLINE_REB00T3*HiLink线程未启动*/UdefineHILINK_UNINITIALIZED4/*设备处于配网模式*/defineHILINK_LINK_UNDER_A
12、UTO_CONFIG5/*设备处于10分钟超时状态*/UdefineHILINK_LINK_CONFIG_TIMEOUT6/*设备正在连接路由器7UdefineHILINK_LINK_CONNECTTING_WIFI7/*设备已经连上路由器7UdefineHILINK_LINK_CONNECTED_WIFI8/*设备正在连接云端7ttdefineHILINK_M2M_C0NNECTTING_CL0UD9/*设备与路由器的连接断开7UdefineHILINK_M2M_CL0UD_DISC0NNECT101 .查询接口调用hilinksdk/include/hilink.h中声明的inthilin
13、k_get_devstatus(VOid)函数,返回值对应上面不同的状态。2 .状态变化回调函数实现hilinksdk/hilink_device.c中的虚函数hilink_notify_devstatus(intstatus),添加设备在线状态变化时的响应处理:voidhilink_notify_devstatus(intstatus)(Switch(Status)caseHILINK_M2M_CL0UD_0FFLINE:设备与云赢接断并,请在此处添加实现break;caseHlIJNK_M2M_CL0UD_。NLlNE:设A连接云端成正,请在此处添加实现break;default:brea
14、k;)3.3.3 实现恢复出厂设置(可选)恢复出厂设置,设备会清除Flash和华为智能家居云记录的设备绑定信息,并重新进入配网状态。如果智能设备有恢复出厂设置按钮或接口,可在按钮/接口触发时调用hilinksdk/include/hilink.h下的hilink_restore_factory_settings()o3.3.4 存取设备状态或配置(可选)HiLinkSDK提供了接口供开发者将一些简单的状态信息保存到FIaSh,FIaSh空间大小32字节。对没有电控板MCU的设备,可调用下面的接口将状态保存到模组FIaSh中。1 .保存用户设备状态调用hilinksdk/include/hili
15、nk.h中声明的以下函数保存用户的设备状态或配置,最长32字节。intHiIinkSetUserConfig(unsignedshortlen,char*config);注意,每次保存都会覆盖之前旧的内容。使用示例:chariConfig32=/*用户配置或状态*/;intret=HiIinkSetUserConfig(32,inConfig);if(ret=0)*保存成功7else/*保存失败*/2 .获取用户设备状态调用hilinksdk/include/hilink.h中声明的以下函数获取之前保存的设备状态或配置,最长32字节。intHiIinkGetUserConfig(char*co
16、nfig,unsignedshortlen);注意,参数Config是出参,调用者需要需要预先分配好内存。获取的设备状态或配置会被保存到config分配的内存中。使用示例:charoutConfg32=0;intret=HiIinkGetUserConfig(outConfig,32);if(ret=-0)*获取成功,信息被获取到OUtCOnfig中*/Jelse/*获取失败*/)3.3.5 实现设备服务状态控制功能华为根据产品功能定义,在hilinksdk/hilink_device.c中自动生成各个服务状态控制功能函数的代码框架。开发者需根据自身业务实现hilink_device.c文件中
17、的各个handle.服务IDmd()函数。例1,实现空调开关功能的函数:inthandle_switch_cmd(bool*on)/实现对on属性的修改if(on!=NULL)/请在此处实现设备状态改变的操作)/若同步操作改变设备状态,状态改变后,返回HILINK_OK/若异步操作改变设备状态,此处返回HluNK_PROCESSING,待状态改变后主动上报新状态returnHILINK_OK;)例2,实现空调风力调节功能的函数inthandle_wind_cmd(int*WindDireCtiOn/*风向*/,int*WindSPeed/*风速*/)(开发者实现,根据属性WindDireCti
18、On、WindSPeed的取值设置设备状态if(WindDirection=NULL)请在此处实现设备状态改变的操作)if(windSpeed!=NULL)/请在此处实现设备状态改变的操作)/若同步操作改变设备状态,状态改变后,返回HILINK,OK/若异步操作改变设备状态,此处返回HIUNKPROCESSING,待状态改变后主动上报新状态returnHILINK_OK;)3.3.6 实现设备服务状态查询功能华为根据产品功能定义,在hilinksdk/hilink_device.c中自动生成各个服务状态查询功能函数的代码框架。开发者需要根据自身业务逻辑实现hilink-device.c文件中g
19、et_服务ID_state()函数。例1,空调温度状态查询函数:intget_temperature_state(int*CurrentTemperature,int*targetTemperature)开发者实现,为入参CurrentTemperature,targetTemperature赋值returnHILINK_RET_SUCCESS;3.3.7 实现设备服务状态上报功能华为根据产品功能定义,在hilinksdk/include/hilink_device.h中自动生成服务状态上报功能的函数定义report_服务ID_state()o开发者需要在业务需要时(例如状态变化、周期性上报等
20、),调用report.服务ID_state()上报服务的当前状态。例1,如下为空调开关状态的上报函数:intreport_switch_state(boolon);3.3.8 实现设备重启预处理功能在hilinksdk/hilink_device.c中自动生成了模组重启之前供开发者实现的接口inthilink_process_before_restart(intflag),在异常情况下,HiLinkSDK会请求重启模组,调用该接口通知开发者进行数据备份等必要操作,以保证模组重启后的运行状态与重启前一致。若该接口的返回O,HiLinkSDK将重启模组,否则继续等待。这里的flag表示了不同的重启
21、类型,当flag为0时,表示HiLinkSDK线程看门狗触发即将重启,此时函数返回值既可以为。(允许重启),也可以为非0(不允许重启),需要开发者根据具体业务状态决定;当flag为1时,表示APP侧删除设备即将重启,此时函数返同值必须为。(允许重启),否则将导致删除设备功能异常。注意:请将该接口实现为非阻塞函数。3.3.9 实现HiLink网关模式下连云模式功能(可选)设备在HiLink网关模式下(绑定华为帐号)进行配网成功后,默认会由网关代理设备注册到云端,之后设备与云端的通信都会由网关进行代理转发。如果开发者需要设置在HiLink网关模式下连接华为智能家居云模式,可以调用在hilink.h
22、中的HiLinkSetGatewayMode(intflag)函数实现设备与云端的连接模式。当flag为。时,表示打开网关注册但关闭网关代理转发功能,1表示打开网关注册和代理转发功能,2表示关闭网关的注册和代理转发功能。3.4HOTA功能集成(可选)(乐鑫ESP8266模组和汉枫LPB130模组支持)HiLink设备的升级通过华为智能家居APP触发或者用户打开自动升级功能自动触发,由HiLinkSDK实现模组和MCU升级业务,开发者只需要实现几个接口,整体流程如下图所示:手机APPHILink SDK开发者检测新版本上报新版本信息i5HilinkGetMc UVersion触发新版本检测系统周
23、期性自动检测新版本实贩取MCUJ当期版本功能用户点的级自动升绥开关打开则 自动开始开缓显不进度将升级进度返酯APP模组升级调用 HHInkOtaStanProCeSS MCuft级倜用 HHInKNOtifyoIaSialUS实现开始升级 功能MCUH 级调用 HiIinkNotify OtaData将开线结果返醛APP显不结果MCUH 级调用 HHinkNolilyoIaSlaIUS模组升级调用HHlnkoIaEnOPrOCeSS自动升级调用HHInkGeIReDOOlFiag判断是否可以重启j英见传输MCU数据功能实现升级结束功能实现是否重启功能3.4.1 实现升级接口函数实现hilink
24、sdk/hilink_ota.c中升级接口函数:1 .获取MCU当曲版本信息函数实现获取MCU当前版本号HiIinkGetMcuVersion(char*versionzunsignedintinLen,unsignedint*outLen),开发者实现获取MCU的当前版本号。如果获取不到MCU的版本,则不能对MCU进行升级。建议开发者在MCU正常启动后,或升级启动后,就将MeU的版本号传递给模组,确保模组可以获取到MCU的版本。如果没有MCU的返回RETURN_ERROR_NO_MCU,获取成功则返回RETURN_0K,获取失败则返回RETURN_ERRORo2.模组开始升级函薪实现模组开始
25、升级函数HilinkotaStartProcess(inttype),开发者可在此函数中实现升级开始时需要添加的功能。HiLinkSDK在接收到升级指令后,将调用开发者适配的此接口:如果返回的结果为RETURN_OK,则HiLinkSDK将开始启动升级流程;如果返回的结果为RETURN_ERROR,则本次弄级将终止。开发者可在此接口中完成数据备份,状态存储等业务相关的处理。对于type等于UPDATEJYPE_AUT。(自动升级)场景,此场景升级过程可能在任何时间(包括白天,晚上用户经常使用前间,或凌晨用户不常使用的时间),但是对设备的升级后进行重启,则发生在凌晨2:004:00,因此需要尽量
26、避免在此过程中对用户产生影响(比如,不必要的发出声音,产生灯光闪烁等)。如果处理正常就返回RETURN-OK,处理异常请返回RETURN_ERRORo3 .模组结束升级函数实现模组结束升级函数HilinkOtaEndProcess(intstatus),开发者可在此函数中实现在升级结束时需要添加的功能。HiLinkSDK在将固件写入到OTA升级区后,且完整性校验通过后,将调用开发者适配的此接口;如果返回的结果为RETURN_0K,则HiLinkSDK将置升级标志或切换运行区标志;如果返回的结果为RETURN_ERROR,则本次升级失败,升级终止。开发者可在此接口中完成和升级相关的数据备济,状态
27、存储,特有的校验等功能。如果处理正常就返l11RETURN_OK,处理异常请返回RETURN_ERRORo4 .通知疝CU升级状态函数实现通知MCU升级状态函数HiIinkNotifyOtaStatus(intflag,unsignedintIenzunsignedinttype),开发者可在此函数中实现MCU升级状态改变时需要添加的功能。没有MCU可不用实现此函数。HiLinkSDK调用开发者适配的此接口通知MCU固件传输的状态。当此接口返回RETURN_0K时,HiLinkSDK继续正常处理后续流程;当此接口返回RETURN_ERROR时,HiLinkSDK将终止此次的MCU固件升级。当f
28、lag是1时,此接口需返问MCU升级的结果。当type等于UPDATE_TYPE_AUTO(自动升级)时,MCU只能在凌晨2:004:00之间且业务空闲的时刻重启,金免影响用户的使用。如果处理正常就返回RETURN_0K,处理异常请返问RETURN_ERROR。5 .MCU数据传输由数实现MCU数据传输函数HiIinkNotifyOtaDatalunsignedchar*data,unsignedintIenzunsignedintoffset),开发者可在此函数中实现传输MCU固件数据给MCU的功能。没有MCU可不用实现此函数。HiLinkSDK调用开发者适配的此接口通知开发者发送MCU固件
29、文件数据。HiLinkSDK通知发送MCU固件文件时,将MCU固件文件拆分成若干个数据包通知给模组。开发者适配的此接口需要返回MCU接收这部分数据的处理结果。当此接口返回RETURN_OK时,HiLinkSDK继续正常处理后续流程;当此接口返回RETURN_ERROR时,HiLinkSDK将终止此次的MCU固件升级。如果处理正常就返回RETURN_OK,处理异常请返回RETURN_ERROR。6 .判断模组是否能重启函数实现判断模组是否能重启函数HiIinkGetRebootFIag(VOid),开发者可在此函数中实现重启前保存数据之类的功能。HiLinkSDK调用开发者适配的此接口,获取在当
30、前业务状态下,模组是否可以立即重启的标志;只有当设备处于空闲状态时,才可以返回MODULE_CAN_REBOOT,表示此时可以重启模组;当设备未处于空闲状态时,接口返回MoDULE_CANNOT_REB。OT,表示此时不可以重启模组。当重启模组后,模组将加载运行新升级而固件版本。如果可以立即重启就返回MODULE_CAN_REBOOT,不能立即重启请返回MODULE_CANNOT_REBOOTo3.5OTA功能集成(可选)(除乐鑫ESP8266和汉枫LPB130模组外其他模组都支持)HiLink设备的升级通过华为智能家居APP触发,由智能家居厂家实现具体升级业务,整体流程如下图所示:3.5.1
31、 修改升级配置根据业务需要,修改hilinksdk/hilink_ota.c中如下升级配置:1 .版本号字符串长度修改宏定义VERSloN_LEN,调整设备版本字符串长度,范围为0,64)。代码示例如下:#defineVERSION_LEN(16)2 .版本描述字符串长度修改宏定义VERSIONNTRO_LEN,调整设备版本描述字符串长度,范围为0,512)。代码示例如下:#defineVERSION_INTRO_LEN(64)3 .设备重启延迟时间修改宏定义OTA_REBOOT_TIME,调整设备升级后重启延迟时间,单位为秒。示例代码如下:#define0TA_REB00T_TIME(60)
32、4 .升级任务优先级和栈空间大小修改hilink_ota_trig函数中创建升级任务hilink_ota_task时指定的优先级和栈空间大小,示例如下:ret=hilink_task_create(&deviceOtaTask,hilink_ota_task,4,*task优先级参考值,可根据实际情况调整*/1024,task栈大小参考值,可根据实际情况调整*/device_ota_t3skzNULL);3.5.2实现升级业务函数实现hilinksdk/hilink_ota.c中升级业务函数:7 .获取设备最新版本信息函数实现获取设备最新版本号和版本描述信息函数get_latest_versi
33、on_info,示例代码如下:intget_latest_versionJnfo(char*latest_version,char*latest_verJntro)*实现逻辑:1、连接升级服务器;2、获取最新固件版本信息,输出到latest_version和latest_ver_introo*/strncpy(latest_version,H07A_dev_ver,strlen(H07A_dev_ver);strncpy(latest_ver_intro,HOTA_ver_intro,strlen(HOTA_ver_intro);return0;)8 .获取设备当前版本号实现获取设备当前版本号
34、函数get_current_version,将当前设备版本号赋值全局变量g-currentersion,示例代码如下:intget_current_version(void)/*获取当前设备版本号到全局变量g_currentVersion*/strncpy(g_currentVersion,dev-ver;strlen(dev_ver);returnO;)9 .实现定时器函数实现定时器函数device_ota_timer,在升级任务超时后,由定时器函数终止任务。示例代码如下:voiddevice_ota_timer(intaction)if(action=1)*在此处实现启动定时器7start
35、_ota_timeout_timer();elseif(action=0)*在此处实现关闭定时渊7stop_ota_timeout_timer();else/*非法参数*/)10 .实现升级任务函数实现升级任务函数device_ota_task,实现设备软件版本下载和本地升级、重启。示例代码如下:intdevicJOta_task(VOid)/*设备升级流程由开发者实现,实现逻辑大体分为以下几个步骤供参考:1 .连接升级服务器;2 .下载升级包;3 .升级包校验;4 .升级包存入flash;5 .设备重启,运行新版本固件.升级过程中同步调用hilink_ota_rPJPrg接口上报实时升级进度
36、.*/hilink_task_delete(&deviceOtaTask,NULL);device_ota_timer(0);/*关闭定时器*/return0;)11 .上报升级进度在升级任务函数device_ota_task中,调用hilink_ota_rPJPrg函数,上报设备升级进度。示例代码如下:hilink_ota_rpt_prg(55,OTA_REBOOT_TIME);3.6DHCPOption60功能实现DHCPOption60用于智能设备向DHCP服务器上报自身厂商以及配置信息,设备开发者需要自行实现DHCPOption60上报功能。HiLink要求在DHCP的discover
37、报文中上报DHCPOPtiOn60信息,上报格式为:“厂商标识终端类型:“终端型号。厂商标识、“终端类型”、终端型号”三个属性可以通过hilink_device.h文件中的“MANUAFACTURER_NAME、“DEVICEjYPE_NAME、DEVlCE_MODEL”三个宏定义获取。4功能验证4.1 概述根据集成开发包中的认证测试用例HiLink智能家居解决方案SDK基本功能测试用例验证智能设备基本功能。根据产品定义的功能,验证业务功能。使用配套的华为智能家居APP(实现该设备对应的添加、注册、控制功能)与设备共同验证。特别注意,请关闭手机应用市场中华为智能家居APP的自动升级功能。该AP
38、P为测试专用APP,请勿升级至其他版本,否则APP无法进行正常调试工作。4.2 APP调试环境设置1 .运行华为智能家居APP,选择服务器,选择开发测试云,点击“确定”按钮,进入“华为智能家居通知”页面。请选择服务器商用云灰度云厂家认证云开发测试云OQ不再提醒取消确定2 .阅读“华为智能家居通知确认同意条款之后,点击“同意按钮,进入主页面。华为智能家居通知“智能家居”是用于智能家居设备控制的应用。为实现上述功能,本应用使用过程中需要联网和调用您的以下手机权限或功能:电话权限,定位权限,读写存储权限,读取应用列表权限。并需要收集、使用您的下列信息:-设备及网络信息,包括设备标识符、MAC地址、设
39、备序列号,用于识别当前所工作的设备,以及进行设备安全控制;-华为帐号登录信息,包括您的昵称、头像,使用昵称和头像是为了在应用中显示;-您的位置信息,如果您授权我们使用位置信息,Q我们可能将您的个人信息用于向您推送您可能感兴趣的商业广告,包括但不限于在通知栏展示活动、新版务、推荐消息等,您可以通过“我的设置关闭接收智郎家居APP推送的消息1来关闭推荐消息g加入用力体验改进id划点击同意,即表示您同意上述内容及华为智能家居用户协议、关于华为智能家居与隐私的声明。取消同意3.点击“登录按钮,进入华为帐号登录界面,登录华为帐号。中国移动0BGD出令d100%16:36我的家虚拟体验控制家庭设备,感受智
40、能互联生活等待扫描结果。4.3搜索添加待测设备1.进入华为智能家居APP首页家居页面,选择“添加设备”,中国移动00国出奇|100%15:35II的家2018-11-2819:29:06虚拟体验控制家庭设备,能互联生活添加设备造患回商城命 智能&我的2 .华为智能家居APP扫描到需要对接的设备,选择对应的设备,单击进入“连接设备”页面。27%CJ18:40添加设备手动查找自动扫描正在扫描.请确保智能设备已连接电源,且位于手机附近测试设备3 .在“连接设备页面输入当前连接的WLAN热点的密码”,单击下一步,设备开始连网注册,然后进入“设备设定页面。连接设备测试设备13%正在发送信息给设备请将手机
41、差近设备与路由器*27%。18:40念HO连接设备*27%口18:41ll测试设爸64%设备注册中请将手机旅近设备与路由器由说明如果已绑定华为路由器,密码将自动填充,不需输入。单击“开始使用。4 .在“设备设定页面,设置设备名称并选择该设备所在的位置,工设备设定设备名称所属房间%27%。18:41测试设备默认房间开始使用盒*Gt27%018:41设备设定设备名称测试设备所属房间默认房间选择房间默认房间O客厅O主卧卧室次卧书房客房取消3彘eO设备设定设备名称*26%口18:41测试设备所属房间客厅开始使用由说明设备名称可以修改,添加设备成功后在首页显示该名称。5.添加完成后可在华为智能家居APP
42、首页“家居页而查看到已添加设备。念*0*26%C18:41的家2018-11-2819:29:06+C有1个设备I个设备正常工作4.4验证设备控制功能1 .进入华为智能家居APP主页面后,单击待调测设备图标,进入设备控制页面。1盒;*26%O18:41的家2018-11-2819:29:06+C有1个设备1个设备正常工作设备2 .在设备控制页面,依次操作设备控制的所有控件,观察设备是否按照操作处理,APP状态与设备侧状态是否一致。5附录一:适配模组HiLinkSDKFlaSh使用情况本章节描述了HiLinkSDK在已经适配模组上的FIaSh使用情况,开发者集成HiLinkSDK后,如果其他业务
43、需要存取模组FlaSh,需要注意不要与HiLinkSDK已使用地址冲突。5.1 乐鑫esp8266模组用户可用Flash空间为分区大小减去Boot信息和系统程序大小剩余的空间。由于系统程序大小不固定,用户可用FIaSh大小也不固定,因此FIaSh使用应该从后往前的顺序使用。IM(512K+512K)Flash模组已使用空间:特性模块起始SeCtOr号起止地址占用空间大小HiLinkSDK122(0x7A)0x7A000-0x7FFFF24KB可用区域121(0x79)及之前0x79FFF及之前约80KB可用的扇区地址的物理地址2M(1024K+1024K)Flash模组已使用空间:特性模块起始
44、SeetOr号起止地址占用空间大小HiLinkSDK250(OxFA)OxFAOOO-OxFFFFF24KB可用区域249(0xF9)及之前的扇区地址0F9FFF及之前的物理地址约57OkB可用5.2 庆科emw3090模组庆科模组Flash读取需要使用庆科封装的API接口。API接口声明:OSStatusMicoFlashErase(mico_partition_tpartition,uint32_toff_set,uint32-tsize);OSStatusMicoFlashWrite(mico_partition_tpartition,volatileuint32_t*off-setzuint8_t*inBuffer,uint32_tInBufferLength);OSStatusMicoFIashReadtmico_partition_tpartition,volatileuint32-t*off_set