# 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),购买了技术支持包的用户,可享受以下服务:
- 开通工单绿色通道;
- 问题咨询2小时内回复响应;
- VIP技术支持,优先回复解决开发中遇到的接入问题;
- 开通新需求评估通道,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)
# 温馨提示
在使用开发者模式之前,请确认已知晓以下事项:
进入过开发者模式并更改了
clientId的设备,除了硬件问题将不享受其他保修服务。由于音乐服务与设备的
clientId和deviceId挂钩,修改clientId后的音箱将无法使用该音箱自带的一年免费音乐服务。iFLYOS 的极客版音箱皆固件采用了在线更新能力,每天定时检查并自动更新。当你需要使用开发者模式,我们建议你更改
clientId,以免在线更新覆盖了你的开发成果。注意:更改clientid可能导致无法进行保修,所以请谨慎使用开发者模式。
# 进入开发者模式
使用小飞在线 App (opens new window)添加设备,选择相应的产品,按照APP流程指引/带屏设备的屏幕指引为音箱配置一个可用的 WLAN 网络,保证在此网络下可以发现并连接局域网内的其他设备。
按照音箱在线说明书操作进入开发者模式,直至音箱播报 “进入开发者模式,请等待” 即可。该过程大约五秒,播报结束后,音箱会重启,重启后进入开发者模式。
开启开发者模式之后,音箱联网成功时会开始播放当前连接到网络的局域网 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,如果启用,则会更新极客版固件(如有新版本的话) |
设备重启后,优先应用配置文件中的参数,此时原有的授权信息会失效,需要重新授权绑定音箱。
注意
- 尽管音箱通过配置文件中的相关参数来连接到 IVS/EVS,但是 OTA 检查更新服务不会去检查你自定义的
clientId对应的 OTA 后台中的包更新。 - 更换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 可以触发设备的重启。
# 常见问题
# 授权时显示无效应用
解决方法: 请确定以下事项:
- 请在设备接入控制台-设备详情-设备能力处,已打开蓝牙配网;
- 请在设备接入控制台-测试调试处,在白名单中输入用于登录小飞在线的手机号。
# 蓝牙配网时无法配网成功
解决方法:请在设备接入控制台-设备详情-设备能力处,打开蓝牙配网。