小爱音箱刷固件

xiaoAI项目:open-xiaoai/docs/flash.md at main · idootop/open-xiaoai

我的小爱音箱是老款PRO所以刷了xiaoAI

按照教程就行了

拆除底部即可螺丝,从上面晚上提出来一点点就是Micro USB

接上数据线,记住一定是数据线不能是充电线

首先,下载或自行制作补丁固件,重命名为 root_patched.squashfs

然后,下载刷机工具:https://androidmtk.com/download-amlogic-flash-tool

把下载好的刷机工具文件夹解压到桌面,重命名为 Amlogic_Flash_Tool_v6.0.0

安装目录下面的驱动程序

然后数据线连接电脑,先不插电,下载git并安装,进入程序的bin目录

先输入好命令,插电音箱灯亮的同时回车,按键盘的↑键后回车,多按几次,直到出现下面的提示,记住要在1秒内,插上电以后会听到叮咚的提示音

然后重命名固件为root_patched.squashfs拷贝到程序的bin目录,记住是bin目录

然后执行官方命令:

# 🚗 第 1 步:拔掉小爱音箱的电源线,重新插上电源后,立即在终端执行以下命令
./update.exe identify

# 如果显示类似下面的内容,说明小爱音箱已经成功连接到了电脑,可以继续进行下一步
# This firmware version is 0-7-0-16-0-0-0-0

# 否则继续快速重试几次该命令,或者重新拔掉电源上电后重试,直至显示出来版本号。

# ⏰ 第 2 步:设置启动分区和等待时长

# 设置 uboot 启动等待 15s
./update.exe bulkcmd "setenv bootdelay 15"
# 设置 boot0 作为启动分区
./update.exe bulkcmd "setenv boot_part boot0"
# 保存环境变量,使生效
./update.exe bulkcmd "saveenv"

# ⚡️ 第 3 步:刷入 system0
./update.exe partition system0 root_patched.squashfs
# 注意:需要把 root_patched.squashfs 替换成你下载的补丁固件实际路径

 完成

如果之后你想要更新系统,或者换回原来的系统,将启动分支设置成 boot1 重启即可。

# 连接到 SSH 后执行
fw_env -s boot_part boot1

# 或者使用和上面刷机相同的方式
./update.exe bulkcmd "setenv boot_part boot1"
./update.exe bulkcmd "saveenv"

连接小米音箱

ssh -o HostKeyAlgorithms=+ssh-rsa root@192.168.31.13

会问是否连接输入yes,要求输入密码 ,密码是:open-xiaoai

安装服务端

下载项目文件:

git clone https://github.com/idootop/open-xiaoai.git
cd open-xiaoai

增加目录中config.py的内容:

import asyncio


async def before_wakeup(speaker, text, source):
    """
    处理收到的用户消息,并决定是否唤醒小智 AI

    - source: 唤醒来源
        - 'kws': 关键字唤醒
        - 'xiaoai': 小爱同学收到用户指令
    """
    if source == "kws":
        # 播放唤醒提示语
        await speaker.play(text="你好主人,我是小智,请问有什么吩咐?")
        # 返回 True 唤醒小智 AI
        return True

    if source == "xiaoai" and text == "召唤小智":
        # 打断原来的小爱同学
        await speaker.abort_xiaoai()
        # 等待 2 秒,让小爱 TTS 恢复可用
        await asyncio.sleep(2)
        # 播放唤醒提示语(如果你不使用自带的小爱 TTS,可以去掉上面的延时)
        await speaker.play(text="小智来了,主人有什么吩咐?")
        # 唤醒小智 AI
        return True


async def after_wakeup(speaker):
    """
    退出唤醒状态
    """
    await speaker.play(text="主人再见,拜拜")


APP_CONFIG = {
    "wakeup": {
        # 自定义唤醒词列表(英文字母要全小写)
        "keywords": [
            "天猫精灵",
            "小度小度",
            "豆包豆包",
            "你好小智",
            "你好小爱",
            "hi siri",
            "hey siri",
        ],
        # 静音多久后自动退出唤醒(秒)
        "timeout": 20,
        # 语音识别结果回调
        "before_wakeup": before_wakeup,
        # 退出唤醒时的提示语(设置为空可关闭)
        "after_wakeup": after_wakeup,
    },
    "vad": {
        #录音音量增强倍数(小爱音箱录音音量较小,需要后期放大一下)
        "bootst":10,
        # 语音检测阈值(0-1,越小越灵敏)
        "threshold": 0.10,
        # 最小语音时长(ms)
        "min_speech_duration": 250,
        # 最小静默时长(ms)
        "min_silence_duration": 500,
    },
    "xiaozhi": {
        "OTA_URL": "https://api.tenclass.net/xiaozhi/ota/",
        "WEBSOCKET_URL": "wss://api.tenclass.net/xiaozhi/v1/",
        "WEBSOCKET_ACCESS_TOKEN": "", #(可选)一般用不到这个值
        "DEVICE_ID": "", #(可选)默认自动生成
        "VERIFICATION_CODE": "", # 首次登陆时,验证码会在这里更新
    },
}

新建一个docker-compose.yml

vi docker-compose.yml

内容填写:

version: '3.8'
services:
  xiaoai:
    image: idootop/open-xiaoai-xiaozhi:latest
    container_name: xiaoai-assistant
    ports:
      - "4399:4399"
    volumes:
      - ./config.py:/app/config.py
    stdin_open: true
    tty: true
    restart: unless-stopped
    environment:
      - TZ=Asia/Shanghai
      - PYTHONPATH=/app
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

构建镜像并启动容器

docker-compose up -d

 

在小爱音箱中安装客户端

创建 open-xiaoai 文件夹并进入

mkdir /data/open-xiaoai
cd /data/open-xiaoai

设置server地址

 

设置 server 地址(注意替换成自己的 server 地址,这里的server地址就是上面启动docker服务的机器的地址,如不知道可去路由器进行查询)

echo 'ws://192.168.50.237:4399' > /data/open-xiaoai/server.txt
下载并运行脚本
curl -sSfL https://gitee.com/idootop/artifacts/releases/download/open-xiaoai-client/init.sh -o client.sh
chmod 777 client.sh
./client.sh

设置开机自动启动

下载 boot.sh 文件到 /data/init.sh 开机时自启动
curl -L -o /data/init.sh https://gitee.com/idootop/artifacts/releases/download/open-xiaoai-client/boot.sh

重启小爱音箱

reboot

设置小智后台控制台

  1. 保持docker 服务端运行状态
  1. 启动客户端程序
小智控制台地址:https://xiaozhi.me/
上一篇 飞书绑定小龙虾的第二个agent
下一篇 Windows安装WSL和Ubuntu后使用OpenCode