原文:https://mp.weixin.qq.com/s/YpI9-k4yQvNhaMfg7Li82g,点击链接查看更多技术内容。
 
在开发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平台:
 
Q2: 如何获取“userId”
 
在云端查询设备挂机日志,需提供有效“userId”。查询方式如下所示:
 
方式一:登录Device Partner平台查询。
  1. 使用Chrome浏览器登录Device Partner平台,单击右上角的“管理中心”。
  1. 按F12打开调试控制台。
  1. Application中的Storage中查看,或者在Network中通过请求查看。
  • 在“Application”中,选择“Storage > Local Storage”,找到userInfo属性,即可查询到userId信息。
  • 在“Network”中,选择“All”,在搜索框中输入“getUserInfo”,并按F5刷新页面。通过“getUserInfo”请求的返回值中即可查询到userId信息。

方式二:登录华为商场VMALL平台查询。
  1. 使用Chrome浏览器进入华为商城VMALL官网,并登录。
  1. 按F12打开调试控制台。
  1. 在“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平台管理中心上的产品信息保持一致。
  1. 重新申请设备软证书并写入设备。
申请设备软证书:
 
Q7: 设备配网过程中,KitFramework认证时产品信息查询失败
 
问题现象设备KitFramework认证时产品信息查询失败,日志显示“ERROR [KitFramework]: Do symbol authentication failed, ret = -30004” 。
 
可能原因
  • 原因一:设备的基础信息与Device Partner平台配置的产品信息不一致。
  • 原因二:未添加调测设备SN。
解决措施
  1. 检查“hal_sys_param.c“文件中企业英文名、产品型号、品牌英文名信息是否配置正确,确保和Device Partner平台管理中心上的产品信息保持一致。
  1. 进入Device Partner平台的管理中心,选择“产品开发 > 集成开发 > 管理调测设备”,添加调测设备的SN号。
 
Q8: 设备配网过程中,设备侧日志已显示“get wifi ssid pwd done”,但热点无法连接
 
问题现象设备配网的过程中,设备侧日志已显示“get wifi ssid pwd done”,但之后串口工具循环打印设备侧日志“+NOTICE:SCANFINISH/+NOTICE:DISCONNECTED”,热点无法连接,最终设备配网失败。
 
可能原因
  • 原因一:在智慧生活App扫描配网输入热点信息界面时,输入了错误的SSID或密码。
  • 原因二:勾选了记住密码,但热点密码已发生了改变,再次配网时传入了旧密码导致。
解决措施
  1. 将设备重置,并重新进入待配网状态。
  1. 重新给设备配网,在热点信息界面输入正确的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平台管理中心上的产品信息保持一致。
  1. 在Device Partner平台管理中心上重新申请设备软证书(激活码),并写入设备。
  1. 检查hal_sys_param.c文件中HalGetSearial接口的实现,可通过打印value方式查看其返回值是否和Device Partner平台管理中心上配置的调测设备SN是否一致(大小写也需要保持一致)。
 
Q10: 智慧生活App Debug版本扫描设备显示为“未知设备”
 
问题现象智慧生活App Debug版本环境设置为“认证沙箱”时能够正常扫描设备,但切换至“商用环境”后扫描设备显示为“未知设备”。可能原因登录智慧生活App的华为帐号未申请测试权限。
 
解决措施
  1. 进入手机“设置 > 应用和服务 > 应用管理”,在应用列表中选择智慧生活,进入智慧生活应用信息页面后,选择“存储”并点击“删除数据”。
  1. 登录Device Partner平台,进入“管理中心”,在“帐号管理 > 基本资料 > 申请测试权限”页面,点击“立即申请测试权限”。
  1. 使用步骤2中的同一帐号登录智慧生活App。
  1. 使用智慧生活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. 登录华为智能硬件合作伙伴平台,进入“管理中心”。
  1. 在左侧菜单栏选择“产品开发”,在右侧的产品开发页面中选择对应的产品。
  1. 单击对应的产品进入“产品定义 > 物模型定义”页面。
  1. 在界面右上角“下载Profile(Excel)”或者“下载Profile(Json)”。
  1. 检查固件配置文件“hilink_device_sdk.c”与Profile中定义的功能是否完全一致。如果不一致,需要修改配置文件“hilink_device_sdk.c”。
华为智能硬件合作伙伴平台:
 
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平台管理中心上的产品信息保持一致。
  1. 检查“hilink_device.h”的产品ID、设备类型 、企业ID是否配置正确,确保和Device Partner平台管理中心上的产品信息保持一致。
  1. 在Device Partner平台的管理中心上重新申请设备软证书,并写入设备。
 
Q13: 智慧生活App添加设备失败,设备侧日志显示“Hardware result is [14002]”
 
问题现象使用智慧生活App添加设备失败,关键设备侧日志参考如下:
 
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

  

可能原因
  • 原因一:软证书被使用过,已经失效。
  • 原因二:软证书和设备固件中配置的产品信息不匹配。
解决措施
  1. 从已获取的软证书中重新选择一个软证书,确认其未被使用后,重新写入设备,再进行设备配网。
  1. 在平台提交产品信息并重新申请设备软证书。
  1. 登录Device Partner平台,进入“管理中心”。
  1. 在“产品开发 > 产品定义 > 软硬件定义”页面,单击“编辑”后,再单击“提交”重新触发产品信息同步。
  1. 重新申请设备软证书并写入设备。

