试图教会你虾哥小智AI源码编译固件
#虾哥# #小智# #固件编译# #DIY设计# 近期虾哥的小智开源项目大受欢迎,你是否定制了自己的硬件而不知道如何编译固件?跟我来编译属于自己的小智固件! 源码基于虾哥https://github.com/78/xiaozhi-esp32.git 直接下载或者安装git客户端后命令拉取源码 gh repo clone 78/xiaozhi-esp32 git clone https://github.com/78/xiaozhi-esp32.git 选择一种即可 在VSCODE中打开文件夹,这里默认已经安装好乐鑫IDF 连接好开发板后,依次选择端口号,设置目标芯片,烧录方式 根据硬件情况选择,如果是通过串口芯片连接的ESP32S3就选择UART,否则选择JTAG 选择SDK配置编辑器,对应命令 idf.py menuconfig 我们这里全程不需要命令行操作,UI界面点选即可 根据自己开发板情况进行以下修改 修改Flash size,因为我用的模组是ESP32-S3-WROOM-1-N4,即4M版本,没有PSRAM。 修改Custom partition CSV file分区表 partitions.csv 修改为 partitions_4M.csv 自己部署后台的可以修改这里,看到已有开源项目。 这里选择对应的开发板,如果是自己DIY的,就选择默认面包板wifi版本或者4G版本即可 貌似没有PSRAM,就不能语音唤醒,关掉即可。 切换回源码,进行IO口配置,如果按照虾哥推荐的接线方式就不需要动这里。 #ifndef _BOARD_CONFIG_H_ #define _BOARD_CONFIG_H_ #include [removed] #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 32 #define DISPLAY_MIRROR_X true #define DISPLAY_MIRROR_Y true #endif // _BOARD_CONFIG_H_ 以上是我的项目配置 #ifndef _BOARD_CONFIG_H_ #define _BOARD_CONFIG_H_ #include [removed] #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 32 #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 可以设置备注名称,方便区分不同的设备 进行智能体配置
molun
4 59 开源硬件平台
有没有大佬能详细介绍介绍ESP-32系列模组驱动各类屏幕,屏幕各引脚与模组GPIO连接有没有什么讲究,如何结合数据手册确定?看了很多案例,五花八门,终究没有知其所以然!求赐教! #ESP32# 有没有大佬能详细介绍介绍ESP-32系列模组驱动各类屏幕,屏幕各引脚与模组GPIO连接有没有什么讲究,如何结合数据手册确定?看了很多案例,五花八门,终究没有知其所以然!求赐教!
molun
3 5 开源硬件平台