目录

VelaBand

面向 openvela / AIoT Watch 圆形屏设备的中文健康表盘与快应用示例。

VelaBand 以单个 RPK 包运行,提供数字与指针双表盘,以及健康、心率、天气、采集模拟、历史趋势、消息提醒和快捷设置等功能。健康、天气与通知数据均为本地模拟数据,因此无需网络服务或账号即可复现完整演示。

功能一览

  • 双表盘:默认数字表盘;左右滑动可在数字、指针表盘间切换。
  • 健康与运动:步数、目标步数、热量、距离、活动时长,以及近 7 天趋势。
  • 心率:实时心率、趋势柱状图、信号质量与状态提示。
  • 天气:当前天气与未来预报展示,使用本地天气图标与模拟数据。
  • 消息提醒:模拟来电、短信和应用通知,并触发振动反馈。
  • 快捷设置:亮度、应用视图、蓝牙、网络、声音、振动和通知开关。

快速开始

以下命令在项目根目录的 openvelaSH/ 中执行:

运行前,请在 AIoT-IDE 中创建并启动 Watch 模拟器;本项目使用 vela-miwear-watch-5.0 镜像验证。AIoT-IDE 下载、安装及镜像配置请参考 AIoT IDE 使用说明

图形化方式:使用 AIoT-IDE 调试

  1. 打开 AIoT-IDE,选择“文件”>“打开文件夹”,打开本项目的 openvelaSH 目录。

  2. 按右侧开发向导提示安装项目依赖;也可以在 IDE 终端中运行 npm ci

  3. 点击顶部操作栏的“模拟器”进入设备管理。若 IDE 提示缺少模拟器环境或实例,点击“检查模拟器环境,创建模拟器实例”,选择“自动安装”。

    在 AIoT-IDE 中选择调试设备

  4. 在设备管理页点击“新建”,创建 Watch 模拟器实例,并选择 vela-miwear-watch-5.0 镜像;等待镜像下载和实例创建完成。

    AIoT-IDE 设备管理与 vela-miwear-watch-5.0 镜像

  5. 回到项目页面,选择刚创建的模拟器,然后点击顶部操作栏的“调试”。AIoT-IDE 会构建当前快应用、安装到该模拟器并启动 VelaBand。

  6. 启动成功后,即可在模拟器上看到当前效果。

    AIoT-IDE 中正在运行的 VelaBand 模拟器

详细界面说明请参阅 AIoT-IDE 调试项目官方指南

命令行方式

npm ci
npm run build
adb -s emulator-5554 push dist/com.application.watch.demo.debug.1.0.0.rpk /data/app/com.application.watch.demo.rpk
adb -s emulator-5554 shell pm install /data/app/com.application.watch.demo.rpk
adb -s emulator-5554 shell am start com.application.watch.demo

启动后默认显示数字表盘:左右滑动切换表盘,下滑打开快捷设置;点击步数、心率或天气区域可进入对应页面。

环境搭建

工具 要求 用途
Node.js >= 8.10(以 package.json 为准) 安装和运行 AIoT 构建工具
npm 与 Node.js 配套 安装锁定依赖
aiot-toolkit 项目已锁定 2.0.5,由 npm ci 自动安装 提供 aiot 命令,用于构建、调试和打包 RPK
AIoT IDE / openvela 快应用环境 可创建 Watch 模拟器 构建、调试和运行 RPK
Android Platform Tools 需包含 adb 命令 将 RPK 安装到模拟器
模拟器镜像 推荐 vela-miwear-watch-5.0 本项目的验证目标

本项目可直接在 AIoT-IDE 中运行。请按 AIoT IDE 使用说明 下载并安装 AIoT-IDE、创建 Watch 模拟器,然后选择 vela-miwear-watch-5.0 镜像。

1. 准备模拟器

在 AIoT-IDE 中创建并启动 openvela Watch 模拟器,使用 vela-miwear-watch-5.0 镜像。随后确认设备已连接:

adb devices

输出中应出现 emulator-5554,且状态为 device。若设备序列号不同,请把下文命令中的 emulator-5554 替换为实际序列号。

2. 安装项目依赖

进入本项目目录后优先使用 lockfile 进行确定性安装:

cd openvelaSH
npm ci

若你正在修改依赖或仓库未包含 lockfile,可改用:

npm install

3. 编译 RPK

npm run build

成功后应生成:

dist/com.application.watch.demo.debug.1.0.0.rpk

也可直接在 AIoT-IDE 中导入 openvelaSH 目录,选择 vela-miwear-watch-5.0 模拟器镜像后点击“运行”;IDE 会执行同一条构建与启动主线。

4. 安装并启动

adb -s emulator-5554 push dist/com.application.watch.demo.debug.1.0.0.rpk /data/app/com.application.watch.demo.rpk
adb -s emulator-5554 shell pm install /data/app/com.application.watch.demo.rpk
adb -s emulator-5554 shell am start com.application.watch.demo

应用包名固定为 com.application.watch.demo

常用命令

npm run start    # 启动 Watch 开发调试
npm run build    # 构建调试 RPK
npm run release  # 构建发布包
npm run lint     # 格式化并检查 src/ 下的 JavaScript

常见问题与处理

现象 排查与处理
adb devices 没有设备或显示 offline 确认模拟器已启动;执行 adb kill-server 后重新执行 adb devices;必要时重启模拟器。
npm ci 失败 确认 Node.js 版本满足 >= 8.10;删除本机的 node_modules/ 后重试;受限网络环境请配置可访问的 npm 镜像。
aiot: command not found 先执行 npm cinpm install,再通过 npm run build 调用项目本地的 aiot-toolkit,不要直接依赖全局命令。
构建成功但找不到 RPK 检查是否在 openvelaSH/ 目录执行命令;产物路径为 dist/com.application.watch.demo.debug.1.0.0.rpk
pm installam start 失败 确认模拟器镜像与本项目匹配;检查 RPK 已成功 push 到 /data/app/com.application.watch.demo.rpk,再重新执行安装和启动命令。
天气、健康数据不变化或与现实不符 这是设计行为:当前数据由本地模拟服务提供,不依赖网络、蓝牙或真实传感器。

项目结构

openvelaSH/
├── src/
│   ├── app.ux                         # 应用生命周期入口
│   ├── manifest.json                  # 包名、设备能力与路由配置
│   ├── pages/index/index.ux           # 表盘、应用页和快捷设置 UI
│   ├── services/
│   │   ├── clock-service.js            # 时间服务
│   │   ├── health-simulator.js         # 健康与运动数据模拟
│   │   └── notification-simulator.js   # 消息通知模拟
│   ├── utils/                          # 日期、数值格式化工具
│   └── common/                         # 表盘、天气、设置和图标资源
├── docs/                               # 架构、运行、开发与演示说明
│   └── images/                         # README 中的 AIoT-IDE 操作截图
├── package.json                        # 脚本与开发依赖
├── package-lock.json                   # 锁定的 npm 依赖版本
├── THIRD_PARTY_NOTICES.md               # 第三方声明
└── LICENSE                             # 开源许可证

文档

许可证

本项目采用 Apache License 2.0 开源许可证。使用其中的第三方依赖与资源前,请同时阅读 THIRD_PARTY_NOTICES.md

邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号