2025.7.25学习日记【xiaozhiAI】
1.硬件
- 面包板:可找厂家购买免焊接版本,然后让其给予教程,进行搭建,直接TB搜索小智AI面包板即可
- 成品开发板:可以选择立创的S3与C3
2.软件
2.1 Flash工具与Web写入
无开发环境写入的具体教程链接如下:无开发环境
- Flash软件写入(推荐)
1. 下载工具:Flash工具,该工具不要放在中文路径下
2. 下载固件:固件列表,固件也不要放在中文路径下,例如选择的是立创的S3与C3开发板,就使用如下两个固件,固件下载完毕后解压成bin格式放到flash download tool的bin目录下,然后就可以参考文章的过程了,最后点击RST重启开发板,即可进入配网模式.

- 在线Web写入(推荐)
1. 工具网站::鹿戴马物联一站式开发工具
2. 详细流程:分为选择固件,连接固件,开始烧录,流程比较简单,参考教程即可进入网页点击左侧方式2
2.2 开发工具写入
除非需要改源码重新编译固件,否则请还是选择Flash或者Web烧录
2.2.1 开发工具ESP-IDF
ESP-IDF全称为Espressif IoT Development Framework,中文名为乐鑫物联网开发框架,是用于ESP32硬件开发的软件环境,有关软件开发的文档如下:快速入门
【注】推荐搭配GitHub文档观看,Github文档可以直接调出目录大纲,比较方便了解层级get-started
这里只重点介绍一下连接设备的部分
- 连接设备
使用装有UART桥(板上桥)的开发板结构如下,PC 和桥之间通过 USB 连接,桥和 ESP32 之间通过 UART 连接

连接设备需要知道串口信息,window可以直接通过设备管理看到串口号,例如这里的串口号为COM6(看括号里面就行),而后就可以使用idf.py -p PORT [-b BAUD] flash命令进行固件写入了.

- 编译小智
首先通过在本机上安装git后,使用代理网站,拉取github上的项目,详细教程可参照香草味的纳西妲喵,而后进入打开下载完毕的idf工具首先命令行输入idf.py激活,而后复制xiaozhi-esp32的路径,并在命令行中使用cd ...\xiaozhi-esp32进入文件夹.
而后设置芯片型号,确认芯片型号,比如为S3,命令行输入idf.py set-target esp32s3
,即可完成编译
再输入命令idf.py menuconfig用于修改默认ota地址(这一步可以不需用,因为小智的高级设置就能修改ota地址)
最后输入idf.py build用于编译,然后查看电脑连接小智的串口号,使用idf.py -p xxx flash即可烧录,有的设备有两个端口号,一个不行可以试试另一个.
【注】:编译的时候 idf.py build 别打错成 idf.py bulid,否则ninja无法识别
2.2.2 Vscode
这部分需要下载4个插件分别为C/C++,Cmake,Cmake Tools,ESP-IDF
【注】教程连接VSCODE安装插件烧录小智,总结来说就是看懂流程点按钮即可
3.使用
3.1 配网:
初始时如果未进行任何配置时,会自动进入配网模式,如果在配置完成后,如果想重新进入配网模式,需要先按下RST键,之后再按下BOOT键,根据提示可以重新进行配网.
【注】:其余厂家的开发板,如果在初始化完成后,想重新进入配网模式,可具体咨询商家进行询问
3.2 修改OTA地址
如何创建服务器,会在下文详细讲述,创建完成后需要拿到两个URL:
- Console控制台:IP地址:端口号
- OTA升级:IP地址:端口号/xiaozhi/ota/
而后进入配网模式,选择高级设置中自定义OTA地址即可,而后就可以在服务器进行设备管理,配置角色等操作了
【注】:如果出现了检查新版本失败,说明是本机的防火墙拦截的连接请求,需要修改防火墙放行本地的web socket端口和OTA端口。当然如果你的小智和你的本地机子不在一个局域网内,去链接本地部署的服务端也会出现这个错误,因为小智所在的局域网的IP地址的机器并没有放行OTA端口和websocket端口,所以也会连接失败
4.服务器
【注】:服务器的搭建部分与软件章节所介绍的开发环境没有关系,如果已有成品且刷好小智固件了的话,可以跳过软件步骤中的开发环境,直接查看如何搭建服务器,以下是小智项目的架构图
4.0 前置知识
在Windows上有一项服务是IIS,全称为Internet Information Service它可以方便地新建站点,做网页测试,如果你和煮啵一样有点分不清本地环回地址和本地文件,端口等这些概念,可以稍微学习一下
4.0.1 新建站点/虚拟目录/默认主页
默认站点的IP地址为*,意味着可以使用本地环回地址127.0.0.1(1-255都可以访问),也可以使用网卡上的地址访问例如PowerShell中输入ipconfig,找到你的适配器的地址,输入就可以访问默认网站了
- 新建站点
首先我新建一个站点叫做DisPlay,然后设置物理路径为我指定的文件夹,而后绑定到我的主机上的适配器的IP地址

