# 常见问题
# 工具内部错误
进入网关中枢页面后弹出错误提示框:A JavaScript error occurred in the main process:
Error: listen EACCES: permission denied 0.0.0.0:9900
# 网关脚本报错
连接网关时客户端弹出错误提示框:A JavaScript error occurred in the main process:
Error: spawn bin\gatewayd\gatewayd.exe ENOENT
这种情况可能是平台在系统当前状态下没有足够的访问权限,可以右键使用管理员权限打开
# 网关连接超时
在深入了解中枢网关中我们提到,连接网关实际上是 gatewayd 服务和中枢网关建立一条 RPC 通道,如果在建立通道时固件初始化还未完成,那么通道将无法建立成功;另外,如果网关已经建立了一条通道,那么网关将拒绝建立新通道,客户端将收到超时提示。
通常情况下网关连接超时都是第一种情况导致的,开发者只需要重启网关,等到网关指示灯再次变为蓝灯常亮后再操作客户端连接网关。
如果重启网关仍然不能正常连接则说明网关的 RPC 通道一直被占用,此时很可能有另外一个或多个 gatewayd 进程在一直和网关连接。开发者需要打开 windows 的进程管理器查询 gatewayd 进程并将其全部杀掉。杀掉所有 gatewayd 进程后请重启网关,当蓝灯常亮时再次连接,此时应当能够正常建立连接。

TIP
通常连接不上网关时您只需要重启网关即可,如果反复重启都不起作用,此时您需要打开进程管理杀掉所有 gatewayd 进程。
# 网关连接成功但获取蓝牙设备列表失败
中枢网关在扫描蓝牙设备时会搜索周围所有已配网和未配网的蓝牙设备。受到网关硬件以及系统的限制,当中枢网关周围蓝牙设备过多时(超过大约 80 个蓝牙设备),中枢网关搜索设备的功能会失败,客户端此时的现象就是获取蓝牙设备列表失败。
开发者测试蓝牙设备时应当尽量避免在蓝牙设备众多的环境下进行测试,蓝牙设备过多不仅仅可能会导致搜索蓝牙设备失败,也可能导致数据包传输延迟、重传,从而影响最终产品验收指标导致测试不通过。
TIP
建议开发者不要在库房进行测试,如果有条件,尽量选择独立的办公室进行测试,将其他设备对测试环境的干扰降至最低
# 测试工具中找不到待测的设备
如果待测设备还未配网,可能是周围设备过多造成干扰,也可能是设备长时间未配网进入休眠状态。请先确保周围蓝牙设备尽量少,降低无线环境的干扰,然后将待测设备重启,过一段时间等设备开始发送广播包后再下拉查看设备列表。
TIP
蓝牙环境复杂会造成许多问题,请务必减少周围无线环境对中枢网关和待测设备的干扰
如果待测设备已配网,测试工具查询的已配网设备实际是中枢网关的子设备,请确保您将设备绑定在当前登录的账号下,并且设备绑定在当前中枢网关下。您可以在米家 app 上查看中枢网关的子设备列表,确认是否将待测设备绑定在中枢网关下。如果您的待测设备之前绑定在其他网关下(例如小爱音箱等),理论上加入中枢网关后设备也会出现在中枢网关的子设备列表下,但我们仍然建议您在米家 app 查看中枢网关的子设备。
TIP
请务必将中枢网关与待测设备靠近,以免设备信号太弱导致网关丢失设备或通信失败

# 测试指标、结论和预期不符
如果您认为测试工具得到的指标和您的预期不符,您可以在 googleplay 或 app store 下载 nRF Connect 工具对相关指标进行自测。如您无法访问 google,我们也为您提供了官方编译好的开源版本,您可以点击这里进行下载。这里不介绍 nRF Connect 的使用方法,您可以在网上搜索相关介绍和教程。
如果用 nRF Connect 测试得到的结论与测试工具一致,那么请您按照规范修改固件代码。
如果用 nRF Connect 测得的结论与工具不一致,请尽量减少测试环境的无线干扰后再次运行工具测试,例如将中枢网关与设备放在设备较少的独立空间内进行测试。
WARNING
测试环境对测试结论的影响非常大,请一定注意减少无线环境内的干扰。
如果条件允许,请在独立的办公室进行测试,切记不要在库房进行测试!