### FAQs #### **1. 手机碰一碰NFC标签,提示“未获取到应用信息”。** **问题现象** 手机碰一碰NFC标签,提示“未获取到应用信息”。 **可能原因** - 原因一:服务意图配置的HarmonyOS标签的产品型号不是当前的ProductID。 - 原因二:NFC标签写入的码流中的ProductID有误。 **解决措施** 1.确认服务意图配置的HarmonyOS标签的产品型号是否为当前的ProductID。 1. 登录华为智慧服务平台。 2. 在服务列表中找到对应的原子化服务,单击“编辑”。 3. 选择“配置 > HarmonyOS标签”,确认设备标签中的“产品型号”是否正确。如果不正确,需要重新配置。 2.确认NFC标签码流的ProductID字段是否正确。如果不正确,需要重新写入。 3.若之前已拉起成功,且上述检测均正确,可点击重新发布智慧服务至测试态。 1. 登录华为智慧服务平台。 2. 在服务列表中找到对应的原子化服务,单击“编辑”。 3. 点击“测试 > 重新准备测试”按钮 4. 等待几分钟重新尝试碰一碰 #### **2. 手机碰一碰NFC标签,弹框提示“系统错误”,如何处理?** **问题现象** 手机碰一碰待连接设备,弹框提示“系统错误”,更换Wi-Fi后报错仍无法清除。 **可能原因** 手机时间与网络时间不一致。 设备发起请求时,会将手机时间与设备激活码等信息传到云端。云端会对手机时间与网络时间的一致性进行校验,以确保请求的合法性。如果两者的时间差大于一小时,则请求无效。 **解决措施** 将手机的时间设置为“自动设置”,使手机与当前网络上的时间同步。以华为手机为例: 1.进入手机“设置”。 2.选择“ 系统和更新 > 日期和时间”。 3.开启“自动设置”开关。 #### 3. 手机碰一碰拉起应用后闪退,或白屏后退回首页 **问题现象** 手机碰一碰拉起应用后,发现应用闪退或者白屏后退回首页。 **可能原因** NFC卡片内自定义数据格式错误导致的。 **解决措施** 参考 [设备碰一碰配置指南](../../../dev/docs/NFC_label_definition/README.md#设备信息的准备) 设备信息的准备章节,对比产品profile和nfc数据两则是否一致 #### 4. 进入NAN配网后,应用界面卡在开始获取wifi列表 **问题现象** 应用跳转NAN配网后,应用界面卡在开始获取wifi列表,且长期无变化。 **可能原因** 配网服务首次加载需等待一会。 **解决措施** 重新通过碰一碰再次尝试NAN配网。 #### 5. NAN配网后,应用界面显示xxx失败 **问题现象** 应用界面显示诸如 连接设备失败、配网失败等字样。 **可能原因** - nfc自定义数据中ApSSID字段写入错误; - 设备未进入到配网状态 - 当前手机连接的热点需要二次验证(仅凭wifi名称和密码无法进行配网) - 手机和设备距离过远 **解决措施** - 检查nfc ApSSID字段是否和板子/设备的热点名一致,不一致则重新写入; - 通过检查具体板子/设备的状态,或查看板子/设备热点是否已经开启; - 切换当前手机连接的网络至无需二次验证网络 - 可将手机和板子/设备碰一碰后放置较近的距离,注意别多次触发碰一碰 #### 6. NAN配网成功后,应用无反应或闪退 **问题现象** 设备已配网成功,应用仍在配网界面。 **可能原因** netconfig模块下index.js代码中未修改包名。 **解决措施** 进入netconfig模块index.js文件下,将goToControl方法中的bundleName变量修改为自己的项目包名。 #### 7. SoftAP配网,应用配网完成并跳转后发现无法控制设备 **问题现象** SoftAP配网,在选择wifi名称和密码后,应用已经跳转至设备控制页面了,但无法进行控制。 **可能原因** 配网流程:由于大部分板子不支持STA和AP模式并存,所以在板子在接收到配网数据后,需和手机断开连接尝试联网和连接IoT云(联云需要一定时间,无法立马得知是否配网成功),而手机则会直接跳转至控制页面,并另开线程等待10s后进行状态查询,若为离线状态则提示配网失败。 - 配网信息中密码错误; - 设备正在联网中; **解决措施** 配网失败: 检查配网时wifi密码是否正确 配网成功: 视当前网络情况,需等待板子连接IoT云成功后再进行控制操作,一般需要等待几秒即可。 #### 8. 网络请求响应的数值异常 **问题现象** 请求的数据非正确项目数据 **可能原因** - 为修改项目请求地址; - 服务端数据错误; **解决措施** - 检查OKHttpUtilsRx2.java中SERVER_URL变量是否为自己服务器api地址,检查DeviceStateListener.java中RABBITMQ_HOST变量是否为自己服务器地址; - 确认自己服务端的swagger下的接口能否正常请求,以本项目数字管家部署swagger为例,进入 [swagger地址](http://139.9.102.131:8080/distschedule-api/swagger-ui/index.html#/%E7%94%A8%E6%88%B7%E6%8E%A5%E5%8F%A3/getUserByPhoneUsingGET) ,在相应的请求接口中,点击Try it out -> 输入参数 -> execute,查看 Response body中是否有正确响应,若响应值错误则为服务端错误; - 检查请求方式是否与服务端相吻合。