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