当前位置: 首页 > news >正文

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。

如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LAUNCHPAD,按照说明在 Mac 上也可以使用。

而我想着后期做一些定制,所以还是需要在 Mac 上搭建 ESP-IDF 开发环境,自己编译和烧录固件。而这个在 小智 AI 聊天机器人百科全书 中没有详细提及,所以我就记录一下搭建过程,供有需要的朋友参考。

先上一个跑起来后的效果:
在这里插入图片描述

配置 macOS 平台工具链

这一步参考乐鑫官方的 Linux 和 macOS 平台工具链的标准设置 完成,我这里指定了使用 ESP-IDF v5.4.1 版本,编译目标是 ESP32-S3。

第一步:安装前置依赖

brew install cmake ninja dfu-util ccache python3

第二步:获取 ESP-IDF

mkdir ~/github
cd ~/github
git clone -b v5.4.1 --recursive https://github.com/espressif/esp-idf.git

ESP-IDF 将下载至 ~/github/esp-idf 目录。

第三步:设置工具

cd ~/github/esp-idf
./install.sh esp32s3

第四步:设置环境变量

在 ~/.zshrc 中添加以下内容:

aliasget_idf='. $HOME/github/esp-idf/export.sh'

然后 source ~/.zshrc 使其生效。

这样在需要用到 ESP-IDF 环境的时候,只需要在终端中执行 get_idf 即可。

在执行以上步骤时,如果遇到问题,可以到 乐鑫官方文档 里看看有没有解决方案。

下载和编译小智 AI 固件

cd ~/github
git clone -b v1.6.2 git@github.com:78/xiaozhi-esp32.git
cd xiaozhi-esp32

然后接入 ESP32-S3 开发板,执行以下命令:

get_idf
idf.py set-target esp32s3
idf.py build
idf.py flash monitor

一切顺利的话,会向 ESP32-S3 开发板烧录小智 AI 固件,并且进入监控模式。

至此,就初步能跑起来了。按照提示进行 WiFi 配置和小智 AI 平台的设备绑定,即可开始使用。

如果后续需要定制固件,可以基于 ~/github/xiaozhi-esp32 目录进行修改和编译。若习惯使用 VSCode 进行开发,可以安装 适用于 VSCode 的 ESP-IDF 扩展,这样可以更方便地进行开发和调试。

参考链接

  • https://www.espressif.com.cn/zh-hans/support/download/other-tools

  • https://espressif.github.io/esp-launchpad/

  • https://ccnphfhqs21z.feishu.cn/wiki/F5krwD16viZoF0kKkvDcrZNYnhb

  • https://docs.espressif.com/projects/esp-idf/zh_CN/v5.4.1/esp32s3/get-started/linux-macos-setup.html

  • https://github.com/espressif/vscode-esp-idf-extension

http://www.dtcms.com/a/234414.html

相关文章:

  • Pycharm中添加不了新建的Conda环境(此篇专门给Daidai写的)
  • 衡量嵌入向量的相似性的方法
  • 服务器磁盘空间被Docker容器日志占满处理方法
  • 青少年编程与数学 01-011 系统软件简介 05 macOS操作系统
  • 基于IDIG-GAN的小样本电机轴承故障诊断
  • Mac下Android Studio扫描根目录卡死问题记录
  • WebRTC 与 WebSocket 的关联关系
  • 代码安全规范1.1
  • QuaggaJS用法详解
  • elasticsearch基本操作笔记
  • Ubuntu 基于sdl 音频学习的基础代码
  • WebRTC源码线程-1
  • 天机学堂(学习计划和进度)
  • react public/index.html文件使用env里面的变量
  • 〈软件安装管家软件目录〉▷Windows系统版
  • 基于cornerstone3D的dicom影像浏览器 第二十九章 自定义菜单组件
  • 安装VUE客户端@vue/cli报错警告npm WARN deprecated解决方法 无法将“vue”项识别为 cmdlet、函数
  • 机器学习框架PyTorch
  • 装饰模式(Decorator Pattern)重构java邮件发奖系统实战
  • 知识图谱技术概述
  • RetroMAE 预训练任务
  • ant-design4.xx实现数字输入框; 某些输入法数字需要连续输入两次才显示
  • JS实现OSS断点续传
  • 实战设计模式之模板方法模式
  • 手机号段数据库的作用
  • MySQL 索引优化(Explain执行计划) 详细讲解
  • 【Oracle APEX开发小技巧12】
  • Elasticsearch集群手动分片分配指南:原理与实践
  • 大模型在脑梗塞后遗症风险预测及治疗方案制定中的应用研究
  • Codeforces EDU Round 179 A~D