功能分类
- 状态总览:显示 systemd 服务状态、当前黑匣子记录模式、最新飞行会话,以及 IMU、保护、GPS、气压、姿态、系统命令节点、记录节点是否在线。
- 校准:做向参考,安装姿态校准。
- 记录控制:切换黑匣子 profile,开始/暂停记录,重启记录后端。
- HUD 控制:在经典 HUD 和 Jetwing HUD 之间切换,也可以重启当前选择的 HUD。
- 存储监控:显示本地剩余空间、镜像盘挂载/剩余空间、当前会话名、会话大小、记录时长、同步状态。
- 黑匣子配置编辑:读取yml,在网页上勾选 topic 是否记录,调整各 profile 的记录频率,保存后通过协议通知后端更新配置并重启。
- 日志查看:读取 IMU、GPS、气压、姿态、记录、HUD、更新、构建等运行日志尾部内容。
- 系统重启:让后端和网页服务一起重启。
控制链路
网页 HTTP API 接收按钮操作,然后发布字符串命令到 /exo/command_bus,各 ROS 节点按自己的命名空间监听协议并执行;执行结果设计上走 /exo/command_feedback 返回。
每条命令都像终端命令一样,由空格分隔
程序名 模块 动作 参数
命令节点
因为有些命令不是某个普通 ROS 节点能安全自己完成的,这些动作涉及启动脚本、systemd 服务、进程重启。
所以我们保留一个命令节点。它不负责分发协议,它只是监听同一个协议,然后处理系统级命令。
本文章使用limfx的vscode插件快速发布