通过查看日志判断Android App端配网是否成功,以及异常情况的检查方法。
成功日志参考
配置成功的日志参考如下。
- 一键&零配&路由器配网配网成功链路参考
// 配网入口
AlinkDC_AddDeviceBiz: setDevice() call
AlinkDC_AddDeviceBiz: startAddDevice() call // 开始配网
// 配网参数检查 参数预检查
AlinkDC_AddDeviceBiz: state=AddStatePrechecking,isSuccess=true,info=null,error=null
########### 一键配网专属流程 开始 ##############
// 进入一键配网流程输入账号密码
AlinkDC_AddDeviceBiz: >state=AddStateProvisionPreparing,isSuccess=false,info=null,error=null
// 如果有上述流程,但是没有toggleProvision调用,则是没有输入账号密码就结束了流程
AlinkDC_AddDeviceBiz: toggleProvision() call
########### 一键配网专属流程 结束 ##############
// 真正进入配网
AlinkDC_AddDeviceBiz: state=AddStateProvisioning,isSuccess=false,info=null,error=null
// 配网成功的结果如下
AlinkDC_AddDeviceBiz: state=AddStateProvisionOver,isSuccess=true,
- 热点配网成功链路参考
// 热点开启
AlinkDC_HotspotHelper: setupWifiAP() call.
// 发现设备
AlinkDC_HotspotHelper: discoveryDevices() call.
// 发送 ssid 和 password 到设备端
// 如果没有 switchAP 就直接 recoverWiFiConnect 则表示未收到指定PK的设备连接上热点。AlinkDC_HotspotHelper: switchAP() call. ssid=xxx
// 停止发现设备
AlinkDC_HotspotHelper: stopDiscovery() call.
// 恢复 wifi 连接
AlinkDC_HotspotHelper: recoverWiFiConnect() call.AlinkDC_AddDeviceBiz: setDevice() call.
// 开始配网
AlinkDC_AddDeviceBiz: startAddDevice() call.
// 预检查
AlinkDC_AddDeviceBiz: state=AddStatePrechecking,isSuccess=true,info=null,error=null
// 配网中
AlinkDC_AddDeviceBiz: state=AddStateProvisioning,isSuccess=true,info=null,error=null
// 配网成功 或者失败 配网失败查看具体的失败原因
AlinkDC_AddDeviceBiz: state=AddStateProvisionOver,isSuccess=true
按照以下流程进行排查。
配网失败排查
常见的配网失败现象有以下两种:
- 设备联网中进度从0%-100%,之后显示设备连接失败。
- 设备一直显示设备连接中进度从0%-100%直到失败。
- 确定用户进入配网页面的路径。
- 本地发现的设备:
- 产品列表或者扫码:
- 产品列表或者扫码:设备联网中
- 检查环境问题。
- 确认设备已上电并进入配网模式。
- 确认手机WiFi已开启。
- 热点模式确认手机有SIM卡,并且使用手机流量能够上网。
- 确认WiFi 密码是否正确。
- 热点模式下,手机申请的权限是否都有赋予。
- App端排查。
- 搜索关键字
AlinkDC_AddDeviceBiz
,查看配网流程是否已启动。
startAddDevice 代表配网已启动。
AlinkDC_AddDeviceBiz: startAddDevice() call.
// 预检查
AlinkDC_AddDeviceBiz: state=AddStatePrechecking,isSuccess=true,info=null,error=null
// 配网中
AlinkDC_AddDeviceBiz: state=AddStateProvisioning,isSuccess=true,info=null,error=null
// 配网成功 或者失败 配网失败查看具体的失败原因
AlinkDC_AddDeviceBiz: state=AddStateProvisionOver,isSuccess=true
- 搜索关键字
AddStateProvisionOver
。
根据AddStateProvisionOver返回的错误信息,ErrorCode确定错误原因。如code=606,表示请求服务端接口的时候出错,导致配网失败。
// 配网结果
AlinkDC_AddDeviceBiz: state=AddStateProvisionOver,isSuccess=false,info=null,error=DCErrorCode [code:617, subcode:0, codeName:PROVISION_TIMEOUT, message:provisionTimeout, extra:null]
- 搜索关键字
awss.event.connectap.notify
。
如果没有以下日志,则表示手机端没有收到设备端的配网成功通告。
05-30 17:51:58.630 31368-31886/com.aliyun.iot.living D/AlinkDC_CoAPNotifyDeliver: onRecRequest request={"id":"24","version":"1.0","method":"awss.event.connectap.notify","params":{"awssVer":{"smartconfig":"2.0","zconfig":"2.0","router":"2.0","ap":"2.0"},"productKey":"b1iuHMGJYGI","deviceName":"IOT_test01","mac":"2C:3A:E8:22:05:CE","ip":"192.168.1.31","cipherType":4,"type":0}}
检查手机当前连接的WiFi是否和给设备配置的WiFi一致。返回发现列表如果仍不能发现设备,则需要从设备端日志继续排查。
设备连接中失败
设备连接中失败,是热点配网热点创建之后,没有正确的设备连上当前开启的热点的场景。可以从环境检查、APP端日志排查、设备端日志排查三个方面分析。
- 检查环境。
- 排查APP端日志。
- 搜索关键日志
COAP_METHOD_AWSS_DEVICE_INFO_NOTIFY
判断设备是否连接成功。
出现日志,则表示设备端连接成功;反之设备端连接失败。
05-30 17:51:38.433 31368-31886/com.aliyun.iot.living D/AlinkDC_CoAPNotifyDeliver: onRecRequest request={"id":"5","version":"1.0","method":"awss.device.info.notify","params":{"awssVer":{"smartconfig":"2.0","zconfig":"2.0","router":"2.0","ap":"2.0"},"productKey":"b1iuHMGJYGI","deviceName":"IOT_test01","mac":"2C:3A:E8:22:05:CE","ip":"192.168.43.192","cipherType":4,"random":"6A000BC93C4649A33DF7787A2102B1F5","signMethod":0,"sign":"DEEC98C3C5BE9E7CF06B4E81C434D887C5B872D0"}}
05-30 17:51:38.434 31368-31886/com.aliyun.iot.living D/AlinkDC_PhoneApAhaNotifyHandler: onRecRequest
05-30 17:51:38.446 31368-31886/com.aliyun.iot.living D/AlinkDC_PhoneApAhaNotifyHandler: COAP_METHOD_AWSS_DEVICE_INFO_NOTIFY
05-30 17:51:38.447 31368-31368/com.aliyun.iot.living D/AlinkDC_DCTrackerWrapper: sendEvent(),ALP_phoneApDevFoundSucc
05-30 17:51:38.448 31368-31368/com.aliyun.iot.living D/AlinkDC_PhoneApAhaNotifyHandler: COAP_METHOD_AWSS_DEVICE_INFO_NOTIFY new device.
- 搜素关键日志
switchAP
,判断PK是否一致。
如果1中有发现设备,但是没有
switchAP
日志,则连接热点的设备PK和用户选择的PK不一致。
05-30 17:51:38.577 31368-31828/com.aliyun.iot.living D/AlinkDC_HotspotHelper: switchAP() call. ssid=NETGEAR73
05-30 17:51:38.595 31368-31828/com.aliyun.iot.living D/AlinkDC_AlinkPhoneApConfigStrat: start get wifi list task.
05-30 17:51:38.596 31368-31828/com.aliyun.iot.living D/AlinkDC_DCTrackerWrapper: sendEvent(),ALP_phoneApGetWifiListStart
- 设备端日志排查。
请参考设备端日志。
原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/33646.html