Smoochine 智能现调饮品售卖终端控制系统产品系统

我要开发同款
proginn10254024072026年09月03日
2阅读

技术信息

语言技术
AndroidJavaKotlin
系统类型
Android应用
行业分类
智能硬件

作品详情

行业场景

本项目深耕于近年来高速增长的“新零售与无人自助餐饮”赛道。随着线下实体商业对降本增效及 24 小时无人值守场景的需求激增,智能现调饮品设备(如无人果汁机、冰杯咖啡机等)成为核心载体。该系统作为软硬件结合的枢纽,完美衔接了消费者端的快捷扫码体验与机器内部复杂的自动化制饮流水线。

功能介绍

终端全自动制饮流转: 用户界面支持扫码(二维码/条码)及商品选择。获取订单后,上位机通过指令精准控制下位机执行取杯、注水、出液料(支持多通道及回填校准)、搅拌以及完成后的自动开门。
高可靠串口通信模块: 实现 Android 板与 MCU 之间的指令收发。包含状态查询(水位、温度、门防夹感应)、动作下发及硬件异常报警反馈。
智能清洗与维护: 支持机器闲置倒计时自动清洗、液料管清洗、搅拌器深度清洗功能(连续 30 次等模式),保障食品卫生安全。
工程调试后台模式: 为运维人员开发了受密码保护的高级设置界面。包含各项电机(上电机/下电机/搅拌电机)测试、称重传感器校准、水位管线长度及阈值动态配置。
设备双路 OTA 升级系统: 不仅支持 Android App 自身的版本检测与自动更新,还独立实现了对底层 MCU 的固件 OTA 推送,实现设备的无缝远程迭代。

项目实现

本项目采用软硬件结合的方案,Android 上位机主要负责 UI 交互、业务调度及底层控制,具体落地实现如下:

1. 架构设计与现代化 UI 项目全面采用 Jetpack Compose 声明式 UI 框架,配合 MVVM 架构 和 Kotlin StateFlow 实现单向数据流。这种架构彻底分离了界面刷新与业务逻辑,在处理高频的屏幕倒计时、多工序动画渲染以及硬件状态同步时,避免了 UI 卡顿和内存泄漏,代码极其精简。

2. 高可靠串口通信引擎 系统通过 USB 串口与 MCU(单片机)进行实时交互。我基于 usbSerialForAndroid 封装了异步通信模块,并自定义了“包头+指令+数据体+CRC校验”的 16 进制协议。针对串口高频通信易发的“粘包/半包”问题,设计了专用的环形缓冲区进行拆解,确保了门防夹感应、温度传感器等关键数据的零丢失解析。

3. 核心流转:有限状态机 (FSM) 饮品制作包含取杯、注水、出料、搅拌、清洗等十余个步骤。我利用 Kotlin 协程构建了严格的有向无环状态机。各工序串并行协同,且每个节点均注入了超时熔断机制。一旦下位机反馈异常(如水泵空转、仓门异动),协程立即挂起并切断电源,保障了人机绝对安全。

4. 离线稳定性与双路 OTA 为保障线下设备 7x24 小时无人值守,系统接入 WorkManager 处理夜间配方同步,并通过 BootCompletedReceiver 实现断电自启。最核心的是自研了双路 OTA 系统:除 App 静默更新外,上位机可将云端 MCU 固件拆分为 Chunk 块,通过串口握手并刷写至底层芯片,实现了整机软硬件的无感远程迭代。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论