编译xiaozhi-esp32-server-java遇到的报错

我的 Mac 电脑是 Intel 的, M芯片的可能不会报这些错; 

​​​​​​​

1、首先第一个问题就是  org.slf4j 冲突问题, 禁用掉一个就行了。 打开 pom.xml 把阿里这个slf4j-simple给禁用。

  <!-- 阿里云ASR -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dashscope-sdk-java</artifactId>
            <version>2.19.1</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-simple</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

2、然后就是,vosk的问题 。 看他这个代码,M芯片的苹果电脑,就没问题,我是Intel的啊, 我把他的判断: aarch64 给去掉了

   if (osName.contains("mac")) { //  && osArch.contains("aarch64")
           // 如果是 macOS 并且是 ARM 架构(M 系列芯片)  我换成了 x86的
         System.load(System.getProperty("user.dir") + "/models/libvosk.dylib");
                logger.info("Vosk library loaded for macOS M-series chip and Intel chip.我改成了Intel的,如果换了M芯片的电脑就要更换一下");
     } else {
           logger.info("Not macOS M-series chip, skipping Vosk library load.");
     }

解决办法,去下载低版本的  libvosk.dylib 下载地址: 点击这里下载 这个是 0.3.42版本的。

这个版本的 libvosk.dylib 不支持新版本加的方法会报错,所以对应的 jar 的版本也需要降, 打开 pom.xml 

        <!-- Vosk -->
        <dependency>
            <groupId>com.alphacephei</groupId>
            <artifactId>vosk</artifactId>
            <version>0.3.38</version>
        </dependency>

把它的版本号从 0.3.45 改到 0.3.38 

搞完这些,就可以运行了。 别忘了搞数据库。 

admin 默认账户的密码: 123456

补充, 关于客户端提示: 没有找到该设备的版本信息,请正确配置OTA地址;解决办法:

自己去发个请求:

请求地址: 你的OTA服务地址;官方的是: 

OTA_VERSION_URL = 'https://api.tenclass.net/xiaozhi/ota/'  

header:  

Content-Type : application/json

Device-Id : 你的设备MAC地址

body: 

{"flash_size": 16777216, "minimum_free_heap_size": 8318916, "mac_address": "你的设备Mac地址",
                 "chip_model_name": "esp32s3", "chip_info": {"model": 9, "cores": 2, "revision": 2, "features": 18},
                 "application": {"name": "xiaozhi", "version": "0.9.9", "compile_time": "Jan 22 2025T20:40:23Z",
                                 "idf_version": "v5.3.2-dirty",
                                 "elf_sha256": "22986216df095587c42f8aeb06b239781c68ad8df80321e260556da7fcf5f522"},
                 "partition_table": [{"label": "nvs", "type": 1, "subtype": 2, "address": 36864, "size": 16384},
                                     {"label": "otadata", "type": 1, "subtype": 0, "address": 53248, "size": 8192},
                                     {"label": "phy_init", "type": 1, "subtype": 1, "address": 61440, "size": 4096},
                                     {"label": "model", "type": 1, "subtype": 130, "address": 65536, "size": 983040},
                                     {"label": "storage", "type": 1, "subtype": 130, "address": 1048576,
                                      "size": 1048576},
                                     {"label": "factory", "type": 0, "subtype": 0, "address": 2097152, "size": 4194304},
                                     {"label": "ota_0", "type": 0, "subtype": 16, "address": 6291456, "size": 4194304},
                                     {"label": "ota_1", "type": 0, "subtype": 17, "address": 10485760,
                                      "size": 4194304}],
                 "ota": {"label": "factory"},
                 "board": {"type": "bread-compact-wifi", "ssid": "mzy", "rssi": -58, "channel": 6,
                           "ip": "你的客户端IP,好像不传也没什么用", "mac": "你的MAC地址"}}

请求完后返回:  activation 里的 code 就是验证码了,你后台添加就好了。 

{
    "server_time": {
        "timestamp": 1747884315337,
        "timeZone": "Asia/Shanghai",
        "timezone_offset": 480
    },
    "activation": {
        "code": "8***78",
        "message": "2662r3426b.vicp.fun\n810978",
        "challenge": "f5:**:**:**:66:6f"
    },
    "firmware": {
        "version": "0.9.9",
        "url": "http://xiaozhi.server.com:8002/xiaozhi/otaMag/download/NOT_ACTIVATED_FIRMWARE_THIS_IS_A_INVALID_URL"
    },
    "websocket": {
        "url": "wss://2662r3426b.vicp.fun/xiaozhi/v1/"
    }
}

由于给定引用未提及在腾讯云上安装xiaozhi-esp32-server的方法,下面给出一般性的在腾讯云服务器(以常见的Linux系统为例)安装开源项目的大致步骤: ### 1. 登录腾讯云服务器 通过SSH工具(如Putty、Xshell等)使用服务器的公网IP地址、用户名和密码登录到腾讯云服务器。 ### 2. 安装必要的依赖 根据项目的需求,安装必要的依赖软件包,例如Python、Git等。以Ubuntu系统为例: ```bash sudo apt update sudo apt install python3 python3-pip git ``` ### 3. 下载源码 使用Git工具从指定的仓库下载xiaozhi-esp32-server的源码: ```bash git clone https://github.com/xinnan-tech/xiaozhi-esp32-server.git cd xiaozhi-esp32-server ``` ### 4. 安装项目依赖 如果项目是Python项目,可能需要使用pip安装项目依赖: ```bash pip3 install -r requirements.txt ``` ### 5. 配置项目 根据项目的文档,进行必要的配置,例如修改配置文件中的数据库连接信息、端口号等。 ### 6. 启动项目 按照项目文档的说明启动xiaozhi-esp32-server: ```bash python3 main.py ``` ### 7. 配置防火墙 如果服务器开启了防火墙,需要开放项目使用的端口,例如80端口: ```bash sudo ufw allow 80 ``` ### 8. 配置开机自启 可以使用Systemd等工具配置项目开机自启: ```bash sudo nano /etc/systemd/system/xiaozhi-esp32-server.service ``` 在打开的文件中添加以下内容: ```ini [Unit] Description=xiaozhi-esp32-server After=network.target [Service] WorkingDirectory=/path/to/xiaozhi-esp32-server ExecStart=/usr/bin/python3 main.py Restart=always [Install] WantedBy=multi-user.target ``` 保存并退出文件,然后执行以下命令: ```bash sudo systemctl daemon-reload sudo systemctl enable xiaozhi-esp32-server sudo systemctl start xiaozhi-esp32-server ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值