从此以后,将硬件接入大语言模型(LLM)将变得如此简单~

一、前言

本文中将使用ESP-AI开源库来实现将硬件接入AI,整个过程将非常的轻松~

image.png

什么是ESP-AI?

为你的开发板提供全套的AI对话方案,包括但不限于 ESP32 系列开发板的 IAT+LLM+TTS 集成方案。

交流群

QQ 交流群: 854445223

技术栈

ESP-AI 分为了服务端和客户端两套代码:

  • 服务端是封装好的库,直接引用后执行即可,除开必要的配置外,一行代码就可以运行起来。服务端使用Nodejs 开发。
  • 客户端目前没有封装为头文件,需要直接将提供的代码上传到开发板中。客户端使用 Arduino 开发。

整体上技术栈为 javascriptc 两种语言的组合。 不用担心,都是配置化的,无需担心不会写这两语言。你只需要大概能看懂配置即可~

插件地址

ESP-AI 仓库地址:https://github.com/wangzongming/esp-ai

效果演示

【超快速的ESP32 AI对话方案。已开源!快接入你的机器人吧~】 https://www.bilibili.com/video/BV1xS421o7hi/?share_source=copy_web&vd_source=041c9610a29750f498de1bafe953086b

二、软件准备

1. 安装 Nodejs

下载地址:https://nodejs.org/en/blog/release/v15.0.0

滚动到最下面,然后选择适合自己电脑位数的安装包下载后安装即可。

2. 安装 Arduino IDE

下载地址:https://www.arduino.cc/en/software
选择合适的安装包安装即可。

三、硬件准备

下面是按演示视频中的配置来的

硬件数量价格
esp32s3(N16R8)125
INMP44118
Max98357A15
LED10.5
小喇叭16
面包板15
杜邦线若干1

三、服务端代码

  1. 新建一个目录(最好用英文名字)
  2. 在目录中打开终端
  3. 在终端中执行npm i esp-ai 命令,用于安装ESP-AI
  4. 在目录中新增一个 index.js 文件
  5. 在文件中写入下面代码
