虾哥小智AI聊天机器人适配教程--虫洞ESP32-S3-BOX AI开发板

虾哥小智AI相关资源

小智AI源码(编译需5.3版本以上的IDF,建议实用5.4版本)

GitHub - 78/xiaozhi-esp32: Build your own AI friend

tenclass/xiaozhi-esp32

小智AI的使用,可以看源码中的readme文档:

小智 AI 后台配置面板:
小智 AI 聊天机器人https://xiaozhi.me/

小智AI聊天机器人常见问题Q&A
Docs

后天本地部署

github.comhttps://github.com/xinnan-tech/xiaozhi-esp32-server

准备好我们的虫洞嵌入式推出的esp32s3-box AI开发板

小智AI 虫洞ESP32-S3-BOX开发板 小智AI聊天机器人 英语老师-淘宝网

1.先搭建idf开发环境(建议上idf5.4),不知道怎么搭建的,可参考环境搭建教程;

例如虫洞嵌入式提供的教程:

#######全新手建议win下安装########

esp32学习:windows下idf离线安装(最简单)_esp32离线包-优快云博客

#######这里是linux虚拟机环境安装########

esp-who环境安装一:ESP-idf安装,下拉代码(速度快,包成功!!!)_esp idf拉取工具链-优快云博客

编译helloworld成功,则表示环境安装成功。

2.下载小智源码

小智AI源码(需5.3版本以上的IDF)

gitee:

tenclass/xiaozhi-esp32

github:

https://github.com/78/xiaozhi-esp32/releases

配制选择:

(1)运行idf.py set-target esp32s3

   (2) 运行idf.py menuconfig

注意要保存:按下键盘s键,根据提示选择保存。

 (3)idf.py build编译成功后,往下进行适配

工程适配

在main/boards/esp-box-3/esp_box3_board.cc和main/boards/esp-box-3/config.h中调整屏幕

 

在main/ota.cc中关闭OTA升级(不关闭的话,有可能OTA升级到乐鑫esp32s3box3的固件了。)

然后编译下载调试,参照Windows 平台工具链的标准设置 - ESP32-S3 - — ESP-IDF 编程指南 v5.4.1 文档

希望对你有帮助,欢迎一起来交流哦,谢谢。

01-04 1万+
### 如何使用 `window.open` 实现图片文件的下载功能 为了通过 `window.open()` 方法实现图片文件的下载功能,可以利用 HTTP 响应头中的 `Content-Disposition: attachment; filename="example.jpg"` 来指示浏览器将资源作为附件处理并触发下载行为[^1]。如果服务器端未设置此响应头,则可以通过前端代码手动创建一个临时链接来模拟下载操作。 以下是具体实现方式: #### 服务端配置 确保服务器返回的图片资源带有正确的 HTTP 头部信息: ```plaintext Content-Type: image/jpeg Content-Disposition: attachment; filename="example.jpg" ``` 当客户端访问该 URL 时,浏览器会自动识别为下载动作而不是直接显示图片内容。 #### 客户端实现 如果没有权限更改服务器逻辑或希望兼容更多场景,可以在前端封装一个函数用于强制下载图片文件。下面是一个基于 AJAX 和 Blob 对象的方法示例[^3]: ```javascript export function downloadImage(url, fileName) { const xhr = new XMLHttpRequest(); xhr.open(&#39;GET&#39;, url, true); xhr.responseType = &#39;blob&#39;; // 设置 responseType 为 blob 类型 xhr.onload = function () { if (this.status === 200) { const blobUrl = window.URL.createObjectURL(this.response); // 创建对象 URL const aTag = document.createElement(&#39;a&#39;); // 动态生成 <a> 标签 aTag.href = blobUrl; aTag.download = fileName || &#39;image.jpg&#39;; // 自定义文件名称,默认为 image.jpg aTag.style.display = &#39;none&#39;; document.body.appendChild(aTag); aTag.click(); // 模拟点击触发下载 window.URL.revokeObjectURL(blobUrl); // 解除对象 URL 占用内存 document.body.removeChild(aTag); } }; xhr.onerror = function () { console.error(&#39;Failed to fetch the image.&#39;); }; xhr.send(); } // 调用示例 downloadImage(&#39;http://example.com/path/to/image.jpg&#39;, &#39;custom_name.jpg&#39;); ``` 上述代码片段展示了如何通过 JavaScript 下载远程图片资源,并允许开发者指定保存下来的文件名。 另外需要注意的是,在某些情况下单纯调用 `window.open()` 可能无法满足需求,因为部分现代浏览器出于安全考虑会对弹窗进行拦截[^4]。因此推荐采用更可靠的解决方案如上所示。 --- ### 注意事项 - 如果目标仅限于特定类型的图像(例如 PNG 或 JPG),则需确认这些格式能够被正确解析。 - 浏览器差异可能影响最终效果,请测试不同环境下的表现情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虫洞嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值