## 项目开发规划 ### 2025.8.18----Misaki #### 项目需求 1. 可以选择3种宠物,雪豹,卡皮巴拉,守宫,每种宠物有独特音频和动作,通过联网更新切换。 2. 每种宠物有可以编辑的身份设定,类似小智AI的身份 3. 宠物三个阶段,幼年,青年,成年,阶段切换载入新模型即可。 4. 语音互动可以实现喂食,开心,生气,沮丧几种动作 5. 后台可以通过ota更新为宠物添加动作 #### 项目实施 项目总体架构:会使用C/S架构用于服务端与ESP32S3做基础通信(项目前期),同时对于服务端会提供后台Web管理界面,即B/S架构(项目后期完成) 客户端架构:采用ESP32 IDF开发框架,充分发挥esp32s3的双核性能 客户端编程语言选择:C/C++混编 对于项目需求的初步实施过程: - [ ] 封装宠物基类,实现通用模型加载与切换,宠物身份信息等 - [ ] 进一步派生出宠物三个阶段的子类 - [ ] 封装通信类,自定义报文,便于与服务端进行交互 - [ ] 封装工具类,实现对外设的驱动,例如屏幕,语音输入输出,电源管理,OTA更新等 - [ ] 封装屏幕UI类,提供一些基础的控件 - [ ] 基于屏幕UI类进一步实现一个管理界面,方便用户快速配网,快速上手使用 服务端架构:优先采用Go开发框架做服务端底层(高性能支持) 后端API风格:优先RESTful API 对于项目需求的初步实施过程: - [ ] 后端部分主要是实现一些向下的接口,To ESP32,例如身份鉴权,模型发送与切换,OTA更新等,需要相应客户端的各种请求。 - [ ] 后端另一部分要实现一些向上的配置接口,提供给Web管理端使用,这一部分只是为了方便项目的后期维护使用。 - [ ] 实现一个或多个客户端的管理 - [ ] 可选是否支持服务端自部署,也就是用户自部署服务端(待服务端完成后) #### 项目周期 1. 首先会在2~4天内实现最基本的客户端模型(gif)显示,以及esp32相关的外设驱动验证(验证+测试) 2. 接着在1周左右完成客户端的全部实施过程,同时着手服务端的设计 3. 在一周左右完成服务端向下接口的封装,尽量优化服务端架构(因为需要调用各种大模型或者本地部署的模型,以及其他的各种API),提高服务端响应速度 4. 项目后期会考虑Web后台管理的相关实现,这一部分相对来说容易些