当产品为网关或子设备时,区别于普通产品会遇到的常见问题和解决方法。
网关子设备配网绑定
安卓网关相关
其他问题
网关是否支持路由器热点配网(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是获取本地的数据,是设备之前上报的备份数据。
动态注册的时候,更换网关有什么注意事项吗?
网关下有子设备,不可直接更换新的网关,需要把所有的绑定关系解除后,再使用新网关创建绑定关系。
一机一密方式的子设备,设备证书不需要备份,可以下次注册时再从云端获取。
一型一密方式的子设备,子设备的设备证书必须进行备份,否则一旦丢失就再也无法获取。