# 2025年嵌入式设计大赛瑞芯微赛道 **Repository Path**: youthmyth/elf ## Basic Information - **Project Name**: 2025年嵌入式设计大赛瑞芯微赛道 - **Description**: 在当今快节奏的社会生活中,家庭饮食管理面临着诸多挑战,其中饮食选择的困扰与食材的严重浪费问题尤为突出。为有效应对这些挑战,我们精心设计了一款创新性的智能冰箱。我们创新的采用本地ai视觉yolo与云服务器结合进行图像处理,本地部署ai语言模型,物联网等技术融合,实现三大功能:识别冰箱食物,检测食物是否发霉,生成个性化菜单。最终通过上位机与物联网及语音模块实现人机交互。 - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-03-03 - **Last Updated**: 2026-03-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 2025年嵌入式设计大赛瑞芯微赛道 基于瑞芯微Elf2的智能食材全周期管理与DeepSeek智能食材冰箱 #### 介绍 在当今快节奏的社会生活中,家庭饮食管理面临着诸多挑战,其中饮食选择的困扰与食材的严重浪费问题尤为突出。为有效应对这些挑战,我们精心设计了一款创新性的智能冰箱。我们创新的采用本地ai视觉yolo与云服务器结合进行图像处理,本地部署ai语言模型,物联网等技术融合,实现三大功能:识别冰箱食物,检测食物是否发霉,生成个性化菜单。最终通过上位机与物联网及语音模块实现人机交互。 #### 软件架构 软件架构说明:该系统是一个基于嵌入式设备的智能厨房助手,结合语音识别、食品图像识别、环境监测和MQTT通信功能,实现智能化菜单生成、制冷控制和数据交互。系统采用多线程架构实现并发处理。 | 主控模块 (main) | | - 初始化Python解释器 | | - 创建并管理所有工作线程 | | v | 语音识别线程 | | 菜单生成线程 | | - I2C语音模块 |<->| - 图像识别 | | - 命令解析 | | - 数据库存储 | | v | 深度菜单线程 | | MQTT通信线程 | | - 用户偏好处理 |<->| - 设备状态监控 | | - 高级推荐算法 | | - 远程控制同步 | #### 1. aht20.c - **功能**: 实现AHT20温湿度传感器的驱动和数据读取功能。 - **描述**: 提供初始化、读取温度和湿度值等接口,用于环境监测。 #### 2. cold.c - **功能**: 控制冷系统的工作状态。 - **描述**: 包含制冷系统的启动、停止以及状态读取等功能,通过GPIO控制硬件设备。 #### 3. food.c - **功能**: 处理食品相关的逻辑,包括识别、检查发霉。 - **描述**: 提供查找食品类别、检查食品状态并与数据库交互存储历史记录。 #### 4. foodlabel.txt - **功能**: 存储食品标签信息。 - **描述**: 文本文件,包含所有可识别食品的标签名称,用于图像识别模块匹配。 #### 5. mqtt.c - **功能**: 实现MQTT通信协议的客户端功能。 - **描述**: 负责初始化MQTT客户端、发布和订阅消息、处理远程控制指令等。 #### 6. speak.c - **功能**: 实现文字转语音功能。 - **描述**: 将文本内容转换为语音输出,用于向用户播报信息或提示。 #### 7. sql.c - **功能**: 数据库操作模块。 - **描述**: 提供数据库连接、查询、插入、更新等操作接口,用于存储和管理菜单、历史记录等数据。 #### 8. time.c - **功能**: 时间相关功能实现。 - **描述**: 提供获取当前时间、定时任务等功能,用于日志记录、定时任务调度等场景。 #### 9. yolo.c - **功能**: YOLO算法的C语言实现。 - **描述**: 基于YOLO模型进行物体检测,主要用于食品图像识别。 #### 10. best.rknn - **功能**: 发霉检查最佳模型文件。 - **描述**: 经过训练和优化的神经网络模型文件,用于深度学习推理。 #### 11. deep.c - **功能**: 深度学习推荐算法实现。 - **描述**: 根据用户偏好和历史数据生成个性化推荐菜单,使用深度学习模型进行预测。 #### 12. food.py - **功能**: Python脚本,处理食品相关逻辑。 - **描述**: 可能用于辅助食品识别、数据处理等,与C代码协同工作。 #### 13. foodyolo.py - **功能**: YOLO算法的Python实现。 - **描述**: 使用Python和OpenCV等库实现食品图像识别。 #### 14. main.c - **功能**: 系统主控模块。 - **描述**: 初始化系统、创建并管理各个工作线程,是整个系统的入口和核心控制单元。 #### 15. sound.c - **功能**: 音频处理模块。 - **描述**: 处理音频输入输出,包括语音识别、播放提示音等。 #### 16. thread.c #此处为测试代码 实际线程使用为main.c中 - **功能**: 线程管理模块。 - **描述**: 提供线程创建、同步、销毁等基础功能,支持多线程并发执行。 #### 17. uart.c - **功能**: UART串口通信模块。 - **描述**: 实现UART接口的数据收发功能,用于与其他设备或模块通信。 #### 18. canmer.py - **功能**: 相机控制的Python脚本。 - **描述**: 控制摄像头拍摄图片,用于食品图像识别的前端数据采集。 #### 19. deep.h - **功能**: 深度学习模块的头文件。 - **描述**: 定义了深度学习相关函数和数据结构的声明。 #### 20. food.rknn - **功能**: 食品识别模型文件。 - **描述**: 经过训练的神经网络模型,专门用于食品图像识别。 #### 21. speak.h - **功能**: 文字转语音模块的头文件。 - **描述**: 定义了文字转语音相关函数和数据结构的声明。 #### 22. sql.h - **功能**: 数据库操作模块的头文件。 - **描述**: 定义了数据库相关函数和数据结构的声明。 #### 23. time.h - **功能**: 时间相关模块的头文件。 - **描述**: 定义了时间相关函数和数据结构的声明。 #### 24. yolo.h - **功能**: YOLO算法模块的头文件。 - **描述**: 定义了YOLO相关函数和数据结构的声明。 #### 25. conver.py - **功能**: YOLO算法的将onnx转换成rknn的代码 以便在边缘推理。 - **描述**: 定义的转换方法。 #### 安装教程 1. 根据elf2开发板按照rknnlite 以进行ai视觉推理 2. 安装sqlite3数据库 3. 安装opencv等视觉开发库 #### 使用说明 1. 系统要求 Linux操作系统(支持I2C接口) Python 3.x环境 RKNN模型支持库 MQTT服务器访问权限 必要的硬件设备:AHT20温湿度传感器、语音模块、制冷系统、摄像头等 2. 根据实际硬件修改以下文件中的GPIO/I2C设置: sound.c: I2C-7接口配置 cold.c: 制冷系统GPIO引脚定义 aht20.c: AHT20传感器I2C地址和接口 3. 程序需要root权限运行部分硬件相关功能 避免频繁快速重启程序,给硬件足够的释放时间 定期检查数据库文件大小,必要时清理旧数据 在高温高湿环境下注意监控系统稳定性 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)