0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MolunSmartHome虾哥小智源码编译固件演示

默语聆听 ? 来源:默语聆听 ? 作者:默语聆听 ? 2025-02-24 12:21 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

【MolunSmartHome】试图教会你编译自己的小智固件


源码下载

虾哥小智源码地址:[https://github.com/78/xiaozhi-esp32.git]

直接下载或者安装git客户端后命令拉取源码

gh repo clone 78/xiaozhi-esp32
gh repo clone 78/xiaozhi-esp32
gh repo clone 78/xiaozhi-esp32
git clone https://github.com/78/xiaozhi-esp32.git

选择一种即可


环境配置

在VSCODE中打开文件夹,这里默认已经安装好乐鑫IDF

连接好开发板后,依次选择端口号,设置目标芯片,烧录方式

根据硬件情况选择,如果是通过串口芯片连接的ESP32S3就选择UART,否则选择JTAG


编译配置

选择SDK配置编辑器,对应命令

idf.py menuconfig
idf.py menuconfig
idf.py menuconfig

根据自己开发板情况进行以下修改

修改Flash size,因为我用的模组是ESP32-S3-WROOM-1-N4,即4M版本,没有PSRAM

修改Custom partition CSV file分区表

partitions.csv 修改为 partitions_4M.csv
partitions.csv 修改为 partitions_4M.csv
partitions.csv 修改为 partitions_4M.csv

自己部署后台的可以修改这里,看到已有开源项目。

这里选择对应的开发板,如果是自己DIY的,就选择默认面包板wifi版本或者4G版本即可

貌似没有PSRAM,就不能语音唤醒,关掉即可。

切换回源码,进行IO口配置,如果按照虾哥推荐的接线方式就不需要动这里。


配置展示

#ifndef _BOARD_CONFIG_H_
#define _BOARD_CONFIG_H_


#include < driver/gpio.h >


#define AUDIO_INPUT_SAMPLE_RATE  16000
#define AUDIO_OUTPUT_SAMPLE_RATE 24000


// 如果使用 Duplex I2S 模式,请注释下面一行
#define AUDIO_I2S_METHOD_SIMPLEX


#ifdef AUDIO_I2S_METHOD_SIMPLEX


#define AUDIO_I2S_MIC_GPIO_WS   GPIO_NUM_5
#define AUDIO_I2S_MIC_GPIO_SCK  GPIO_NUM_4
#define AUDIO_I2S_MIC_GPIO_DIN  GPIO_NUM_6
#define AUDIO_I2S_SPK_GPIO_DOUT GPIO_NUM_7
#define AUDIO_I2S_SPK_GPIO_BCLK GPIO_NUM_15
#define AUDIO_I2S_SPK_GPIO_LRCK GPIO_NUM_16


#else


#define AUDIO_I2S_GPIO_WS GPIO_NUM_5
#define AUDIO_I2S_GPIO_BCLK GPIO_NUM_4
#define AUDIO_I2S_GPIO_DIN  GPIO_NUM_6
#define AUDIO_I2S_GPIO_DOUT GPIO_NUM_7


#endif



#define BUILTIN_LED_GPIO        GPIO_NUM_14
#define BOOT_BUTTON_GPIO        GPIO_NUM_0
#define TOUCH_BUTTON_GPIO       GPIO_NUM_21
#define VOLUME_UP_BUTTON_GPIO   GPIO_NUM_NC
#define VOLUME_DOWN_BUTTON_GPIO GPIO_NUM_NC


#define DISPLAY_SDA_PIN GPIO_NUM_41
#define DISPLAY_SCL_PIN GPIO_NUM_42
#define DISPLAY_WIDTH   128
#define DISPLAY_HEIGHT  64
#define DISPLAY_MIRROR_X true
#define DISPLAY_MIRROR_Y true


#endif // _BOARD_CONFIG_H_

以上是我的项目配置



这里暂且不关闭试试,上次关闭编译后使用正常。

这里选择唤醒词,乐鑫官方提供了一些,默认你好小智,还有诸如小爱同学、Hi乐鑫等,当然也可以付费定制优化自己的唤醒词。


免费模组


“白嫖”模组,实际上就是别的厂商优化唤醒词语料!

模组“白嫖”地址在这里,可别说我吃独食。别忘记填写邀请码:RJBGBB


继续往下翻找,或者搜索PSRAM,关闭PSRAM,如果你采用的是带有PSRAM的模组如N8R2之类的,可能需要调整对应的通道

我这里选择关闭PSRAM

固件编译&烧录

修改完毕之后保存生效,点击构建烧录

耐心等待ing

烧录成功

至此,可以用手机连接模组热点进行配网。我这里二次烧录后尽然不需要配网,直接接入了。

首次烧录后,配网完成会播报验证码,用于小智后台绑定。

控制台添加设备

[https://xiaozhi.me/console/devices]

可以设置备注名称,方便区分不同的设备。

进行智能体配置

保存后重启设备,开始体验吧!

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 源码
    +关注

    关注

    8

    文章

    674

    浏览量

    30403
  • 编译
    +关注

    关注

    0

    文章

    680

    浏览量

    34262
  • esp32s3
    +关注

    关注

    0

    文章

    8

    浏览量

    2076
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RTsmart源码编译错误,提醒我缺少文件导致make失败,为什么?

    出现 不理解,之前都是不会出现这种错误的,怀疑是源码拉取缺少了部分文件 不仅如此,编译了YOLO的可执行文件也无法实现,提醒VICAP初始化失败超时,打不开标签文件,模型无效,我没有改过YOLO部分代码
    发表于 06-20 06:25

    【经验分享】在Omni3576上编译Redis-8.0.2源码,并安装及性能测试

    本文首先介绍Redis是什么,然后介绍如何在Omni3576上编译Redis-8.0.2源码,以及从源码编译、安装Redis,最后介绍如何在Omni3576上运行Redis性能测试,并
    的头像 发表于 06-05 08:05 ?397次阅读
    【经验分享】在Omni3576上<b class='flag-5'>编译</b>Redis-8.0.2<b class='flag-5'>源码</b>,并安装及性能测试

    在用平头调试中,如何重新只编译k230的uboot?

    在用平头调试中,如何重新只编译k230的uboot
    发表于 06-04 07:30

    KiCad直播活动(三):在 Windows上编译KiCad 手把手教您编译/构建 KiCad 源码

    Developer Ethan 同学,手把手教您编译/构建 KiCad 源码: 开发工具安装 环境变量配置 使用 VS2022 构建 KiCad 参与直播的小伙伴还有机会获得 KiCon Badge
    的头像 发表于 03-24 11:14 ?888次阅读
    KiCad直播活动(三):在 Windows上<b class='flag-5'>编译</b>KiCad 手把手教您<b class='flag-5'>编译</b>/构建 KiCad <b class='flag-5'>源码</b>

    编译系统镜像教程

    解压完成后G2L-Yocto SDK源码以后,我们需要指定编译参数才能开始给RemiPI生成对应的系统,配置脚本执行完成后将进入build-remi-1g目录下,在此目录下就可以开始构建系统。
    的头像 发表于 02-25 09:32 ?593次阅读
    <b class='flag-5'>编译</b>系统镜像教程

    DLPNIRNANOEVM固件如何编译

    DLPNIRNANOEVM: 固件如何编译编译的时候报错解决不了有没有人可以叫我一下,或者一起学习交流
    发表于 02-24 08:25

    ADCPro工具下发到MMB0板子上的TMS320固件源码,能不能获取到呢?

    1、想对AdcPro工具做些修改,以方便自己使用,不知道能不能获取到这个软件源码? 2、ADCPro工具下发到 MMB0板子上的TMS320(我的是ADS1259EVM-PDK)固件源码,能不能
    发表于 01-15 06:52

    OpenHarmony源码编译后烧录镜像教程,RK3566鸿蒙开发板演示

    本文介绍瑞芯微主板/开发板编译OpenHarmony源码后烧录镜像的教程,触觉智能Purple Pi OH鸿蒙开发板演示。搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持开源鸿蒙OpenHarmony3.2-5.0系
    的头像 发表于 12-30 10:08 ?898次阅读
    OpenHarmony<b class='flag-5'>源码</b><b class='flag-5'>编译</b>后烧录镜像教程,RK3566鸿蒙开发板<b class='flag-5'>演示</b>

    如何在Petalinux下Patch u-boot源码

    在软件开发过程中我们经常遇到用 Patch 来传递和更新代码的场景。本文以一个端到端的例子来演示在 Petalinux 使用过程中,如何给 u-boot 的源码生成 Patch 并在 Petalinux 中编译
    的头像 发表于 12-04 16:26 ?1867次阅读
    如何在Petalinux下Patch u-boot<b class='flag-5'>源码</b>

    迅为RK3568开发板定制扩展分区SDK源码编译-获取Linux-定制扩展分区源码

    获取 Linux-定制扩展分区源码编译环境说明: 现在的 SDK 源码编译的时候会自动配置编译环境,所以对环境要求不再那么严格,经过测
    发表于 11-25 10:24

    LIN演示使用PGA450Q1EVM固件版本2.1

    电子发烧友网站提供《LIN演示使用PGA450Q1EVM固件版本2.1.pdf》资料免费下载
    发表于 09-30 14:15 ?0次下载
    LIN<b class='flag-5'>演示</b>使用PGA450Q1EVM<b class='flag-5'>固件</b>版本2.1

    【北京迅为】iTOP-i.MX6开发板使用手册第四部分固件编译第十四章非设备树Android4.4系统编译

    【北京迅为】iTOP-i.MX6开发板使用手册第四部分固件编译第十四章非设备树Android4.4系统编译
    的头像 发表于 09-12 15:43 ?1002次阅读
    【北京迅为】iTOP-i.MX6开发板使用手册第四部分<b class='flag-5'>固件</b><b class='flag-5'>编译</b>第十四章非设备树Android4.4系统<b class='flag-5'>编译</b>

    《DNK210使用指南 -CanMV版 V1.0》第五章 编译CanMV固件

    的CanMV固件,本章就将带领读者体验一下CanMV固件编译流程。本章分为如下几个小节:5.1 CanMV固件编译说明5.2 获取CanM
    发表于 09-07 10:56

    java反编译能拿到源码

    Java反编译是一种将编译后的Java字节码(.class文件)转换回Java源代码的过程。虽然反编译可以帮助理解代码的逻辑和结构,但它并不总是能完美地还原原始源代码。反编译工具通常会
    的头像 发表于 09-02 11:03 ?1868次阅读

    【龙芯2K0300蜂鸟板试用】第五篇 龙芯2K0300蜂鸟板--修改uboot固件支持串口/LCD双输出

    ,没有办法只能网购了一套刷机工具,等了3天总算又让蜂鸟板活了起来。 一.修改u-boot源码 按照用户手册修改源码,如图1所示。 图1 支持串口/LCD双输出 编译源码,如图2所示。
    发表于 08-21 23:07