自动售货机交互开发
30章 · 从入门到实战
🎯 嵌入式 · LVGL · 项目驱动
01
自动售货机概述
系统架构
项目背景、硬件选型:主控、屏幕、支付模块
02
开发环境搭建
MicroPython
嵌入式Python环境、IDE安装、固件烧录
03
GPIO基础
中断/PWM
LED控制、按键输入、中断处理、PWM调光
04
显示驱动基础
SPI/I2C
LCD/OLED驱动、显示文字与图形
05
触摸屏交互
手势识别
电阻/电容屏原理、坐标校准、手势基础
06
UI框架入门
LVGL
对象树、事件驱动、屏幕与页面管理
07
LVGL控件 (上)
基础控件
标签、按钮、滑块、进度条、开关
08
LVGL控件 (下)
图表/动画
列表、下拉菜单、图表、键盘、动画
09
页面布局
Flex/Grid
Flex布局、Grid布局、样式与主题定制
10
状态机设计
售货机状态
空闲、选择、支付、出货,状态转换图
11
商品管理
库存UI
商品数据结构、库存管理、价格显示
12
支付流程
扫码/现金
支付状态机、超时处理、模拟支付
13
出货控制
电机驱动
步进/直流电机、传感器反馈、出货动画
14
异常处理
缺货/卡货
缺货提示、支付失败、卡货检测、复位
15
数据持久化
JSON/EEPROM
配置文件、EEPROM存储、日志记录
16
网络通信基础
WiFi/MQTT
HTTP请求、MQTT协议入门
17
远程管理
云端后台
远程更新商品、远程重启
18
多语言支持
i18n
国际化字符串、动态切换语言、字体管理
19
用户界面优化
动效/音效
加载动画、过渡效果、反馈音效
20
电源管理
低功耗
低功耗模式、电池电量显示、充电管理
21
安全机制
防破解
固件加密、访问权限控制
22
测试与调试
自动化测试
单元测试、UI自动化、压力测试
23
性能优化
帧率/内存
帧率优化、内存管理、渲染加速
24
量产准备
BOM/PCB
BOM清单、PCB设计、外壳开模
25
项目实战 (一)
最小原型
点亮屏幕并显示欢迎页
26
项目实战 (二)
商品选择
商品页面、点击加入购物车
27
项目实战 (三)
支付页面
模拟扫码支付流程
28
项目实战 (四)
出货动画
出货动画与取货提示
29
项目实战 (五)
远程更新
集成网络,远程商品更新
30
项目总结与展望
进阶路径
常见问题、行业趋势、学习路径