const espAi = require("esp-ai");
espAi({ api_key: {// 讯飞:https://console.xfyun.cn/services/iat  。打开网址后,右上角三个字段复制进来即可。xun_fei: {appid: "xxx",apiSecret: "xxx",apiKey: "xxx",// LLM 版本llm: "v3.5",},
});

注意代码中实际上就执行了一个方法,然后给方法传入了一些参数,比如上面的案例中传入了讯飞的key, 这时候需要先去注册讯飞账号,然后将key放进去即可。

四、服务端运行

执行下面代码即可运行服务

node ./index.js

在这里插入图片描述

生成环境中请使用 pm2 来运行服务以保证服务的可靠和性能。

pm2 start ./index.js -i max

五、 客户端代码上传

客户端代码位于仓库代码的 client 目录中,需要在本地新增一个 client 目录(必须是这个名字),
然后在目录中新增一个 client.ino 文件。

然后将仓库中 client/client.ino 文件中的内容复制进去,修改代码中的 wifi 信息,然后上传到开发板中。

因为有一个离线语音识别模型,首次编译会很慢,配置不好的电脑至少半个小时以上的时间~

五、 引脚接线

INMP441(麦克风) 接线

ESP32-s3INMP441
3v3VDD
GNDGND
GNDL/R
5WS
4SCK
6SD

Max98357A(放大器) 接线

ESP32-s3Max98357A
3v3VDD
GNDGND
17LRC
16BCLK
15DIN

LED 接线

ESP32-s3LED
GNDGND
18正极

六、 完成

到这里就完成啦。
对着麦克风喊一声 “小明同学” 吧。

七、 最后

该仓库还在持续完善中,开源不易,点个 Star 支持下吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/861810.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

001 ElasticSearch7.x 、IK分词器、Kibana 环境搭建、安装

ElasticSearch 7.x 文章目录 ElasticSearch 7.x1.windows环境安装1.ik分词器安装2.es启动3.Kibana启动 2.Linux环境安装3.分词器1.分词测试2.ES中默认分词器3.IK分词器4.自定义分词器 1.windows环境安装 es下载地址: https://www.elastic.co/cn/downloads/past-rel…

超声波清洗机洗眼镜效果好吗?四大主流超声波清洗机终极大测评

清洗眼镜是日常生活中一件很麻烦的事情,常规的清洗方式无法完全清洁镜片上的细菌和污垢,而且容易造成划痕。也有很多朋友为了节省时间,每次清洗眼镜都用衣服衣角随便擦拭擦拭就完事了,但其实这样做往往会很伤眼镜,缩短…

矩阵新玩法,云微客AI矩阵系统开启新营销大门

在激烈的市场竞争中,商家企业们都在追求更加高效的营销方式,在如今流量至上的时代,短视频凭借其魅力,成为了众多企业吸引流量、获客引流的核心营销途径。而想要挤进短视频流量圈的你,是否经常听到矩阵这个词呢&#xf…

远程工具的使用

远程连接工具的作用,通过远程连接到服务器上,方便操作! 1.常见的远程连接工具 XShell:这是一款Windows平台下的SSH客户端软件,支持SSH1、SSH2、SFTP、TELNET、RLOGIN等多种协议,功能丰富,包…

【MotionCap】conda 链接缺失的cuda库

conda 安装的环境不知道为啥python 环境里的 一些cuda库是空的要自己链接过去。ln 前面是已有的,后面是要新创建的 ln -s <path to the file/folder to be linked> cuda 有安装 libcublas 已经在cuda中 (base) zhangbin@ubuntu-server:~/miniconda3/envs/ai-mocap/lib/…

智能语音新革命:有道与Azure的API服务对决

在当今技术飞速发展的时代&#xff0c;API&#xff08;应用程序接口&#xff09;已经成为连接不同软件和服务的桥梁。无论是开发移动应用、构建网页服务&#xff0c;还是实现物联网设备的互联互通&#xff0c;API都在其中扮演着不可或缺的角色。随着市场上各种API接口的涌现&am…

整数智能与上海数据交易所携手,共筑数据要素市场新篇章

近期&#xff0c;整数智能荣获上海数据交易所“数据治理服务商”证书&#xff0c;正式加入上海数据交易所数商生态&#xff0c;成为上海数据交易所官方认证的数据治理服务商。 在数字经济的浪潮中&#xff0c;上海数据交易所一直扮演着引领者和推动者的角色。紧扣建设国家级…

8大趋势,重塑金融服务行业

谈论“金融服务行业”就像谈论“亚洲大陆”。这是因为&#xff0c;通用行业概念但它掩盖了许多细分领域的细微差别和多样性&#xff0c;以及人们思考、工作和感受方式的巨大差异。 银行应用程序和一个量化交易公司都是金融服务公司&#xff0c;但它们的运营方式可能天壤之别。…

Quads,一个无敌的 Python 库!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个无敌的 Python 库 - Quads。 Github地址&#xff1a;https://github.com/fogleman/Quads 在科学计算和工程应用中&#xff0c;数值积分是一个常见的问题。Python的Quads库…

WiFi模块ESP8266同阿里物联网云平台连接(超详细)

写在前面&#xff1a;本节主要的内容是利用ESP8266模块&#xff0c;同阿里云物联网平台的连接&#xff0c;为后面的实现数据的远程展示与处理做好铺垫。 本节的主要内容分为一下几个阶段进行&#xff1a; 1、阿里云物联网平台的创建2、阿里云 IOT studio界面绘制3、mqtt.fx软件…

Web服务器与Apache(虚拟主机基于ip、域名和端口号)

一、Web基础 1.HTML概述 HTML&#xff08;Hypertext Markup Language&#xff09;是一种标记语音,用于创建和组织Web页面的结构和内容&#xff0c;HTML是构建Web页面的基础&#xff0c;定义了页面的结构和内容&#xff0c;通过标记和元素来实现 2.HTML文件结构 <html>…

【初阶数据结构】二叉树(附题)

目录 1.树概念及结构 1.1树的概念 1.2 树的相关概念&#xff08;树结构的相关概念命名参考自然树和人的血缘关系&#xff09; 1.3 树的表示 1.4 树在实际中的运用&#xff08;表示文件系统的目录树结构&#xff0c;初次之外网盘中使用到&#xff09; 2.二叉树概念及结构 …

【pytorch08】拼接与拆分

1.拼接与拆分 CatStackSplitChunk 2.Cat 有两张成绩单 [class1-4,students,scores] [class5-9,students,scores]’ 要把这两个成绩单合并在一起 如何理解该行为 注意&#xff1a;班级情况中 A的tensor是[4,32,8],B的tensor是[5,32,8]如果我们是在0维上进行拼接&#xff0c;要…

“水刊”来了!专注发表水方向的SCI刊物,此“水刊”非彼水刊

【SciencePub学术】曾经的超级“水刊”《WATER SUPPLY》因为触碰红线&#xff0c;现在依旧被“on hold”中&#xff0c;解封日期恐怕也是遥遥无期。 来源&#xff1a;科睿唯安官网 后台有人私信小编有没有关于“水”类的期刊推荐&#xff0c;小编后台整理了一下&#xff0c;今…

step6:改用单例模式

文章目录 文章介绍codemain.cppSerialPort.qmlSerialPortHandler.h 文章介绍 案例MF改为单例模式 参考之前写过的关于单例模式的文章单例模式1、单例模式2 code main.cpp qmlRegisterSingletonType(“com.example.serialport”, 1, 0, “SerialPortHandler”, SerialPortHan…

《software architecture patterns》学习笔记

了解通用的架构模式并知道什么时候使用它们。 软件架构定义了软件的基本特点和行为。比如&#xff0c;有些软件架构会让软件变得可扩展&#xff0c;而有些软件架构会让软件变得易于修改。 知道每一种软件架构的特点、优缺点是非常有必要的&#xff0c;因为它们能帮助你选择一种…

吉时利 Keithley2461 数字源表

Keithley2461吉时利SMU高电流数字源表 2461 型图形化高电流数字 SourceMeter SMU 2461 高电流 SMU 凭借其 10A/1000W 脉冲电流和 7A/100W 直流电流能力以及双 18 位 1MS/s 数字转换器&#xff0c;优化用于检定和测试高功率材料、器件和模块&#xff0c;例如碳化硅 (SiC)、氮化…

Codeforces Round 954 (Div. 3) A~F

A.X Axis&#xff08;暴力&#xff09; 题意&#xff1a; 在 X X X轴&#xff08; 1 ≤ x i ≤ 10 1\leq x_i\leq 10 1≤xi​≤10&#xff09;上有三个点&#xff0c;其整数坐标分别为 x 1 x_1 x1​、 x 2 x_2 x2​和 x 3 x_3 x3​。您可以选择 X X X轴上任何一个整数坐标为 …

一分钟学习数据安全—自主管理身份SSI分布式标识DID介绍

SSI标准化的两大支柱&#xff0c;一个是VC&#xff0c;之前简单介绍过&#xff0c;另一个就是DID。基本层次上&#xff0c;DID就是一种新型的全局唯一标识符&#xff0c;跟浏览器的URL没有什么不同。深层次上&#xff0c;DID是互联网分布式数字身份和PKI新层级的原子构件。 一…

分别使用netty和apache.plc4x测试读取modbus协议的设备信号

记录一下常见的工业协议数据读取方法 目录 前言Modbus协议说明Netty 读取测试使用plc4x 读取测试结束语 前言 Modbus 是一种通讯协议&#xff0c;用于在工业控制系统中进行数据通信和控制。Modbus 协议主要分为两种常用的变体&#xff1a;Modbus RTU 和 Modbus TCP/IP Modbus …