當產品為網關或子設備時,區別于普通產品會遇到的常見問題和解決方法。
網關子設備配網綁定
安卓網關相關
其他問題
網關是否支持路由器熱點配網(router-config)?
支持的,大致流程為:SDK掃描到adha的WiFi后,會自動加入adha,上報給云端需要配網的設備。此時使用與路由器綁定過的App賬號,可以通過本地發現找到這個設備,單擊該設備后開始配網。
網關與用戶綁定后,網關添加子設備成功,但為什么子設備未與用戶綁定
APP端添加子設備分為兩個過程,配網與綁定,網關添加子設備成功僅代表配網成功了,需要調用接口/awss/subdevice/bind將子設備與用戶做綁定。
如果在網關綁定前,子設備已經與網關存在topo關系,那么在網關綁定的時候,子設備也會跟著網關一并與用戶綁定,無需再調用子設備綁定接口。
動態注冊的設備證書信息如何存儲
動態注冊成功之后,持久化獲取到的deviceName信息,設備證書信息(productKey、deviceName、deviceSecret)需要保存在非易失目錄,確保應用卸載之后數據仍然存在
動態初始化成功,初始化建連之后,不能再執行動態初始化,后續應用重新啟動(包括卸載后重裝啟動)都需要從持久化存儲中獲取設備證書,然后執行初始化建連(即一機一密建連),也即動態注冊只能執行一次。
App用戶只解綁了網關,對應的子設備會解綁嗎?
用戶與子設備關系會一起被解綁,但網關設備與子設備的topo關系不受解綁操作的影響。
App端調用解綁子設備的接口,會解綁子設備和網關的拓撲嗎?
直接調用/awss/subdevice/unbind接口解綁當前用戶和指定子設備。如果當前用戶是子設備的管理員,則同時自動解除當前子設備和網關的網絡拓撲關系。
App端解綁或者綁定子設備是否都需要網關在線?
如果涉及到子設備需要根據情況而定。
使用App配網時,網關先收到
LINKKIT_EVENT_SUBDEV_PERMITED
事件,再調用linkkit_gateway_subdev_register()
去注冊設備。解綁接口時,無論網關還是子設備都不需要網關在線。
安卓網關如何幫多個子設備上報數據?
所有設備一起動態注冊,消息格式如下。
for () { addSubDev login initSubDevThing }
上報消息。消息格式如下。
for() { post }
安卓帶屏網關設備如何使用公版App發現?
安卓版本的Link Kit SDK,并沒有實現配網功能。安卓設備一般都帶屏,通常是廠商通過屏顯發現ssid,再輸入密碼連接到路由器。
控制臺編輯產品勾選免開發公版App,使用公版App本地發現設備后,綁定設備后進行調試。
網關及子設備掉線是什么原因?
網關掉線的可能原因是:
斷電
設備重置
網關心跳超時
子設備掉線的可能原因是:
網關上報了子設備離線
網關離線
網關定義的部分標準功能在控制臺頁面找不到
模組相關的標準功能屬性,頁面上不可見。
網關能主動向云端獲取某子設備的屬性值嗎
云端數據是獲取不到的。linkkit_get_value是獲取本地的數據,是設備之前上報的備份數據。
動態注冊的時候,更換網關有什么注意事項嗎?
網關下有子設備,不可直接更換新的網關,需要把所有的綁定關系解除后,再使用新網關創建綁定關系。
一機一密方式的子設備,設備證書不需要備份,可以下次注冊時再從云端獲取。
一型一密方式的子設備,子設備的設備證書必須進行備份,否則一旦丟失就再也無法獲取。