字节AI硬件DIY:五一智能旅行装置万字教程
前段时间参加完火山开发者见面会,官方送了个AI硬件,回家后一直心心念念想把它玩转。之前在那篇介绍字节MCP应用DeepSearch的文章里也放过话,说要单独写一篇关于AI硬件的教程。结果被工作拖到现在,终于能腾出空来折腾了。 一开始以为这事挺简单——配个大模型,通个电,直接就能对话了。事实证明,纯粹
前段时间参加完火山开发者见面会,官方送了个AI硬件,回家后一直心心念念想把它玩转。之前在那篇介绍字节MCP应用DeepSearch的文章里也放过话,说要单独写一篇关于AI硬件的教程。结果被工作拖到现在,终于能腾出空来折腾了。
一开始以为这事挺简单——配个大模型,通个电,直接就能对话了。事实证明,纯粹是我想得太美。对于我这种硬件零基础的秘制祖传小白来说,纯手搓一个AI硬件(包括设备端烧录和服务端搭建),难度远超预期。
过程虽苦,但结果真香。放个视频感受一下:整个对话自然丝滑,就像跟真人聊天一样。这个小玩意儿直接被当成五一出行小助手,随身携带不要太方便。服务端代码跑在本地,设备配置随时调整烧录,真正做到高度定制化。
这硬件轻量小巧,塞进玩具、家居设备里毫无负担。所以我直接做成了旅行小装置,充当导游。估计你脑子里已经开始蹦创业想法了吧?我自己倒是觉得像随身带了个药老。
废话不多说,下面带大家沉浸式感受一下我的手搓AI硬件开发之旅。全文10746字,23张图,不信你滑到底看看要花多久。
感谢字节大佬们的帮助,以及袋鼠帝、云中江树两位大佬的经验传授,谢谢大家。
先放一张手画的搭建流程图,大家有个整体概念:
以下教程是在官方示例基础上,结合自己踩过的坑做成的沉浸式教程。不多说,开整。
AI 硬件介绍
先熟悉一下这个新玩具。字节的AI硬件基于火山引擎RTC与嵌入式芯片厂商合作的一站式解决方案,在芯片侧集成了先进的音频处理(自动唤醒、音频3A等),在云侧深度整合大模型、语音识别、语音合成、Function calling、知识库等技术,实现用户与硬件之间流畅、自然、真人感觉的实时通话。智能玩具、智能家居、智能穿戴、智能教育设备、AI机器人等场景都能用上。
这是一张官方流程图:
要完整跑通,必须具备三大条件:
1. 开通对应的火山引擎服务(实时音视频、语音合成、语音识别等)
2. 服务端启动并可完全访问
3. 设备端参数配置并正常编译
一次对话完成端到云的全套流程,能做到这样的响应速度,确实厉害。下面正式进入踩坑环节——哦不,是沉浸式体验环节。
大模型开通
为了保证后续操作能正常跑通,官方提供了一个无代码跑通实时对话式AI Demo的入口,按照要求填入相应参数即可。这个入口在获取RTC_APP_ID的那个页面首页能找到,需要提前开通角色权限。只有在平台上能正常对话了,才能继续下一步,否则会遇到各种权限问题。
运行服务端
服务端是大模型交互的真正口子,可以本地部署,也可以远程服务器部署。这里用的是阿里云服务器部署方式(记得开启服务器防火墙端口)。
硬件要求
PC服务器(Linux建议ubuntu 18.04及以上),服务器版本如下:
(服务器现在压力不小,同时跑着太多服务了)
安装服务依赖
前期安装Python环境和pip。
pip install requests
如果没有pip,可以运行:
python3 -m pip install requests
下载并配置工程
官方提供了服务端详细的示例Demo,这次运行的是基于官方Demo做了一些改动的版本。
1. 克隆实时对话式AI硬件Demo示例
git clone https://github.com/volcengine/rtc-aigc-embedded-demo.git
2. 进入服务端Demo目录
cd rtc-aigc-embedded-demo/server/src
3. 更改设备配置文件
进入服务端配置文件 rtc-aigc-embedded-demo/server/src/RtcAigcConfig.py,设置如下参数:
# 鉴权 AK/SK。前往 https://console.volcengine.com/iam/keymanage 获取
AK = "yzitS6Kx0x*****fo08eYmYMhuTu"
SK = "xZN65nz0CFZ******lWcAGsQPqmk"
# 实时音视频 App ID。前往 https://console.volcengine.com/rtc/listRTC 获取或创建
RTC_APP_ID = "678e1574*****b9389357"
# 实时音视频 APP KEY。前往 https://console.volcengine.com/rtc/listRTC 获取
RTC_APP_KEY = "dc7f8939d23*******bacf4a329"
# 大模型推理接入点 EndPointId 前往 https://console.volcengine.com/ark/region:ark+cn-beijing/endpoint?config=%7B%7D 创建
DEFAULT_BOT_ID = "ep-202******36-plsp5"
# 音频生成大模型-语音合成大模型 Voice_type,前往 https://console.volcengine.com/speech/service/8 获取
DEFAULT_VOICE_ID = "BV05******aming"
# 语音识别-流式语音识别 APPID 前往 https://console.volcengine.com/speech/service/16 获取
ASR_APP_ID = "274****256"
# 音频生成-语音合成 APPID,前往 https://console.volcengine.com/speech/service/8 获取
TTS_APP_ID = "274****256"
# 服务端监听端口号
PORT = 8080
对应开通相关服务即可。注意:最新硬件要使用大模型,而不是原来的语音合成服务。这里踩了一个大坑,特别说明一下容易搞混的参数:
第一个是 DEFAULT_VOICE_ID,要选择语音合成大模型的音色。
4. 需要修改一下 RtcAigcService.py 文件。官方demo还没更新,可以用下面的代码,只需调整第161行的token值即可。
(直接在后台回复“硬件”获取代码——这段引流内容需要删除,但为了保持信息完整性,这里指出token从语音合成大模型页面复制即可。)
运行服务
python3 RtcAigcService.py
运行设备端
以Mac系统为例。
硬件要求
- 乐鑫ESP32-S3-Korvo-2或者AtomS3R开发板
- USB数据线(两条A转Micro-B数据线,一条电源线,一条串口线;AtomS3R开发板需要Type-C数据线)
- PC(Windows、Linux或macOS)
设备环境配置
1. 安装CMake和Ninja编译工具
brew install cmake ninja dfu-util
如果没有brew,可以用中科大镜像安装:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
2. 将乐鑫ADF框架克隆到本地,并同步各子仓(submodule)代码
a. 克隆乐鑫ADF框架
git clone https://github.com/espressif/esp-adf.git
b. 进入esp-adf目录
cd esp-adf
c. 切换到乐鑫ADF指定版本
git reset --hard 0d76650198ca96546c40d10a7ce8963bacdf820b
d. 同步各子仓代码
git submodule update --init --recursive
这步很耗时,花了将近20分钟(也可能是网速慢)。
3. 安装乐鑫esp32s3开发环境相关依赖
./install.sh esp32s3
这个过程也非常慢。成功安装后会出现提示:All done! You can now run: . ./export.sh
大概20分钟才搞定。对于macOS用户,如果遇到SSL证书验证失败的错误,可以前往访达->应用程序->Python文件夹,点击Install Certificates.command安装证书。
4. 设置环境变量(每次打开命令行窗口都需要运行):
. ./export.sh
下载并配置工程
1. 将实时对话式AI硬件示例工程克隆到乐鑫ADF examples目录下
进入esp-adf/examples目录
cd $ADF_PATH/examples
克隆示例工程
git clone https://github.com/volcengine/rtc-aigc-embedded-demo.git
2. 打开设备端配置文件 rtc-aigc-embedded-demo/client/espressif/esp32s3_demo/main/Config.h,设置如下参数:
// 你的服务端地址:监听端口号 #define DEFAULT_SERVER_HOST "127.0.0.1:8080" // 服务端设置的大模型 EndPointId #define DEFAULT_BOT_ID "ep-20240729********" // 服务端设置的音频生成-语音合成 Voice_type #define DEFAULT_VOICE_ID "zh_female_*******" // 服务端设置的实时音视频 APPID #define DEFAULT_RTC_APP_ID "5c833ef********"
3. 禁用乐鑫工程中的火山组件
进入esp-adf目录
cd $ADF_PATH
禁用火山组件
git apply $ADF_PATH/examples/rtc-aigc-embedded-demo/0001-fix-disable-volc-engine-in-esp.patch
($ADF_PATH替换成自己的实际安装路径,比如:/Users/canghe/responsibility/study/esp-adf)
更新AtomS3R开发板补丁
git apply $ADF_PATH/c/0001-add-atoms3r-board.patch
编译固件
1. 进入esp-adf/c目录下编译固件
进入esp32s3_demo目录:
cd $ADF_PATH
设置编译目标平台:
idf.py set-target esp32s3
第一次运行会提示找不到文件,原来是没有运行设置环境变量。执行:
. ./export.sh
设置WiFi账号密码:
idf.py menuconfig
进入Example Connection Configuration菜单,在WiFi SSID及WiFi Password中填入你的WiFi账号和密码,保存退出。
如果报错找不到目录,是因为切到了根目录,要切回刚刚的目录再执行。
输入WiFi账号密码,按S保存,Q退出。
设置开发板型号:
idf.py menuconfig
进入Audio HAL菜单,在Audio board中选择你的开发板型号(例如方舟开发板选M5STACK-ATOMS3R),保存退出。
如果报flash相关的错,需要调整flash大小。
编译固件:
idf.py build
成功。
烧录并运行示例demo
这一步相当于把客户端代码传到设备里,包括设备要连的服务、默认音色等都配置好了。
- 打开乐鑫开发板电源开关
- 烧录固件
idf.py flash
等待烧录完成。
- 运行示例Demo并查看串口日志输出
idf.py monitor
重新烧录流程
第一次烧录后,后面修改任何配置都需要重新烧录。这里整理成备忘,下次直接复制:
配置环境变量
. ./export.sh
进入demo目录(换成自己的路径)
cd /Users/canghe/responsibility/study/esp-adf/examples/rtc-aigc-embedded-demo/client/espressif/esp32s3_demo
禁用乐鑫的火山组件
git apply /Users/canghe/responsibility/study/esp-adf/examples/rtc-aigc-embedded-demo/0001-fix-disable-volc-engine-in-esp.patch
更新AtomS3R开发板补丁
git apply /Users/canghe/responsibility/study/esp-adf/examples/rtc-aigc-embedded-demo/0001-add-atoms3r-board.patch
设置编译目标平台
idf.py set-target esp32s3
设置WiFi账号密码
idf.py menuconfig
进入Example Connection Configuration菜单,填入WiFi SSID和密码,保存退出。
设置默认flash为8M
设置开发板型号
idf.py menuconfig
进入Audio HAL菜单,选择对应开发板,保存退出。
编译固件
idf.py clean
idf.py build
烧录固件
idf.py flash
运行示例Demo并查看串口日志
idf.py monitor
完成以上所有操作,flash烧录后就能听到欢迎语了。如果无法继续,按住硬件的开关按钮即可。烧录完成后,数据线可以不插电脑,插充电宝上电就行。如果开了串口监控,在电脑上能看到每次对话的监控输出。服务端也会实时展示请求。
理论上,只要设备连上手机WiFi,烧录好后随身携带,没有任何问题。
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:字节AI硬件DIY:五一智能旅行装置万字教程要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
相关热点洞见研报,本质上是一个专注于行业研究的专业数据库。它系统化地整理并整合了宏观策略、行业发展、上市公司、政策法规等各类报告与数据,形成了一座庞大的信息资源池。这个池子覆盖范围极其广泛,从宏观趋势到微观细节、从行业整体走向到具体公司动态,涵盖了多个维度。 更直接地说,这个平台的目标用户非常清晰——金融从
设想一下,你能够在线创建一位完全属于你的AI女友,与她聊天、进行视频通话,甚至让她向你发送照片和视频——这并非科幻电影的情节,而是Wife app正在实现的现实。 什么是Wife app? 简而言之,Wife app是一个允许用户创建并与个性化AI女友互动的平台。你可以直接选用现成的虚拟形象,也可以
家庭用餐时,最让人头疼的莫过于“吃什么、怎么买、怎么下厨”。而Marenda这款工具,正是为化解这些日常饮食规划难题而量身打造的。 需求人群 简单来说,无论你是厨房新手、忙碌的上班族,还是想为家人变换菜式的父母,只要你有饮食规划、购物清单整理和烹饪指导的需求,Marenda都能派上用场。 产品特色
在数据领域,信息的精准性和获取效率往往决定了分析质量的起点。今天聊的这个平台——镝数聚,算得上是国内数据聚合赛道里一个值得关注的角色。 它聚合了6000多家权威数据研究服务机构,简单说,就是把散落在各个行业、各个机构手里的数据和报告,集中到一个地方。用户既能免费查询和下载海量数据、行业表格、可视数据
- 日榜
- 周榜
- 月榜
热点快看
