# iFLYOS 极客版音箱开发者模式指引

# 说明

为了使开发者可以在音箱上运行自己开发的应用,以完成更高级的音箱定制功能,iFLYOS 提供了多款可开发的极客版音箱。

如按照此指引操作,且查看了相关文档后,开发过程中仍遇到接入问题,可以通过iFLYOS工单或论坛咨询,我们会在12小时内响应回复。

iFLYOS工单:http://support.iflyos.cn/hc/request/new/

iFLYOS论坛:http://support.iflyos.cn/hc/community/topic/

如需更高效的技术支持,可选择购买为期 2 个月的 iFLYOS 技术支持包 (opens new window),购买了技术支持包的用户,可享受以下服务:

  1. 开通工单绿色通道;
  2. 问题咨询2小时内回复响应;
  3. VIP技术支持,优先回复解决开发中遇到的接入问题;
  4. 开通新需求评估通道,2个工作日内回复评估结论;

# 前期准备

# 了解iFLYOS设备接入

在进行二次开发之前,建议你先了解一下iFLYOS设备接入,避免因不了解系统造成设备不可用。

iFLYOS官网地址:https://www.iflyos.cn/ (opens new window)

iFLYOS设备接入参考文档:https://doc.iflyos.cn/device/ (opens new window)

# 在设备接入控制台创建一个设备

步骤参考: https://doc.iflyos.cn/device/console.html (opens new window)

注意

为了保证你的设备在小飞在线 App (opens new window)中可正常添加和配网,请确保:

  1. 在【设备控制台-设备能力】中开启蓝牙配网。
  2. 在【设备控制台-设备测试】中配置手机号白名单。

# 温馨提示

在使用开发者模式之前,请确认已知晓以下事项:

  1. 进入过开发者模式并更改了 clientId 的设备,除了硬件问题将不享受其他保修服务。

  2. 由于音乐服务与设备的 clientIddeviceId 挂钩,修改 clientId 后的音箱将无法使用该音箱自带的一年免费音乐服务。

  3. iFLYOS 的极客版音箱皆固件采用了在线更新能力,每天定时检查并自动更新。当你需要使用开发者模式,我们建议你更改clientId ,以免在线更新覆盖了你的开发成果。

    注意:更改clientid可能导致无法进行保修,所以请谨慎使用开发者模式。

# 进入开发者模式

  1. 使用小飞在线 App (opens new window)添加设备,选择相应的产品,按照APP流程指引/带屏设备的屏幕指引为音箱配置一个可用的 WLAN 网络,保证在此网络下可以发现并连接局域网内的其他设备

  2. 按照音箱在线说明书操作进入开发者模式,直至音箱播报 “进入开发者模式,请等待” 即可。该过程大约五秒,播报结束后,音箱会重启,重启后进入开发者模式。

  3. 开启开发者模式之后,音箱联网成功时会开始播放当前连接到网络的局域网 IP,通过 adb connect {ip} 的命令可以连接到音箱。

# 可以做什么

通过开发者模式,你可以使用 adb (opens new window) 连接到音箱。连接成功后,你可以做这些事情。

# 更换配置文件

配置文件名为 ivs-config.json,通过 adb push/sdcard/ 目录,然后重启音箱#即可生效。

// ivs-config.json 示例
{
  "app": {
    "clientId": {STRING}, // 更换主程序使用的 clientId
    "deviceId": {STRING} // 更换主程序使用的 deviceId
  },
  "ota": {
    "enable": {BOOLEAN} // 决定 OTA 是否启用
  }
}
参数 说明
app.clientId 更新主程序的ClientId,从设备接入平台 (opens new window)中获取
app.deviceId 设备的唯一ID,每个设备都应该具备不同的deviceId,如果不需要更改,传值为空字符串即可
ota.enable 是否启用极客版自带OTA,如果启用,则会更新极客版固件(如有新版本的话)

设备重启后,优先应用配置文件中的参数,此时原有的授权信息会失效,需要重新授权绑定音箱。

注意

  1. 尽管音箱通过配置文件中的相关参数来连接到 IVS/EVS,但是 OTA 检查更新服务不会去检查你自定义的 clientId 对应的 OTA 后台中的包更新。
  2. 更换client_id完成,设备重启后,你需要为设备重新配置网络。在小飞在线 App (opens new window)中添加设备,选择相应产品,按照APP流程指引为音箱配置一个可用的 WLAN 网络。即可通过极客版音箱体验你自己创建的设备的相关功能。

# 更换自定义唤醒词

在小飞 AI 音箱的新版本固件中,我们支持了自定义唤醒词的更换。

# 如何查看固件是否支持更换自定义唤醒词

通过 adb 连接到音箱后,执行以下命令

adb shell ls /sdcard/Android/data/com.iflytek.cyber.product.ling/files/wake_up_res

若输出结果中可以看到

wake_up.jet

那么说明音箱已经升级到了可以更换自定义唤醒词的固件版本。

如果你的音箱还未更新到最新的固件,请在确定音箱网络可用的情况下,拔电重启,可以触发音箱进行固件升级。在音箱提示升级完成后,再进行以上操作判断音箱是否支持更换唤醒词功能。

# 生成唤醒词资源

你可以在 iFLYOS 企业平台中生成浅定制唤醒词(生成链接 (opens new window)),在页面中点击 生成唤醒包并下载,会开始下载一个压缩包。下载完成后将压缩包 解压 后得到的文件,修改文件名为 wake_up.jet

# 替换唤醒词资源

通过 adb 连接到音箱后,在下载好的唤醒词资源目录下执行

adb push wake_up.jet /sdcard/Android/data/com.iflytek.cyber.product.ling/files/wake_up_res/wake_up.jet

替换完成后,重启音箱即可。

# 恢复设备默认唤醒词

通过 adb 连接到音箱后,执行

adb shell rm /sdcard/Android/data/com.iflytek.cyber.product.ling/files/wake_up_res/wake_up.jet

然后重启即可,重启后设备会重新在该目录下生成默认的唤醒词资源,并恢复默认的唤醒词。

# 其他

你可以将音箱作为一个普通的 Android 设备,为音箱开发定制化、拥有更多能力的应用来丰富体验。

# 退出开发者模式

重启音箱后即恢复正常模式。

最简易的方式,通过断电重连即可重启音箱。另,在 adb 已连接的情况下,通过调用 adb reboot 可以触发设备的重启。

# 常见问题

# 授权时显示无效应用

解决方法: 请确定以下事项:

  1. 请在设备接入控制台-设备详情-设备能力处,已打开蓝牙配网;
  2. 请在设备接入控制台-测试调试处,在白名单中输入用于登录小飞在线的手机号。

# 蓝牙配网时无法配网成功

解决方法:请在设备接入控制台-设备详情-设备能力处,打开蓝牙配网。