写点什么

HarmonyOS Connect FAQ 第三期

  • 2022 年 6 月 08 日
  • 本文字数:4266 字

    阅读完需:约 14 分钟

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 平台查询。

  1. 使用 Chrome 浏览器登录 Device Partner 平台,单击右上角的“管理中心”。

  2. 按 F12 打开调试控制台。

  3. Application 中的 Storage 中查看,或者在 Network 中通过请求查看。

  • 在“Application”中,选择“Storage > Local Storage”,找到 userInfo 属性,即可查询到 userId 信息。



  • 在“Network”中,选择“All”,在搜索框中输入“getUserInfo”,并按 F5 刷新页面。通过“getUserInfo”请求的返回值中即可查询到 userId 信息。



方式二:登录华为商场 VMALL 平台查询。

  1. 使用 Chrome 浏览器进入华为商城 VMALL 官网,并登录。

  2. 按 F12 打开调试控制台。

  3. 在“Application”中,选择“Cookies”,找到 uid 属性,即可查询到 userId 信息。



华为商城 VMALL 官网:https://www.vmall.com/index_new.html


Q3: 如何通过设备日志获取设备 deviceId

使用智慧生活 App 添加设备,设备添加成功后,在产生的设备侧日志中搜索“Start to login, devId =”获取。

二、设备连接

第二部分是设备连接方面的问题,涵盖“待配网”、“配网过程”、“配网失败”三种情况,快看看有没有解答你的疑问~


Q4: 模组待配网的超时时间是多久?如何配置?

超时时间默认为 10 分钟。修改方法如下:

  • 极速常规/秒控配网:在超时时间函数“HILINK_SetNetConfigTimeout(unsigned long netConfigTimeout)”中配置。

  • 蓝牙辅助配网:在 BLE 配网广播控制函数“BLE_CfgNetAdvCtrl(unsigned int advSecond)”中配置,其中的蓝牙广播时间必须与极速常规/秒控配网中的超时时间保持一致。


Q5: 设备处于待配网模式时,手机未碰触设备也会出现连接弹窗

问题描述

设备处于待配网模式时,手机未碰触设备也会出现连接弹窗。可能原因该模组支持 Wi-Fi 靠近发现功能(此时代码中 HILINK_GetDevSurfacePower 接口的返回值为“0”)。当手机靠近待配网的设备时,会发现设备并出现连接弹窗。解决措施


打开“hilink_device.c”文件,将 HILINK_GetDevSurfacePower 接口的返回值配置为“-1”,关闭 Wi-Fi 靠近发现功能。


Q6: 设备配网过程中,KitFramework 认证时软证书解析失败

问题现象设备 KitFramework 认证时软证书解析失败,日志显示“ERROR : Get padding failed,ret = -0x6200” 。


可能原因

  • 原因一:ProdID 或者 AcKey 配置异常。

  • 原因二:使用了其他产品的设备软证书。


解决措施

  1. 检查“hal_token.c”中的 productId 及 AcKey 信息,确保和 Device Partner 平台管理中心上的产品信息保持一致。

  2. 重新申请设备软证书并写入设备。

申请设备软证书:

https://device.harmonyos.com/cn/docs/devicepartner/DevicePartner-Guides/device-authorization-0000001134626077


Q7: 设备配网过程中,KitFramework 认证时产品信息查询失败

问题现象设备 KitFramework 认证时产品信息查询失败,日志显示“ERROR [KitFramework]: Do symbol authentication failed, ret = -30004” 。


可能原因

  • 原因一:设备的基础信息与 Device Partner 平台配置的产品信息不一致。

  • 原因二:未添加调测设备 SN。


解决措施

  1. 检查“hal_sys_param.c“文件中企业英文名、产品型号、品牌英文名信息是否配置正确,确保和 Device Partner 平台管理中心上的产品信息保持一致。

  2. 进入 Device Partner 平台的管理中心,选择“产品开发 > 集成开发 > 管理调测设备”,添加调测设备的 SN 号。


Q8: 设备配网过程中,设备侧日志已显示“get wifi ssid pwd done”,但热点无法连接

问题现象设备配网的过程中,设备侧日志已显示“get wifi ssid pwd done”,但之后串口工具循环打印设备侧日志“+NOTICE:SCANFINISH/+NOTICE:DISCONNECTED”,热点无法连接,最终设备配网失败。


可能原因

  • 原因一:在智慧生活 App 扫描配网输入热点信息界面时,输入了错误的 SSID 或密码。

  • 原因二:勾选了记住密码,但热点密码已发生了改变,再次配网时传入了旧密码导致。


解决措施

  1. 将设备重置,并重新进入待配网状态。

  2. 重新给设备配网,在热点信息界面输入正确的 SSID 和密码。


Q9: 设备配网失败且设备侧日志显示“Parse symbol authentication response message failed”

