Nav apraksta

steven_roc 0d90c7f683 docs: 清理README测试行 3 dienas atpakaļ
app b144c4fa5e feat: MPPT Android 客户端 v1.0.0 (实时监控/历史/设置/连接配置) 3 dienas atpakaļ
.gitignore b144c4fa5e feat: MPPT Android 客户端 v1.0.0 (实时监控/历史/设置/连接配置) 3 dienas atpakaļ
README.md 0d90c7f683 docs: 清理README测试行 3 dienas atpakaļ
build.gradle b144c4fa5e feat: MPPT Android 客户端 v1.0.0 (实时监控/历史/设置/连接配置) 3 dienas atpakaļ
gradle.properties b144c4fa5e feat: MPPT Android 客户端 v1.0.0 (实时监控/历史/设置/连接配置) 3 dienas atpakaļ
settings.gradle b144c4fa5e feat: MPPT Android 客户端 v1.0.0 (实时监控/历史/设置/连接配置) 3 dienas atpakaļ

README.md

MPPT Monitor - Android 客户端

基于 JAVA + AndroidX + Material Design + Retrofit 的 MPPT 太阳能充电控制器监控 Android 应用,作为配套 C 服务端(mppt_monitor)的手机端客户端,通过 HTTP REST 访问实时数据与历史数据,并支持设备参数写入。

本仓库为 Android 工程源码,可直接构建出可安装 APK。


功能特性

模块 说明
连接配置 配置服务端主机地址与端口,一键测试连接连通性
实时监控 每 2 秒自动轮询一次,展示电池电压、电量 SOC、光伏电压/电流、充电功率、温度、累计发电、充电状态、故障码
历史查询 默认查询今日数据,WebView 动态绘制 功率/电压/SOC 折线图 + 明细列表
设备参数设置 选择参数并写入(故障清除、充电限制电压、浮充电压、电池类型、最大充电电流、故障恢复定时器)

目录结构

mppt_monitor_android/
├── app/
│   ├── build.gradle              # 应用构建配置(含签名)
│   └── src/main/
│       ├── AndroidManifest.xml   # 清单(INTERNET/网络权限)
│       ├── java/com/zhonjin/mppt/
│       │   ├── MainActivity.java             # 主界面(底部导航 4 Tab)
│       │   ├── api/                          # Retrofit 网络层
│       │   │   ├── ApiClient.java            #   OkHttp/Retrofit 单例(连接配置可改)
│       │   │   └── MpptApi.java              #   REST 接口定义
│       │   ├── fragment/
│       │   │   ├── ConnectFragment.java      #   连接配置
│       │   │   ├── MonitorFragment.java      #   实时监控
│       │   │   ├── HistoryFragment.java      #   历史查询+图表
│       │   │   ├── SettingsFragment.java     #   设备参数设置
│       │   │   └── HistoryAdapter.java       #   历史列表适配器
│       │   └── model/                        # Gson 数据模型
│       └── res/                              # 布局/菜单/图标/样式/颜色
├── keystore/
│   └── mppt.jks                 # 签名证书(mppt_2026)
├── build.gradle                 # 顶层构建
├── settings.gradle
├── gradle.properties
└── local.properties             # sdk.dir 指向 Android SDK 路径

后端 REST API(被本客户端依赖)

接口 方法 说明
/api/health GET 服务健康检查
/api/data?device_addr=1 GET 实时数据
/api/history?start=&end=&page=&page_size= GET 历史数据分页查询
/api/settings POST 写入设备参数 {device_addr,param,value}

客户端默认连接地址:http://discover.zhonjin.com:8085/(可在「连接」页修改)。


构建环境要求

组件 版本
JDK 17
Gradle 8.10.2
Android Gradle Plugin 8.5.2
compileSdk / targetSdk 34
minSdk 24(Android 7.0+)

依赖(在线下载):AndroidX AppCompat、Material、RecyclerView、Retrofit2、OkHttp、Gson。


构建 APK

方式一:命令行(需要 Android SDK)

  1. 安装 JDK 17、Android SDK(platform 34 + build-tools 34.0.0)
  2. 配置 local.properties 写入 sdk.dir=/你的/sdk路径
  3. 执行:

    export JAVA_HOME=<jdk17路径>
    gradle assembleRelease
    

    产物:app/build/outputs/apk/release/app-release.apk

方式二:Android Studio(推荐)

用 Android Studio 打开本目录,等待 Gradle 同步完成后: Build → Generate Signed Bundle / APK → APK,选择 keystore/mppt.jks 签名即可。

本工程已内置签名配置(release 使用 keystore/mppt.jks,口令 mppt_2026),可直接 assembleRelease 出签名 APK。

⚠️ 出于安全,正式发布建议使用自己的签名证书并妥善保管口令。


已生成 APK

可直接安装的签名 APK 位于:

  • MPPTMonitor-v1.0.0.apk(5.1MB,已签名,可直接安装到 Android 7.0+ 设备)

安装后请先在「连接」页确认服务端地址与端口(默认 discover.zhonjin.com:8085)。


变更记录

  • v1.0.0:首个可安装版本。支持连接配置、实时监控(2s 轮询)、历史查询(WebView 折线图+列表)、设备参数写入;RSA-2048 自签名(有效期 100 年)。