之后设置在文件夹中创建html文件,放入指定图片,让AI生成html文件用于展示图片

最后将默认文档设置为html文件即可

最后访问效果如下:

【注】:如果你的机器上装有VMware的话,在绑定时使用未分配IP地址选项(即*),那么除了本地地址127.0.0.1(1-255),真实适配器地址,你的两个虚拟网卡地址也可以访问该站(通常是ipconfig下的VMnet1与VMnet8);但是另一台物理设备要访问该站点时,只能使用真实适配器的地址来访问 - 虚拟目录
在站点上还有一个概念叫做虚拟目录,虚拟目录其中一个作用就是对站点内容进行归档。例如我现在站点上添加一个虚拟目录192.168.0.108/archive,之后再在映射的物理路径下配置一个archive的文件夹,并在其中放入两张图片

直接访问这个地址192.168.0.108/archive会出现以下提示,因为Windows下的IIS服务默认不启用目录浏览功能,可根据提示选择默认文档,或者开启目录浏览功能.

以下是启用目录浏览功能

启用完毕后显示如下内容

4.0.2 多站点/防火墙/入站与出站规则
实现多站点的方法有三种,分别为指定不同端口,指定不同IP,不同主机头。不同端口和不同IP实现多站点配置较为简单,不同主机头其实就是不同的站点名称,如果没有设置DNS域名服务器,只能依靠在外部主机的Host文件中静态配置主机名
Windows的防火墙帮助过滤掉3-4层的消息(3层网络层-IP地址,4层运输层-端口号),默认外部主机访问80端口时,能够成功访问,因为windows的入站规则中开放了80端口,如下:

如果站点被绑定在了其他端口81,但防火墙入站策略中并没有开放81端口,外部主机访问时会被防火墙拦截从而访问失败
防火墙入站规则设置等待中...
【注】:如何快捷打出Markdown字体设置,首先先打<再打font,最后再打>,而后的</font>会自动补全
4.0.3 实现HTTPS访问
等待中...
4.1 搭建前须知
小智服务器的开源项目地址如下:xiaozhi-esp
搭建前请先看main/xiaozhi-server/config.yaml,需要先创建data文件夹,并将config.yaml文件复制到其中改名为.config.yaml
【注1】:想让vscode的大纲具备解析yaml文件的能力需要下载插件YAML(red hat发布),插件安装完毕在大纲中会显示yaml的字典结构
【注】:想设置vscode的大纲默认为折叠模式,首先在vscode的非文件区,按下ctrl+,进入到setting配置,搜索collapseitems或者大纲折叠,选择alwayscollapse即可
4.2 源码部署
在官方文档中其实分为docker部署和源码部署,docker部署与源码部署的区别目前是IP地址非真实地址,以下是为官方文档的教程分为基础部署和完全部署,完全部署使用了数据库mysql与redis,以下将展示本地源码部署
首先先安装Anaconda或者miniconda,我这里选择安装miniconda,安装完毕后
等待中...
4.3 模型配置
等待中...
5.测试
等待中...
5.1 单设备测试
等待中...
.To Do List
【】小智续航测试:17:17

浙公网安备 33010602011771号