# 智慧饮水系统_Android端 **Repository Path**: lu_guang_xing/water-ox ## Basic Information - **Project Name**: 智慧饮水系统_Android端 - **Description**: 智慧饮水系统项目——安卓APP(界面简洁美观) - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 1 - **Created**: 2022-11-21 - **Last Updated**: 2025-05-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: Android, APP, Java ## README # 智慧饮水系统(又名:水牛 APP) ## 1.介绍 该项目基于 Rfid-RC522、ESP-32 进行下位机开发,硬件模块 Rfid-RC522 主要读取用户的卡号,ESP32 单片机通过 WiFi 模块访问网络,将用户的卡号作为参数通过 POST 方式调用后端 API 接口进行数据比对得到用户的余额等数据,手机端通过调用后端 API 接口获取数据库中的数据,实现查询用户的消费记录、用户的消费统计、用户的余额、设备数量和设备是否在线等,通过 MQTT 协议向下位机发送用水和停止用水的指令,从而控制饮水机是否出水。C#应用程序通过直接对数据库数据进行增删查改等操作,实现用户消费统计,收入统计,用户信息修改,用户余额充值,用户消费记录等。SpringBoot 后端 AP 负责处理用户的各种请求,以及对数据库中的数据的增删查改等操作。 技术栈:Android、C#、SpringBoot、Arduino、RFID、MQTT、MySQL、Docker 容器、阿里云短信 SDK、邮箱验证码。 开发工具:Intellij IDEA、Android Studio、Visual Studio Code(搭配)、Git For Windows。 ## 2.项目结构 - 安卓端 APP:供用户手机端使用,实现用户的登录、注册、修改密码、修改个人信息、充值、消费记录查询、消费统计查询、设备状态查询等功能。 - C#端:供管理员使用,实现管理员的登录、修改密码、修改个人信息、用户管理、设备管理、消费统计、收入统计等功能。 - SpringBoot 后端:负责处理用户的各种请求,以及对数据库中的数据的增删查改等操作。 - 下位机:饮水机端,通过读取用户的卡号,向服务器发送请求,获取用户的余额,通过 MQTT 协议向下位机发送用水和停止用水的指令,从而控制饮水机是否出水。 ## 3.系统概述 整个系统大致分为感知层、网络层、控制层、应用层这四层架构,系统执行流程模型图如下图所示。 图 1 系统架构图 图 2 系统执行流程模型图 图 3 用户刷卡用水流程图 图 4 用户手机端用水流程图 ## 4.功能演示 ### 4.1 刷卡用水 #### 4.1.1 设备刷卡 #### 4.1.2 数据库新添加一条消费记录 ### 4.2 手机 App 用水 #### 4.2.1 选用设备 用户点击开始用水按钮,通过 MQTT 协议发送开始用水指令到下位机,下位机接收到指令开始控制蓝色 LED 点亮。如图所示。 #### 4.2.2 开始用水 #### 4.2.3 设备不能同时被多个用户使用 ### 4.3 消费记录和消费统计模块 消费记录模块通过 Recycle View 控件以列表的形式展示用户的消费记录,用户可以按年月日进行筛选。消费统计模块使用柱状图展示用户每个月的消费额以及余额。 ### 4.4 用户注册模块 该模块调用了后端 API 的验证码功能。一个手机号或邮箱只能注册一个账号,防止用户恶意重复注册造成资源浪费。 #### 4.4.1 填写注册用户完整信息,点击发送验证码 #### 4.4.2 填写验证码,点击注册 ### 4.5 找回验证码模块 该模块是为了方便当用户忘记密码而不能登录时,可以通过手机号或邮箱辅助验证进行重置密码的功能。 ### 4.6 用户登录模块 该模块的设计分为密码登录和验证码登录,用户可以通过两种方式登录 #### 4.6.1 验证码登录 #### 4.6.2 密码登录 ### 4.7 用户余额充值模块 用户余额充值模块连接服务器 MySQL,对数据库中的余额进行修改。当输入卡号时,自动补全用户的其它信息,输入金额,点击充值即可完成充值。 #### 4.7.1 充值之前余额 #### 4.7.2 充值之后余额 ### 4.8 消费记录和消费统计模块 消费记录模块可以按年月日展示所有用户的消费订单记录,还可以模糊查找消费订单。消费统计模块可以按年月日统计收入,及按用户统计消费额度 很不错!