客服

客服

点击联系站长 点击联系站长

在线时间
12:00 - 22:00

客服微信

客服微信
交流QQ群

734653993

站长QQ 2362400196
ESP-AI成神之路——服务端自建复刻-ESP32论坛-极客爱好者-青柠博客

ESP-AI成神之路——服务端自建复刻

服务端搭建说明

搭建之前必须满足两点

nodejs版本:v18.20.4

npm   版本:9.3.1

如果你的npm版本不是9.3.1,请用下面命令安装以下

npm install -g npm@9.3.1 --registry=https://registry.npmmirror.com

创建配置文件

随便创建一个文件夹,并在这个文件夹里创建index.js,比如我创建了一个espai文件夹

20240918192326216-image

我们用vscode打开目录,为了方便,我去掉了官方多余注释,并且这里以讯飞平台作为演示,这样代码看起来更加简洁

我们只关注和修改红框里的代码

const espAi = require("esp-ai"); 
const config = { 
    gen_client_config: ()=>({

        // 调用讯飞语音识别
        iat_server: "xun_fei",
        iat_config: {
            // 讯飞:https://console.xfyun.cn/services/iat  。打开网址后,右上角三个字段复制进来即可。
            appid: "xxx",
            apiSecret: "xxx",
            apiKey: "xxx",  
        },

        // 调用讯飞LLM
        llm_server: "xun_fei",
        llm_config: {
            appid: "xxx",
            apiSecret: "xxx",
            apiKey: "xxx",
            llm: "v4.0",
            // llm_server 中可配置的其他配置项...
        },
        tts_server: "xun_fei",
        tts_config: {
            appid: "xxx",
            apiSecret: "xxx",
            apiKey: "xxx",
            // is_clone: false, // 是否为克隆的音色
            // tts_server 中可配置的其他配置项...
        },
        llm_init_messages: [
            { role: 'system', content: '你是小明同学,是一个无所不能的智能助手。' },
          ]


    })
};

const espAiIns = espAi(config);

// 在合适的时机可以调用方法来在服务端实现设备操作
// espAiIns.restart("[device_id]") // 重启设备
// espAiIns.tts("[device_id]", "你好啊")   // 让设备说话
// ...

 

20240918193514892-image

注册讯飞平台

注册完成之后,打开这个网址

https://console.xfyun.cn/services/iat

我们所需要的都在这里

20240918193658475-image

注意,这里有一个细节,你可能需要免费开通大模型4.0

开通地址:https://console.xfyun.cn/sale/buy?wareId=9126&packageId=9126001&serviceName=Spark4.0%20Ultra&businessId=bm4

20240918193944418-image

修改配置文件

回到代码中,将APPIDAPISecretAPIKey 复制到代码中

20240918194402209-image

安装依赖并启动服务

npm install esp-ai  --registry=https://registry.npmmirror.com

回到文件夹中,点击这里输入cmd回车

20240918194551462-image

20240918194639711-image

出现上面界面就表示成功了

启动服务

node ./index.js

到现在为止,服务端搭建完成

20240918195620653-image

如果你想使用docker快速搭建,可以参考这篇文章

最新版ESP-AI服务端docker部署-青柠博客

客户端搭建说明

Arduino IDE:最新版即可

Arduino IDE esp32插件: 2.x

20240919201527292-image

Arduino IDE环境搭建

参考这篇文章

Arduino IDE+Esp32环境搭建-青柠博客

安装库文件

所有需要的文件都在这里

 
依赖文件

 

 

 

将依赖解压到 C:\Users\[用户名]\Documents\Arduino\libraries (注意 用户名自己改成你电脑用户名,并且删除中括号。)

20241125185058468-image

 

代码编译

  1. 创建一个文件 example/example.ino ,注意:可以在任意地方创建,比如说桌面,文件必须放到一个文件夹里,文件夹名字必须和文件一样
  2. 用 Arduino IDE 打开 example.ino 文件
  3. 写入下面代码,注意改为你服务端的ip和地址,还有wifi 配置

20240918202817230-image

#include <esp-ai.h>

ESP_AI esp_ai;
 

void setup() {
  Serial.begin(115200);
  
  // [必  填] 是否调试模式, 会输出更多信息
  bool debug = true;

  // wifi 配置: { wifi 账号, wifi 密码 }  注意:要用双引号! 
  // 不填则需要打开配网页面进行配网。
  ESP_AI_wifi_config wifi_config = { "Xiaomi_FANFAN", "yangfan0522", "ESP-AI"  };
  
  // 服务地址,用开发者平台,只需要配置为空
  //ESP_AI_server_config server_config = { };
  // 或者配置为自己部署的服务: { 服务IP, 服务端口, "连接自己业务服务的请求参数,用多个参数&号分割,服务端用 auth 接收" }
  ESP_AI_server_config server_config = { "http", "192.168.31.54", 8088, "p1=111&p2=test" };

  // 离线唤醒方案:{ 方案, 识别阈值 }, "edge_impulse" | "diy",为 "diy" 时可调用 esp_ai.wakeUp() 方法进行唤醒 
  ESP_AI_wake_up_config wake_up_config = {};
  strcpy(wake_up_config.wake_up_scheme, "asrpro");  // 唤醒方案
  strcpy(wake_up_config.str, "start");              // 串口和天问asrpro 唤醒时需要配置的字符串,也就是从另一个开发版发送来的字符串

  // 开始运行 ESP-AI 
  esp_ai.begin({debug, wifi_config, server_config, wake_up_config });
}

void loop() {
  esp_ai.loop(); 
}

简单的解释一下,开发板和我选择的一样,服务端填这里的信息

 

上传代码前请检查你的 Arduino IDE 设置是否正确。这一步很重要

20241125185328149-image

 

编译上传

20241125192848394-image

编译成功

 

20241125193435249-image

 

 

 

 

 

 
请登录后发表评论

    没有回复内容