HarmonyOS Connect FAQ第三期
作者:互联网
在开发HarmonyOS Connect生态产品时,你是否对设备开发存在这些疑问:
如何获取HiLink SDK包、userId、设备deviceId等信息?
如何配置模组待配网的超时时间?
如何处理设备配网中KitFramework认证失败?
……?
本期FAQ通过三个章节——信息获取、设备连接、其他问题,为大家带来15个设备开发常见问题答疑,让你快速get到解决方案。
赶紧往下看吧~
一、信息获取
首先是信息获取方面的问题,包括“HiLink SDK包”、“userId”、“设备deviceId”内容,希望能给你带来一定帮助~ Q1: 如何获取HiLink SDK包 1.登录Device Partner平台,进入“管理中心”。2.在导航栏选择“产品开发”,选择对应产品。3.在“集成开发 > SDK下载&集成开发 > 集成开发”中,即可下载对应的HiLink SDK包。Device Partner平台: https://devicepartner.huawei.com/cn/Q2: 如何获取“userId” 在云端查询设备挂机日志,需提供有效“userId”。查询方式如下所示: 方式一:登录Device Partner平台查询。
- 使用Chrome浏览器登录Device Partner平台,单击右上角的“管理中心”。
- 按F12打开调试控制台。
- Application中的Storage中查看,或者在Network中通过请求查看。
- 在“Application”中,选择“Storage > Local Storage”,找到userInfo属性,即可查询到userId信息。
- 在“Network”中,选择“All”,在搜索框中输入“getUserInfo”,并按F5刷新页面。通过“getUserInfo”请求的返回值中即可查询到userId信息。
方式二:登录华为商场VMALL平台查询。
- 使用Chrome浏览器进入华为商城VMALL官网,并登录。
- 按F12打开调试控制台。
- 在“Application”中,选择“Cookies”,找到uid属性,即可查询到userId信息。
华为商城VMALL官网:https://www.vmall.com/index_new.htmlQ3: 如何通过设备日志获取设备deviceId 使用智慧生活App添加设备,设备添加成功后,在产生的设备侧日志中搜索“Start to login, devId =”获取。
二、设备连接
第二部分是设备连接方面的问题,涵盖“待配网”、“配网过程”、“配网失败”三种情况,快看看有没有解答你的疑问~ Q4: 模组待配网的超时时间是多久?如何配置? 超时时间默认为10分钟。修改方法如下:- 极速常规/秒控配网:在超时时间函数“HILINK_SetNetConfigTimeout(unsigned long netConfigTimeout)”中配置。
- 蓝牙辅助配网:在BLE配网广播控制函数“BLE_CfgNetAdvCtrl(unsigned int advSecond)”中配置,其中的蓝牙广播时间必须与极速常规/秒控配网中的超时时间保持一致。
- 原因一:ProdID或者AcKey配置异常。
- 原因二:使用了其他产品的设备软证书。
- 检查“hal_token.c”中的productId及AcKey信息,确保和Device Partner平台管理中心上的产品信息保持一致。
- 重新申请设备软证书并写入设备。
申请设备软证书: https://device.harmonyos.com/cn/docs/devicepartner/DevicePartner-Guides/device-authorization-0000001134626077Q7: 设备配网过程中,KitFramework认证时产品信息查询失败 问题现象设备KitFramework认证时产品信息查询失败,日志显示“ERROR [KitFramework]: Do symbol authentication failed, ret = -30004” 。 可能原因
- 原因一:设备的基础信息与Device Partner平台配置的产品信息不一致。
- 原因二:未添加调测设备SN。
- 检查“hal_sys_param.c“文件中企业英文名、产品型号、品牌英文名信息是否配置正确,确保和Device Partner平台管理中心上的产品信息保持一致。
- 进入Device Partner平台的管理中心,选择“产品开发 > 集成开发 > 管理调测设备”,添加调测设备的SN号。
- 原因一:在智慧生活App扫描配网输入热点信息界面时,输入了错误的SSID或密码。
- 原因二:勾选了记住密码,但热点密码已发生了改变,再次配网时传入了旧密码导致。
- 将设备重置,并重新进入待配网状态。
- 重新给设备配网,在热点信息界面输入正确的SSID和密码。
- 原因一:hal_sys_param.c文件中的产品信息未配置正确。
- 原因二:设备软证书(激活码)与产品信息不匹配。
- 原因三:Device Partner平台管理中心上添加的调测设备SN与HalGetSearial接口返回的value值不一致。
- 检查hal_sys_param.c文件中企业英文名、产品型号、品牌英文名信息是否配置正确,确保和Device Partner平台管理中心上的产品信息保持一致。
- 在Device Partner平台管理中心上重新申请设备软证书(激活码),并写入设备。
- 检查hal_sys_param.c文件中HalGetSearial接口的实现,可通过打印value方式查看其返回值是否和Device Partner平台管理中心上配置的调测设备SN是否一致(大小写也需要保持一致)。
- 进入手机“设置 > 应用和服务 > 应用管理”,在应用列表中选择智慧生活,进入智慧生活应用信息页面后,选择“存储”并点击“删除数据”。
- 登录Device Partner平台,进入“管理中心”,在“帐号管理 > 基本资料 > 申请测试权限”页面,点击“立即申请测试权限”。
- 使用步骤2中的同一帐号登录智慧生活App。
- 使用智慧生活App重新扫描设备。
不同开发方案中的固件配置文件名称可能存在差异,此处以“HarmonyOS Connect直连方案(Wi-Fi/Combo)”中的固件配置文件“hilink_device_sdk.c”为例。
解决措施检查固件配置文件“hilink_device_sdk.c”与平台Profile中定义的功能是否完全一致。- 登录华为智能硬件合作伙伴平台,进入“管理中心”。
- 在左侧菜单栏选择“产品开发”,在右侧的产品开发页面中选择对应的产品。
- 单击对应的产品进入“产品定义 > 物模型定义”页面。
- 在界面右上角“下载Profile(Excel)”或者“下载Profile(Json)”。
- 检查固件配置文件“hilink_device_sdk.c”与Profile中定义的功能是否完全一致。如果不一致,需要修改配置文件“hilink_device_sdk.c”。
华为智能硬件合作伙伴平台: https://devicepartner.huawei.com/cn/Q12: 智慧生活App添加设备失败,配网进度显示99%,设备日志显示“hilink register timeout” 问题现象智慧生活App添加设备失败,配网进度显示99%,设备日志报错如下:
hilink register timeout
可能原因
- 原因一:“hal_sys_param.c”文件中的产品信息未配置正确,导致KitFramework认证失败。
- 原因二:“hilink_device.h”文件中的产品信息未配置正确,导致HiLinkSDK注册超时。
- 检查“hal_sys_param.c”文件中企业英文名、产品型号、品牌英文名信息是否配置正确,确保和Device Partner平台管理中心上的产品信息保持一致。
- 检查“hilink_device.h”的产品ID、设备类型 、企业ID是否配置正确,确保和Device Partner平台管理中心上的产品信息保持一致。
- 在Device Partner平台的管理中心上重新申请设备软证书,并写入设备。
ERROR [KitFramework]: Read ticket failed ERROR [KitFramework]: Read tikcet failed …… INFO [KitFramework]: Hardware result is [14002] INFO [KitFramework]: Symbol authentication succeed WARN [KitFramework]: Write ticket failed …… INFO [KitFramework]: Start active symbol ERROR [KitFramework]: Invalid parameter ERROR [KitFramework]: Active symbol failed, ret = -1
可能原因
- 原因一:软证书被使用过,已经失效。
- 原因二:软证书和设备固件中配置的产品信息不匹配。
- 从已获取的软证书中重新选择一个软证书,确认其未被使用后,重新写入设备,再进行设备配网。
- 在平台提交产品信息并重新申请设备软证书。
- 登录Device Partner平台,进入“管理中心”。
- 在“产品开发 > 产品定义 > 软硬件定义”页面,单击“编辑”后,再单击“提交”重新触发产品信息同步。
- 重新申请设备软证书并写入设备。
三、其他问题
最后是“烧写激活码”、“报文上报频率”内容的解答。 Q14: 如何在固件中烧写激活码 激活码是设备合法性认证的唯一标识,系统会通过激活码配置文件“hal_token.c”中的OEMReadToken函数来读取激活码。烧写激活码有以下两种方式:- 通过AT指令写入:开发AT指令,调用激活码写入函数。以Hi3861模组为例,烧写激活码的AT指令如下:
AT+TOKEN=激活码
- 通过bin烧录:在bin文件中替换激活码,并按照指定的地址和长度烧录。烧录的地址和长度可以参考激活码配置文件“hal_token.c”中的定义。
// token flag offset address #define TOKEN_REGION_BEGIN 0x1F9000 #define TOKEN_REGION_END 0x1FB000
Q15: HiLink SDK报文上报的频率限制是多少 最短50ms上报一次报文,即不超过20次/秒。
标签:App,FAQ,HarmonyOS,配网,Connect,KitFramework,Device,Partner,设备 来源: https://www.cnblogs.com/HarmonyOSDev/p/16352151.html