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官網:
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配置異常。
- 原因二:使用了其他產品的裝置軟證書。
解決措施
- 檢查“hal_token.c”中的productId及AcKey資訊,確保和Device Partner平臺管理中心上的產品資訊保持一致。
- 重新申請裝置軟證書並寫入裝置。
申請裝置軟證書: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。
解決措施
- 檢查“hal_sys_param.c“檔案中企業英文名、產品型號、品牌英文名資訊是否配置正確,確保和Device Partner平臺管理中心上的產品資訊保持一致。
- 進入Device Partner平臺的管理中心,選擇“產品開發 > 整合開發 > 管理調測裝置”,新增調測裝置的SN號。
Q8: 裝置配網過程中,裝置側日誌已顯示“get wifi ssid pwd done”,但熱點無法連線
問題現象裝置配網的過程中,裝置側日誌已顯示“get wifi ssid pwd done”,但之後串列埠工具迴圈列印裝置側日誌“+NOTICE:SCANFINISH/+NOTICE:DISCONNECTED”,熱點無法連線,最終裝置配網失敗。可能原因
- 原因一:在智慧生活App掃描配網輸入熱點資訊介面時,輸入了錯誤的SSID或密碼。
- 原因二:勾選了記住密碼,但熱點密碼已發生了改變,再次配網時傳入了舊密碼導致。
解決措施
- 將裝置重置,並重新進入待配網狀態。
- 重新給裝置配網,在熱點資訊介面輸入正確的SSID和密碼。
Q9: 裝置配網失敗且裝置側日誌顯示“Parse symbol authentication response message failed”
問題現象裝置配網的過程中,串列埠工具列印的裝置側日誌顯示“Parse symbol authentication response message failed”,配網流程結束後,智慧生活App顯示裝置配網失敗。可能原因
- 原因一: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是否一致(大小寫也需要保持一致)。
Q10: 智慧生活App Debug版本掃描裝置顯示為“未知裝置”
問題現象智慧生活App Debug版本環境設定為“認證沙箱”時能夠正常掃描裝置,但切換至“商用環境”後掃描裝置顯示為“未知裝置”。可能原因登入智慧生活App的華為帳號未申請測試許可權。
解決措施
- 進入手機“設定 > 應用和服務 > 應用管理”,在應用列表中選擇智慧生活,進入智慧生活應用資訊頁面後,選擇“儲存”並點選“刪除資料”。
- 登入Device Partner平臺,進入“管理中心”,在“帳號管理 > 基本資料 > 申請測試許可權”頁面,點選“立即申請測試許可權”。
- 使用步驟2中的同一帳號登入智慧生活App。
- 使用智慧生活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中定義的功能是否完全一致。
- 登入華為智慧硬體合作伙伴平臺,進入“管理中心”。
- 在左側選單欄選擇“產品開發”,在右側的產品開發頁面中選擇對應的產品。
- 單擊對應的產品進入“產品定義 > 物模型定義”頁面。
- 在介面右上角“下載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平臺的管理中心上重新申請裝置軟證書,並寫入裝置。
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
可能原因
- 原因一:軟證書被使用過,已經失效。
- 原因二:軟證書和裝置韌體中配置的產品資訊不匹配。
解決措施
- 從已獲取的軟證書中重新選擇一個軟證書,確認其未被使用後,重新寫入裝置,再進行裝置配網。
- 在平臺提交產品資訊並重新申請裝置軟證書。
- 登入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次/秒。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70009402/viewspace-2899215/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HarmonyOS Connect認證測試
- 【FAQ】HarmonyOS SDK 閉源開放能力 —ArkUIUI
- 【FAQ】HarmonyOS SDK 閉源開放能力 —Share Kit
- 【FAQ】HarmonyOS SDK 閉源開放能力 —Vision Kit
- 【FAQ】HarmonyOS SDK 閉源開放能力 —Push Kit
- 【FAQ】HarmonyOS SDK 閉源開放能力 —Account Kit
- 【FAQ】HarmonyOS SDK 閉源開放能力 —Map Kit
- 【FAQ】HarmonyOS SDK 閉源開放能力 —IAP Kit
- 【FAQ】HarmonyOS SDK 閉源開放能力 —Push Kit(6)
- 【FAQ】HarmonyOS SDK 閉源開放能力 — 公共模組
- 【FAQ】HarmonyOS SDK 閉源開放能力 —Push Kit(4)
- 【FAQ】HarmonyOS SDK 閉源開放能力 —Push Kit(5)
- 【FAQ】HarmonyOS SDK 閉源開放能力 —Map Kit(3)
- 【FAQ】HarmonyOS SDK 閉源開放能力 —IAP Kit(3)
- 【FAQ】HarmonyOS SDK 閉源開放能力 —Push Kit(3)
- HarmonyOS 2正式釋出 硬體生態品牌HarmonyOS Connect一同亮相
- HarmonyOS Connect夥伴峰會,車載智慧屏S50正式釋出
- Volatility FAQ
- Seneca FAQ
- Docker FAQDocker
- 【譯】ConfigureAwait FAQAI
- MaxCompute studio FAQ
- Oracle並行FAQOracle並行
- CSDN學院FAQ
- flutter基礎faqFlutter
- Laravel connect oracleLaravelOracle
- database的connectDatabase
- INBOUND_CONNECT_TIMEOUT與SQLNET.INBOUND_CONNECT_TIMEOUT小結SQL
- 華為釋出HarmonyOS Connect品牌升級計劃 幫夥伴做好產品、賣好產品、運營好產品
- QObject::connect()函式Object函式
- connect your tunnel to CloudflareCloud
- connect by層內排序排序
- CocoaAsyncSocket---Connect (下)
- LevOJ.sln - 第三期
- 17、Connect-the-dots(VulnHub)
- MQTT 協議 -- CONNECT & CONNACKMQQT協議
- Linux Use ODBC Connect OracleLinuxOracle
- INBOUND_CONNECT_TIMEOUT(zt)