三、其他问题

最后是“烧写激活码”、“报文上报频率”内容的解答。
 
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次/秒。
 

HarmonyOS Connect FAQ第三期的更多相关文章

  1. [认证授权] 4.OIDC(OpenId Connect)身份认证授权(核心部分)

    0 目录 认证授权系列:http://www.cnblogs.com/linianhui/category/929878.html 1 什么是OIDC? 看一下官方的介绍(http://openid. ...

  2. [认证授权] 4.OIDC(OpenId Connect)身份认证(核心部分)

    1 什么是OIDC? 看一下官方的介绍(http://openid.net/connect/): OpenID Connect 1.0 is a simple identity layer on to ...

  3. HarmonyOS小白入门设备开发的“芯”路历程

    HarmonyOS Connect设备开发,相信不少刚入门的开发者都被这些问题所困扰,面对五花八门的开发板不知道该怎么选取?芯片.模组.开发板傻傻分不清?如何使用代码控制开发板? 本期,我们将一一为你 ...

  4. 【翻译】Open ID Connect---OIDC 是什么东西?

    Welcome to OpenID Connect What is OpenID Connect? OpenID Connect 1.0 is a simple identity layer on t ...

  5. 认证授权:学习OIDC

    前言 上一篇文章介绍了OAuth2.0协议的相关内容,知道OAuth2.0是一个授权协议,无法提供完善的身份认证功能.那么什么来解决身份认证功能呢?——OIDC是一个不错的解决方案.接下来进一步来了解 ...

  6. 从零搭建一个IdentityServer——初识OpenIDConnect

    上一篇文章实现了IdentityServer4与Asp.net core Identity的集成,可以使用通过identity注册功能添加的用户,以Password的方式获取Access token, ...

  7. 异构智联Wi-Fi+蓝牙模组,连接快、准、稳!

    下班回家打开门,电灯.电视.空调.音响.电动窗帘.扫地机器人--一呼百应,有序开工,原本冰冷的房子立刻变成了温暖港湾.可以说,舒适便捷的智能设备已经完全融入了我们的生活中. 从单一场景.单一设备,到现 ...

  8. DevEco Device Tool 3.0 Release 新版本发布,支持多人共享开发

    DevEco Device Tool 是面向智能设备开发者提供的一站式集成开发环境,支持 HarmonyOS Connect 的组件按需定制,支持代码编辑.编译.烧录和调试.性能监测等功能,支持 C/ ...

  9. FAQ Selenium中提示can not connect to the service chromedriver 的解决方法

    can not connect to the service chromedriver问题的处理 背景 一个同学反馈运行如下代码  from selenium import webdriver     ...

  10. Raspberry Pi 3 FAQ --- connect automatically to 'mirrors.zju.edu.cn' when downloading and how to accelerate download

    modify the software source: The software source is a place where several free application for linux ...

随机推荐

  1. Anaconda与Python环境在Windows中的部署

      本文介绍在Win10电脑中,安装Anaconda环境与Python语言的方法.   在这里需要注意,本文介绍的方法是在电脑自身原本不含有Python的情况下进行的:如果大家电脑中原本就下载.安装过 ...

  2. .NET开源功能强大的串口调试工具

    前言 今天大姚给大家分享一款.NET开源的.功能强大的串口调试工具:LLCOM. 工具介绍 LLCOM是一个.NET开源的.功能强大的串口调试工具.支持Lua自动化处理.串口调试.串口监听.串口曲线. ...

  3. Dungeon Master 题解

    这道题的题意简单来说:就是在3D迷宫里找出口,也就是三维地图,需要用到三维数组 由于本人写代码极易出错,所以在输入三维数组的时候修改了c(column,即列)的值,重复定义了没看到==,后面改成定义成 ...

  4. MySQL基础篇快速记忆和查询

    查询 语法: SELECT 标识选择哪些列 FROM 标识从哪个表中选择 去重(Distinct) 在SELECT语句中使用关键字DISTINCT去除重复行 SELECT DISTINCT depar ...

  5. Python笔记六之多进程

    本文首发于公众号:Hunter后端 原文链接:Python笔记六之多进程 在 Python 里,我们使用 multiprocessing 这个模块来进行多进程的操作. multiprocessing ...

  6. windows10 使用gcc编译生成可执行文件exe实例解析

    一 操作步骤 1.生成可执行程序 cd xxx # 先进入源程序所在的目录 gcc hello.cpp # 一次性编译,windows系统生成a.exe文件,Linux系统生成a.out文件 gcc ...

  7. Winform DataGridView 添加复选框列

    1.编辑DataGridView的属性: 2.定义列的类型为chekcBox: 3.点击添加: 4.效果: 5.编辑:

  8. 反编译和逆向出现:java.lang.VerifyError(新问题样本)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  9. 三维模型OBJ格式轻量化的纹理压缩和质量关系分析

    三维模型OBJ格式轻量化的纹理压缩和质量关系分析 三维模型的OBJ格式通常包含纹理信息,而对纹理进行轻量化压缩可以减小文件大小和提高加载性能.然而,在进行纹理压缩时需要权衡压缩比率和保持质量之间的关系 ...

  10. 记录--说一说css的font-size: 0

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 平常我们说的font-size:0:就是设置字体大小为0对吧,但是它的用处不仅仅如此哦,它还可以消除子行内元素间额外多余的空白! 问题描述 ...