问题现象设备配网的过程中,串口工具打印的设备侧日志显示“Parse symbol authentication response message failed”,配网流程结束后,智慧生活 App 显示设备配网失败。


可能原因

  • 原因一:hal_sys_param.c 文件中的产品信息未配置正确。

  • 原因二:设备软证书(激活码)与产品信息不匹配。

  • 原因三:Device Partner 平台管理中心上添加的调测设备 SN 与 HalGetSearial 接口返回的 value 值不一致。


解决措施

  1. 检查 hal_sys_param.c 文件中企业英文名、产品型号、品牌英文名信息是否配置正确,确保和 Device Partner 平台管理中心上的产品信息保持一致。

  2. 在 Device Partner 平台管理中心上重新申请设备软证书(激活码),并写入设备。

  3. 检查 hal_sys_param.c 文件中 HalGetSearial 接口的实现,可通过打印 value 方式查看其返回值是否和 Device Partner 平台管理中心上配置的调测设备 SN 是否一致(大小写也需要保持一致)。


Q10: 智慧生活 App Debug 版本扫描设备显示为“未知设备”

问题现象智慧生活 App Debug 版本环境设置为“认证沙箱”时能够正常扫描设备,但切换至“商用环境”后扫描设备显示为“未知设备”。可能原因登录智慧生活 App 的华为帐号未申请测试权限。


解决措施

  1. 进入手机“设置 > 应用和服务 > 应用管理”,在应用列表中选择智慧生活,进入智慧生活应用信息页面后,选择“存储”并点击“删除数据”。

  2. 登录 Device Partner 平台,进入“管理中心”,在“帐号管理 > 基本资料 > 申请测试权限”页面,点击“立即申请测试权限”。

  3. 使用步骤 2 中的同一帐号登录智慧生活 App。

  4. 使用智慧生活 App 重新扫描设备。


Q11: 智慧生活 App 添加设备成功后,设备频繁离线

问题现象在智慧生活 App 中添加设备成功后,设备和路由器电源正常,但设备频繁离线。可能原因可能是固件配置文件“hilink_device_sdk.c”与 Device Partner 平台的 Profile 文件中定义的功能不一致。



不同开发方案中的固件配置文件名称可能存在差异,此处以“HarmonyOS Connect 直连方案(Wi-Fi/Combo)”中的固件配置文件“hilink_device_sdk.c”为例。


解决措施检查固件配置文件“hilink_device_sdk.c”与平台 Profile 中定义的功能是否完全一致。

  1. 登录华为智能硬件合作伙伴平台,进入“管理中心”。

  2. 在左侧菜单栏选择“产品开发”,在右侧的产品开发页面中选择对应的产品。

  3. 单击对应的产品进入“产品定义 > 物模型定义”页面。

  4. 在界面右上角“下载 Profile(Excel)”或者“下载 Profile(Json)”。

  5. 检查固件配置文件“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 注册超时。


解决措施

  1. 检查“hal_sys_param.c”文件中企业英文名、产品型号、品牌英文名信息是否配置正确,确保和 Device Partner 平台管理中心上的产品信息保持一致。

  2. 检查“hilink_device.h”的产品 ID、设备类型 、企业 ID 是否配置正确,确保和 Device Partner 平台管理中心上的产品信息保持一致。

  3. 在 Device Partner 平台的管理中心上重新申请设备软证书,并写入设备。


Q13: 智慧生活 App 添加设备失败,设备侧日志显示“Hardware result is [14002]”

问题现象使用智慧生活 App 添加设备失败,关键设备侧日志参考如下:


ERROR [KitFramework]: Read ticket failedERROR [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
复制代码

复制代码


可能原因

  • 原因一:软证书被使用过,已经失效。

  • 原因二:软证书和设备固件中配置的产品信息不匹配。


解决措施

  1. 从已获取的软证书中重新选择一个软证书,确认其未被使用后,重新写入设备,再进行设备配网。

  2. 在平台提交产品信息并重新申请设备软证书。

  3. 登录 Device Partner 平台,进入“管理中心”。

  4. 在“产品开发 > 产品定义 > 软硬件定义”页面,单击“编辑”后,再单击“提交”重新触发产品信息同步。

  5. 重新申请设备软证书并写入设备。

三、其他问题

最后是“烧写激活码”、“报文上报频率”内容的解答。


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 次/秒。



发布于: 刚刚阅读数: 4
用户头像

每一位开发者都是华为要汇聚的星星之火 2021.10.15 加入

提供HarmonyOS关键技术解析、版本更新、开发者实践和活动资讯,欢迎各位开发者加入HarmonyOS生态,一起创造无限可能!

评论

发布
暂无评论
HarmonyOS Connect FAQ 第三期_HarmonyOS_HarmonyOS开发者社区_InfoQ写作社区