当前位置: 首页 > 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.lqws.cn/news/172027.html

相关文章:

  • 全面理解 Linux 内核性能问题:分类、实战与调优策略
  • D3ctf-web-d3invitation单题wp
  • 数学建模期末速成 聚类分析与判别分析
  • 第16节 Node.js 文件系统
  • 传输层:udp与tcp协议
  • 前端基础之《Vue(19)—状态管理》
  • Node-RED 基于流程的可视化编程工具
  • $attrs 与 $listeners 透传
  • 【Python-Day 23】Python 模块化编程实战:创建、导入及 sys.path 深度解析
  • 嵌入式学习笔记 - FreeRTOS 信号量以及释放函数
  • vue中加载Cesium地图(天地图、高德地图)
  • Amazon Bedrock 助力 SolveX.AI 构建智能解题 Agent,打造头部教育科技应用
  • 火语言RPA--应用列表
  • CMake控制VS2022项目文件分组
  • Spring AI 入门:Java 开发者的生成式 AI 实践之路
  • 8.1_排序的基本概念
  • 有声书画本
  • 基于JWT+SpringSecurity整合一个单点认证授权机制
  • 光耦合器:隐形守护者,拓展无限应用
  • Linux容器篇、第二章_01Ubuntu22 环境下 KubeSphere 容器平台高可用搭建全流程
  • 装饰模式(Decorator Pattern)重构java邮件发奖系统实战
  • k8s安装ingress-nginx
  • 以STM32H7微控制器为例,简要说明stm32h7xx_it.c的作用
  • Transformer架构解析:Encoder与Decoder核心差异、生成式解码技术详解
  • App/uni-app 离线本地存储方案有哪些?最推荐的是哪种方案?
  • MADlib —— 基于 SQL 的数据挖掘解决方案(4)—— 数据类型之矩阵
  • Tomcat全方位监控实施方案指南
  • 《基于Apache Flink的流处理》笔记
  • Docker容器化技术概述与实践
  • 【Python工具开发】k3q_arxml 简单但是非常好用的arxml编辑器,可以称为arxml杀手包