# ARM-Linux基于LVGL8.3的自动贩卖机系统 **Repository Path**: bengyedi/lv8_vend_system ## Basic Information - **Project Name**: ARM-Linux基于LVGL8.3的自动贩卖机系统 - **Description**: 基于LVGL8.3的自动贩卖机系统 - **Primary Language**: C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-03 - **Last Updated**: 2026-09-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 自动售货机管理系统 ## 项目概述 基于LVGL图形库和嵌入式Linux的自动售货机系统,包含用户购买界面和管理员管理界面。 ## 主要功能 1. 用户购买:投币、选择商品、购买、退币 2. 商品展示:分页显示(每页5个),带图片和详细信息 3. 管理功能:登录验证、商品增删改查 4. 数据持久化:商品信息保存到文件 ## 界面结构 - 一级界面:购买界面(展示商品、余额、购买操作) - 二级界面:登录界面(管理员登录) - 三级界面:管理主菜单(增删改查功能入口) - 四级界面:具体管理操作界面 ## 硬件接口 - 按键设备:/dev/key_drv(4个按键对应不同面额) - LED设备:/dev/Led(4个LED灯,反馈操作状态) ## 按键功能 - 按键0:投币10元 - 按键1:投币5元 - 按键2:投币1元 - 按键3:投币20元 ## 核心数据结构 struct good { char name[24]; // 商品名称 int num; // 库存数量 float price; // 商品价格 char path[128]; // 图片路径 struct good *prev; // 前驱指针 struct good *next; // 后继指针 }; ## 主要函数 1. 链表管理:init_list, insert_tail, query_node, delete_by_name 2. 文件操作:save_goods_to_file, load_goods_from_file 3. 界面切换:goto_vend, goto_login, goto_manage 4. 业务逻辑:update_goods_display, purchase_good ## 默认商品 系统初始化时自动创建8种商品: - 辣条(5.5元)、可乐(3元)、雪碧(3.5元)、薯片(4元) - 矿泉水(2元)、爆米花(6元)、巧克力(8.5元)、果汁(4.5元) ## 登录信息 默认管理员账号: - 用户名:gec - 密码:123456 ## 编译运行要求 1. LVGL图形库v8.3+ 2. 中文字体:/font/simhei.ttf 3. 商品图片目录:/test_prj/imgs/ 4. 驱动设备:/dev/Led, /dev/key_drv ## 文件结构 main/ ├── inc/ # 头文件 ├── src/ # 源文件 └── imgs/ # 图片资源 ## 维护说明 1. 定期检查硬件连接 2. 备份商品数据文件(goods.txt) 3. 更新商品图片时确保路径正确