☰
OpenFlight使用指南:Live、Stats、Shots、Camera六大面板逐个玩转你的每一杆
2026/10/14 17:34:29 网站建设 项目流程

【免费下载链接】openflight

项目地址:https://gitcode.com/gh_mirrors/op/openflight
点击查看免费下载

OpenFlight 是一款基于 OPS243 雷达的开源高尔夫击球监测器,它的 Web 界面把每次击球的关键数据拆成了六个面板:Live、Stats、Shots、Camera、Profiles 和 Debug。本文将带你逐个面板快速上手,从第一杆的实时数据,到整场训练的统计、击球记录、慢动作回放,全部一次讲透。

快速启动:打开 OpenFlight 面板界面

启动 OpenFlight 只需一条命令,默认入口脚本会自动处理虚拟环境、界面构建和服务启动:

scripts/start-kiosk.sh

根据硬件组合,还有几种常用模式(详见 运行模式文档):

模式命令说明
标准模式scripts/start-kiosk.shOPS243 + 声音触发,测球速、杆速、carry
带角度雷达… --iwr6843 --radar-port /dev/ttyAMA0增加发射角、击球路径等指标
挥杆速度… --swing-speed仅挥杆练习,不击球
模拟模式… --mock无硬件,生成模拟击球,方便体验界面

刚上手没有硬件?用--mock模式加界面右下角的Simulate Shot按钮,就能先把六个面板全部体验一遍。如果想上电视大屏,用平板或电视浏览器打开http://<主机名>:8080/display即可(详见 TV 显示模式)。

Live 面板:看每一杆的实时数据

Live 是默认打开的面板,每次击球后,最新一杆的十项核心指标会以卡片网格呈现:

  • Ball speed(球速)与Club speed(杆速):两者相除即Smash(撞击效率系数)
  • Carry(飞行距离):有自旋数据时会给出 Spin-adjusted 修正值
  • V. launch / H. launch(垂直/水平发射角):带置信度指示(High/Medium/Low)
  • Spin / Spin axis(自旋速率/自转轴):自转轴还会标注球形 Fade、Draw 或 Straight
  • Club path / Club AoA(击球路径/攻击角)

几个实用细节:

  1. 点按任意指标卡片,它会固定到左上角成为"主指标",适合盯住你最关心的数据(如球速)
  2. 指标显示Estimated角标时表示该值是模型估算而非直接测量;置信度圆点越靠上越可靠
  3. 新击球进来时界面会有闪烁提示;若该杆有高速摄像画面,头部会出现Replay按钮直达慢动作
  4. 头部的Change club按钮用于切换当前球杆,界面首次加载时也会弹出选杆器让你确认球杆

面板逻辑集中在 LivePanel.tsx 与 liveMetrics.ts,十个指标的展示顺序是固定的,避免卡片在击球之间跳动。

Stats 面板:一屏汇总本场训练数据

切到底部Stats标签,看到的是当前 Profile 整个 session 的汇总:击球数、平均球速、最大球速、平均 carry、平均杆速、平均 smash,共六块指标瓦片。

亮点是按球杆筛选:指标上方有一排可横向拖动的球杆芯片(如DR (12)表示一号木打了 12 杆),点一下就只看该球杆的数据,点All恢复全量。挥杆速度模式下则换成"次数 / 最后一次 / 最佳 / 平均"四项统计。

训练结束想清空重来?Stats 头部的Clear session按钮会先弹出确认对话框,防止误触(实现见 StatsPanel.tsx 与 ClearSessionDialog.tsx)。

Shots 面板:逐杆记录、验证与导出

Shots面板是你的完整击球日志,每行一杆,列出球速、杆速、发射角、自旋、carry 五列数据,最新一杆永远在最上面。

  • 点按任意一行会展开验证编辑区:可以记录对比设备(Stack Radar、TrackMan 等)、录入对比速度、自动算出差值,并写备注——这是校准自己设备时非常好用的工具
  • Upload cloud:一键把本场数据推送到云同步(带断网重试队列)
  • Export CSV:导出为openflight-validation-*.csv文件,方便在表格里复盘
  • 每行右侧的▶ 回放按钮直接看该杆的高速摄像慢动作,Del删除误触记录

实现细节可参考 ShotsPanel.tsx,CSV 构建逻辑在 validationCsv.ts。

Camera 面板:高速摄像取景与曝光调校

Camera面板服务于内置的高速摄像(OV9281),主要三块内容:

  1. 实时预览:展示真实 320×200 传感器裁切区域,画面中带有球位参考线
  2. 取景微调:用 View up / View down 调整垂直裁切偏移(像素级),还有 180° 翻转等选项
  3. 曝光状态:显示 Armed / Filling / Offline 状态与自动曝光进展(Ready / Adjusting / Lighting needed),过暗过亮会给出建议

调好取景后,每次击球都会自动录制触发前后的画面,供 Shots 面板回放。Camera 面板本身是 CameraPanel.tsx 对 CameraFeed.tsx 的封装,自动曝光算法在 auto_exposure.py。

Profiles 面板:多玩家共用一台机器

Profiles让每个人(或每台练习场站位)拥有独立的击球数据空间:

  • 头部Add profile新建,点卡片即可切换(切换后自动跳回 Live 面板)
  • 每张卡片显示该 Profile 的击球数;✎ 重命名,✕ 删除
  • 安全保护:当前正在使用的 Profile 不能删;仍有击球记录的 Profile 也不能删,避免数据"无家可归"

源码见 ProfilesPanel.tsx,服务端同样会拒绝不合规的删除请求。

Debug 面板:开发者诊断工具

Debug面板面向排查问题的进阶用户:开启Record后可查看 FFT/CFAR 原始读数、逐杆日志、雷达配置参数和触发诊断信息,适合反馈 Bug 时截图取证。普通日常使用可以完全忽略它(组件为 DebugPanel.tsx)。

顶栏与系统菜单:单位、主题、语言与电量

界面顶部信息栏从左到右是:单位切换(MPH/YDS 或 KMH/M)、当前 Player、当前 Club、电量图标和连接状态(Connected)。

点右上角电源图标旁的系统菜单(MenuSheet.tsx)可以调整:

  • Units:英制/公制,全局即时生效
  • Theme:深色/浅色主题
  • Language:中、英、西、法、葡多语言
  • Simulators:查看 GSPro、OpenGolfSim 等模拟器连接状态

开启电池监控后,电量低(20%)和电量危急(10%)会弹出上图中这种可关闭的警告,具体状态说明见 电池监控文档。

上手建议:六面板的使用顺序

  1. 开打前:在 Profiles 切到自己的名字,顶部确认 Club 选对
  2. 每杆后:Live 看主指标,有回放就按 Replay 回看击球瞬间
  3. 练习中:Stats 按球杆筛选,盯住 smash 和 carry 的波动
  4. 结束后:Shots 里 Export CSV 留档,需要对比设备时逐杆填写验证数据
  5. 装机调试:Camera 调取景与曝光,Debug 留证据

想把它装成开机自启的全屏 kiosk?参考 auto-start 文档 与 scripts/start-kiosk.sh。六个面板的标签定义在 views.ts,整个界面的装配入口是 App.tsx,欢迎对照本文深入源码。

【免费下载链接】openflight

项目地址:https://gitcode.com/gh_mirrors/op/openflight
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询