This repository has been archived on 2026-03-27. You can view files and clone it, but cannot push or open issues or pull requests.
2026-03-12 15:28:44 +08:00
2024-03-16 13:23:52 +08:00
2024-03-16 13:23:52 +08:00
2024-03-16 13:23:52 +08:00
2025-09-12 14:23:33 +08:00
2024-03-16 13:23:52 +08:00
2025-09-12 14:23:33 +08:00
2024-03-16 13:23:52 +08:00
2024-03-16 13:23:52 +08:00
2025-09-12 14:23:33 +08:00
2024-03-16 13:23:52 +08:00

Dashboard Client

1. 简介

本项目是一个运行在 Android 设备上的仪表盘Dashboard客户端。

其主要功能是作为一个**仪表盘Dashboard**的展示端:它通过全屏 WebView 加载并展示一个远程的网页仪表盘,并根据服务器数据的配置,在预定的时间通过串口与外部硬件设备进行通信。

2. 主要功能

  • 网页仪表盘展示:通过 WebView 全屏展示一个可配置的远程 URL。
  • 远程配置:应用会定期从服务器获取 config.json 文件,动态更新其行为。
  • 定时串口指令:根据 config.json 中的计划,使用 AlarmManager 在精确的时间点发送十六进制Hex串口指令。
  • 开机自启:设备启动后,应用会自动运行。
  • 网络重试机制:当加载仪表盘主页失败时,应用会自动进行延时重试。

3. 工作流程

  1. 启动:应用启动后,进入全屏模式并加载在设置中配置的远程网页 URL。
  2. 加载配置:应用会定期从服务器的 /data/config.json 路径下拉取配置文件。
  3. 解析与调度:解析 config.json 中定义的串口设备路径、波特率以及多个定时指令。
  4. 设置定时任务:使用 Android 的 AlarmManager 为每一条指令安排一个在未来特定时间触发的广播。
  5. 执行指令:当预定时间到达,CommandBroadcastReceiver 被唤醒,并通过 SerialControlDevices 类向指定的串口发送 Hex 指令。

4. 配置

4.1 仪表盘 URL

在应用的设置界面中,可以配置仪表盘的主 URL例如 http://192.168.1.100:8000/Dashboard。应用会自动加载该 URL 下的 index.html

4.2 串口指令 (config.json)

应用会从 [主 URL]/data/config.json 加载串口指令。config.json 的格式如下:

{
  "DevicePath": "/dev/ttyS2",
  "Baud": 9600,
  "Commands": [
    {
      "Time": "08:00",
      "Hex": "AABB0101CCDD"
    },
    {
      "Time": "18:00",
      "Hex": "AABB0100CCDD"
    }
  ]
}
  • DevicePath: 串口设备节点路径。
  • Baud: 串口通信的波特率。
  • Commands: 一个指令数组,包含多个定时任务。
    • Time: 指令每天执行的时间24小时制
    • Hex: 需要发送的十六进制指令字符串。

5. 如何构建

这是一个标准的 Android Gradle 项目。使用 Android Studio 打开即可,或在命令行中执行以下命令构建:

# 构建 Release 版本的 APK
./gradlew clean assembleRelease

6. TODO

  • 恢复并优化图片轮播功能,支持本地与网络图片。
  • 提供更丰富的远程配置选项(如轮播间隔、动画效果等)。
  • 增加 Web 与客户端通过 Javascript Interface 的双向交互。
Description
看板软件 Android 客户端
Readme 6.9 MiB
Languages
Java 97.6%
Batchfile 2.3%
Shell 0.1%