ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

F´ Ground Data System(GDS)快速入门指南:安装、启动配置与 GUI 各标签页实操

F´ Ground Data System(GDS)快速入门指南:安装、启动配置与 GUI 各标签页实操 嵌入式系统编程【免费下载链接】fprimeF´ - A flight software and embedded systems framework项目地址https://gitcode.com/gh_mirrors/fpri/fprime点击查看免费下载F´ Ground Data SystemGDS是 F´F PrimeNASA 开源的飞行软件与嵌入式系统框架自带的“地面数据系统”让开发者在无需自研地面系统的情况下即可对基于 F´ 的嵌入式系统完成指令发送、遥测监视、事件查看、文件上下行等操作。本文以仓库中的官方指南gds-introduction.md为主体结合仓库源码与部署配置系统讲解fprime-gds的安装、启动、常用选项、端口布局以及 GUI 中 Commanding、Events、Channels、Uplink、Downlink、Logs、Dashboard 等标签页的具体用法读完即可在本地跑起 GDS 并开展测试与集成验证。什么是 F´ GDS地面数据系统GDSGround Data System是支撑大型嵌入式系统的关键基础设施它允许操作人员与嵌入式系统交互从地面计算机发往航天器或反之的所有数据都要经过 GDS。在传统航天项目中这类系统通常用于飞行软件的控制与监视。F´ 为开发者和项目“开箱即用”地提供了这一能力。这意味着原本要等 GDS 到位后才能开展的系统测试、操作测试、开发调试在 F´ 安装完成后即可进行即使项目将来会切换到自己定制的 GDSF´ 也能让团队提前进入通常位于项目后期的工作流程。官方指南原文指出本指南将使用Ref示例应用作为探索 GDS 的飞行软件该流程对用户自己的项目同样适用。从仓库结构看GDS 并非本仓库内置的 Python 代码而是作为独立包安装。根目录 setup.py 明确将fprime定义为一个 meta-package它会自动拉取三个子包fprime-tools提供fprime-util等构建工具fprime-gds提供fprime-gds、fprime-cli等 GDS 工具fprime-fppF´ 的建模语言编译器requirements.txt中锁定了对应版本例如fprime-gds3.1.5a1、fprime-tools3.1.2a1。fprime-gds包内部由少量 Python 代码与 JavaScript 组成随 F´ 安装自动就位依赖 Flask 等 Web 组件见 requirements.txt。安装与准备GDS 随 F´ 一起安装。依据仓库 INSTALL.md 的官方流程先克隆 F´ 仓库并安装工具git clone https://github.com/nasa/fprime pip install -r fprime/requirements.txt注意切换 F´ 版本后应重新执行pip install -r fprime/requirements.txt以获取经过测试的配套工具版本。若需单独安装GDS 对应包名为fprime-gds且它依赖fprime-tools建议直接安装fprime-gds让 PIP 自动拉取兼容版本。GDS 还有两个可选组件INSTALL.md可选组件包作用fprime-gds[uart-adapter]为 F´ GDS 安装 UART 通信适配器fprime-gds[test-api-xls]为集成测试框架安装 Excel 日志功能例如pip install fprime-gds[uart-adapter]这些组件是可选安装因为它们会引入大量额外依赖且不一定在所有平台上受支持。安装完成后可用 INSTALL.md 中的验证命令快速确认 GDS 可用fprime-gds -g html -r path to fprime checkout/Ref/build-artifacts该命令以 HTML GUI 模式启动 GDS并指定Ref的构建产物目录其中应包含预构建的字典与二进制文件。启动 GDS默认启动在项目目录例如 F´ 自带的Ref部署下直接运行fprime-gds即可按默认设置启动使用 IP 通信适配器、默认端口、加载当前项目的默认字典。命令会同时拉起Ref飞行软件、GDS 层并在浏览器中打开 GUI 页面$ cd fprime/Ref $ fprime-gds前提条件虚拟环境virtual environment必须已激活详见 INSTALL.mdRef应用必须已用fprime-util完成构建与安装构建命令可参考fprime-util generate fprime-util build --jobs $(nproc || printf %s\n 1)默认情况下fprime-gds会利用当前部署目录来定位字典Dictionary与要运行的飞行软件字典GDS 借此理解嵌入式系统产生的事件Events、通道Channels与命令Commands。Ref项目构建后会在其Top目录生成形如RefTopologyAppDictionary.xml的字典文件飞行软件作为本地测试的便利自动运行可用-n选项禁用。指定部署目录或字典若 GDS 无法从当前工作目录定位部署可用-d DEPLOY_DIR显式指定部署目录该选项可从任意位置运行、无需先cd$ fprime-gds -d path/to/deploymentGDS 并不强制要求提供完整部署目录因为它可以不自动运行飞行软件只需--dictionary即可进行基本操作。注意未设置-d/--deploy时GDS 日志会被放置到用户主目录下。仅指定字典的典型用法是配合-n见下文$ fprime-gds -n --dictionary path/to/dictionary/xml禁用自动飞行软件执行默认启动 GUI 时也会执行部署的原生构建飞行软件当测试迁移到嵌入式系统后这种自动执行往往不再必要。使用-n标志即可禁用同时 GDS 不再强制要求-d/--deploy参数可以只配合--dictionary与-l/--log使用$ fprime-gds -n指定 GDS 地址与端口默认情况下 GDS 运行在本地机器上使用以下地址与端口端点用途127.0.0.1:5000托管 HTML 前端浏览器通过此地址访问 GUI0.0.0.0:50000默认通信接口端口嵌入式系统从此端口接入0.0.0.0:50050内部端口用于 GDS 数据传输通信端点与 HTML 端点在此内部互连如需修改嵌入式系统接入 GDS 的 IP 与端口使用--ip-address ADDRESS与--ip-port PORT。注意这两个选项仅在默认 IP 连接器下可用$ fprime-gds --ip-address 8.8.8.8 --ip-port 12345如需修改内部服务器Threaded TCP Socket Server即--tts-addr/--tts-port对应的服务的 IP 或端口以避免与其他端口冲突$ fprime-gds --tts-addr 8.8.8.8 --tts-port 12345UI 端口默认 5000的修改则通过 Flask 配置完成在gds.ini文件中设置ADDRESS与PORT两项配置文件可用-c标志指定也可以设置同名的ADDRESS/PORT环境变量来覆盖。仓库中 Ref/gds.ini 与 Ref/settings.ini 展示了部署级配置文件的形式Ref的settings.ini中[fprime]配置块为空因为Ref不需要特定设置。无 UI 运行Headless 模式某些场景下用户希望不加载 HTML/浏览器 UI例如运行自动化集成测试或配合fprime-cli在命令行下操作 GDS。使用-g none即可$ fprime-gds -g none提示fprime-cli连接的就是fprime-gds地面系统层因此使用 CLI 前需先以 headless 模式启动一个 GDS 实例若 GDS 运行在非标准端口还需在各命令上补充-p与-ip标志CLI 默认连接127.0.0.1:50050。CLI 的详细用法参见 GDS CLI 指南。帮助与其他选项运行fprime-gds --help可查看全部可用选项。官方文档给出的当前选项清单如下fprime-gds --help usage: fprime-gds [-h] [-d DEPLOY] [-l LOGS] [--log-directly] [-g {none,html}] [--dictionary DICTIONARY] [-c CONFIG] [--tts-port TTS_PORT] [--tts-addr TTS_ADDR] [-n] [--app APP] [--ip-address ADDRESS] [--ip-port PORT] [--comm-adapter {ip}] Run F prime deployment and GDS optional arguments: -h, --help show this help message and exit -d DEPLOY, --deployment DEPLOY Deployment directory for detecting dict, app, and logging. [default: /Users/mstarch] -l LOGS, --logs LOGS Logging directory. Created if nonexistent. Default: deployment directory. --log-directly Logging directory is used directly, no extra dated directories are created. -g {none,html}, --gui {none,html} Set the desired GUI system for running the deployment. [default: html] --dictionary DICTIONARY Path to dictionary. Overrides deploy if both are set -c CONFIG, --config CONFIG Configuration for wx GUI. Ignored if not using wx. --tts-port TTS_PORT Set the threaded TCP socket server port [default: 50050] --tts-addr TTS_ADDR set the threaded TCP socket server address [default: 0.0.0.0] -n, --no-app Do not run deployment binary. Overrides --app. --app APP Path to app to run. Overrides deploy if both are set. --ip-address ADDRESS Address of the IP adapter server. Default: 0.0.0.0 --ip-port PORT Port of the IP adapter server. Default: 50000 --comm-adapter {ip} Adapter for communicating to flight deployment. [default: ip]各选项速查表选项默认值说明-d/--deployment DEPLOY当前工作目录部署目录用于探测字典、应用与日志-l/--logs LOGS部署目录日志目录不存在时自动创建--log-directly关闭直接使用日志目录不创建额外的带日期子目录-g {none,html}html选择 GUI 系统--dictionary DICTIONARY从部署探测字典路径与 deploy 同时设置时优先-c/--config CONFIG无wx GUI 配置不使用 wx 时忽略--tts-port50050线程化 TCP Socket 服务端口--tts-addr0.0.0.0线程化 TCP Socket 服务地址-n/--no-app关闭不运行部署二进制覆盖--app--app APP从部署探测要运行的应用路径与 deploy 同时设置时优先--ip-address ADDRESS0.0.0.0IP 适配器服务地址--ip-port PORT50000IP 适配器服务端口--comm-adapter {ip}ip与飞行部署通信的适配器浏览 GDS GUI以默认 UI 启动后GDS 会在浏览器中打开一个标签页窗口顶部横排着一系列标签“Commanding”“Events”等每个标签代表 GDS 的一项功能点击即可打开对应视图。标签右侧有一个“New Window”按钮点击可在新窗口查看多个标签页新窗口连接与首个窗口相同的后端。窗口最右上角是一个连接状态指示器官方文档昵称其为 “the orb”绿色圆点表示嵌入式系统仍在持续传输数据红色 X表示嵌入式系统当前已断开、未收发任何数据。该状态会通过超时机制重置为 X超时时间可在config.js中配置。窗口最左端是 NASA 徽标当前不执行任何操作同样可在config.js中定制。下面逐一介绍各标签页的功能。Commanding指令发送Commanding 标签页用于向嵌入式系统发送命令所有可用命令以COMPONENT.COMMAND形式列在“Mnemonic”下拉框中命令来源于提供给 GDS 的字典用户可从下拉框选择命令也可输入文字过滤可用命令若所选命令需要参数参数输入框会显示在下拉框下方非法输入会用红色轮廓标出点击“Send Command”将所选命令及参数经 GDS 发送至嵌入式系统“Clear Arguments”将参数重置为默认值若 GDS 内部发生错误错误信息会显示在输入框下方。命令输入区下方是“Command History”命令历史表格记录所有已发送命令及其参数。该记录由 GDS 保存因此可能包含因通信错误等原因未真正送达嵌入式系统的命令。表格支持在“Filters”框中输入并按回车只显示匹配结果点击表头如 “Command Time”对行排序双击某条历史命令可将其重新填充到命令发送组件中便于重试发送。关于 F´ 命令Commands的机制说明可参考 命令/事件/通道/参数 指南。Events事件Events 标签页显示嵌入式系统发生并被 GDS 接收到的所有“事件”Events表格。每条事件按“Event Severity”事件严重级别着色共有 7 种级别严重级别颜色说明DIAGNOSTIC—调试事件通常不发送到 GDSCOMMANDGREEN由命令分发器产生用于追踪实际命令执行ACTIVITY_LOGRAY低优先级信息事件通常追踪后台进程动作ACTIVITY_HIBLUE高优先级信息事件通常追踪地面指令触发的前台动作WARNING_LOYELLOW低优先级非关键告警事件WARNING_HIORANGE高优先级关键告警事件FATALRED严重故障事件通常导致嵌入式系统重启与命令历史表格类似事件表可按列头过滤与排序并提供一个“Clear”按钮清空表格、便于监视新事件。COMMAND 类型事件有特殊支持其操作码opcode会被替换为命令助记符mnemonic方便用户识别将鼠标悬停在助记符上会出现 tooltip显示原始操作码。F´ 事件机制详见 命令/事件/通道/参数 指南。Channels遥测通道Channels 标签页显示 GDS 从嵌入式系统接收到的最新“通道”即遥测数据的实时更新表格。默认行为是只显示已被 GDS 接收到的通道最新值未收到数据的通道不显示但可配置见下文每个通道只显示最近一次收到的值。如需查看全部可用通道、定制关注列表或监视尚未到达的通道可点击“Edit View”它会展示所有可用通道用户可勾选需要显示的通道未勾选的将被隐藏点击“Done”应用视图Import / Export支持以文本文件的形式下载/上传这些视图配置便于保存与共享。与其他表格一样通道条目也支持排序与过滤。Uplink文件上行Uplink 标签页允许用户向嵌入式系统上传文件其工作依赖 FileUplink 组件与文件系统实现的配合。上行过程分两步staging暂存用户浏览选择要上传的文件文件进入工作集working set可在此整理后再提交uplink上行点击“Submit Uplink”将文件上传到 GDS、加入发送队列并开始上行。上传过程中可监视进度队列也可暂停以临时中止上行。文件大小限制为不超过32Mb。Downlink文件下行Downlink 标签页监视文件下行到 GDS 的过程。使用fileDownlink.FileDownlink_SendFile命令下行的任何文件其数据包到达 F´ GDS 后都会在此标签页中被追踪下载进度被跟踪文件下行完成后用户即可下载这些文件。对应实现可参见仓库 Svc/FileDownlink 与 Svc/FileUplink 目录。Logs日志Logs 标签页让用户直接监视 GDS 在磁盘上产生的日志无需登录 GDS 服务器所在的主机。从列表中选择一个日志即可查看其内容内容会实时更新。标准日志包括ThreadedTCP.logGDS 中间件服务器连接通信层与 GDS 本体的日志channel.logGDS 收到的所有通道数据日志command.logGDS 发送的所有命令日志event.logGDS 收到的所有事件日志此外若 GDS 自动运行了飞行软件其日志也会出现在此标签页任何正在下行的文件同样会产生可供查看的日志。Dashboard仪表盘Dashboard 让用户将其他标签页的工具组合到同一屏幕上自行设计定制化的 GDS 工作界面。其详细原理与配置方式参见 Dashboard 定制指南。下图为示例小结通过本文可以完成 F´ GDS 的完整上手安装后运行fprime-gds启动 GUI用-d/--dictionary/-n/--ip-address/--ip-port/--tts-addr/--tts-port/-g none等选项适配部署需求并在 Commanding、Events、Channels、Uplink、Downlink、Logs、Dashboard 各标签页中完成指令、事件、遥测、文件上下行与日志监视。需要说明的是GUI 并非使用 GDS 的唯一途径——偏好命令行的用户可通过 GDS CLI 指南 学习fprime-cli支持channels、command-send、events三个子命令无 GUI 时以fprime-gds -g none启动后端即可需要定制界面则可阅读 Dashboard 指南。赞分享嵌入式系统编程【免费下载链接】fprimeF´ - A flight software and embedded systems framework项目地址https://gitcode.com/gh_mirrors/fpri/fprime点击查看免费下载相关推荐Envoy 集群管理器Cluster Manager配置指南统计指标、运行时参数、CDS 与健康检查Envoy 集群管理器Cluster Manager配置指南统计指标、运行时参数、CDS 与健康检查 集群管理器Cluster Manager是 En嵌入式系统编程F´ 地面数据系统GDS完全指南运行、配置与 GUI 实操F´ 地面数据系统GDS完全指南运行、配置与 GUI 实操 F´F Prime是一个面向飞行软件与嵌入式系统的开源框架而 F´ Ground Dat嵌入式系统编程自动标签页启动器AutoTab Starter入门指南自动标签页启动器AutoTab Starter入门指南 项目介绍 自动标签页启动器 AutoTab Starter 是由Planetary Computer上一篇LobeHub deep-reviewreuse-architecture 重复实现发现的验证规则与爆炸半径决策下一篇MemPalace 贡献者实战指南开发环境搭建、测试基准运行与受 CI 约束的 PR 工作流创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表