Starlink gRPC 工具实战:用 3 条命令摸清卫星终端状态
【免费下载链接】starlink-grpc-toolsRandom scripts and other bits for interacting with the SpaceX Starlink user terminal hardware项目地址: https://gitcode.com/gh_mirrors/st/starlink-grpc-tools
家里的网速时好时坏,官方 App 的 Debug 页面只显示"受阻"两个字,看不到更细的信号、丢包和遮挡数据。starlink-grpc-tools(Starlink gRPC 调试工具)直连星链终端(俗称"锅")内置的 gRPC 服务(一种基于 HTTP/2 的高性能远程调用框架),把 App 背后那套完整诊断数据拉出来:终端状态、历史统计、分区域遮挡,还能反过来控制设备。
它是什么
一组 Python 脚本加 Docker 镜像,通过 gRPC 协议与 Starlink 终端通信,用于状态采集、历史统计和远程操作,无需依赖官方 App。
📊 Starlink 设备状态查询:核心能力拆解
- 状态与历史采集:
dish_grpc_text.py按数据组拉取终端状态(连接状态、信噪比、GPS)和历史统计(ping 丢包、时延、流量)→ 解决官方 App 数据粒度粗、没法自选字段的问题。 - 多后端输出:同一套采集逻辑可写入 InfluxDB 1.x/2.x、SQLite、MQTT,或暴露给 Prometheus 抓取 → 解决"数据拉下来存到哪、怎么查"的问题。
- 设备控制:重启动、收放天线、设置睡眠模式、切换 GPS 数据源 → 解决官方 App 里这些操作入口深、步骤多的问题。
- 固件更新管理:检查待安装更新并可按 cron 计划触发安装 → 解决自动更新重启总挑在你上网的时间进行的问题。
- 遮挡地图:把天顶遮挡状态导出成 PNG 图片 → 快速定位是哪个方向被树或楼挡住。
📡 gRPC 连接卫星终端:工作原理
终端在局域网内监听192.168.100.1:9200的 gRPC 接口,官方 App 和浏览器页面走的就是它。脚本利用 gRPC 反射机制在运行时动态读取消息结构,不需要预先编译 .proto 协议文件。数据流转是:脚本向终端发请求 → 终端返回 protobuf 编码的状态/历史数据 → 脚本解析字段并聚合 → 写入命令行指定的后端。类比来说,相当于接上了设备的"内置诊断口",而不是读它展示出来的仪表盘。
谁在什么场景下用
- 自组网的管理者:怀疑网速劣化但分不清是卫星链路还是路由器的问题 → 周期采集 ping 丢包与时延 → 在时序数据库里对比趋势,判断瓶颈在哪一侧。
- 家庭实验室监控用户:想把终端纳入统一监控 → 运行
dish_grpc_prometheus.py→ Grafana 直接抓取终端的吞吐、状态指标,与其他设备同屏展示。 - 周围有树木、建筑的用户:收到遮挡告警 → 导出遮挡地图图片 → 看出具体哪个方位被挡,决定挪锅还是修剪树木。
- 在意固定作息的用户:固件自动安装总在深夜打断使用 → 运行
dish_check_update.py -c "30 2 * * *" --install→ 更新被约束在凌晨 2:30 执行。
为什么值得关注
- 数据粒度比官方 App 更细:支持秒级历史数据和按 12 个扇区拆分的遮挡信息。
- 采集逻辑与输出方式解耦,一套逻辑对应五类后端,且自带 systemd 服务文件和现成容器镜像,长期后台跑成本低。
- 依赖反射机制读取协议结构,克隆后装好依赖即可用,省去生成 gRPC 协议代码的步骤。
- 项目开源,脚本均可直接阅读,方便按自己的需求魔改。
🔧 快速上手:3 步跑通第一个状态查询
- 克隆仓库:
git clone https://gitcode.com/gh_mirrors/st/starlink-grpc-tools - 安装依赖:
pip install -r requirements.txt - 确认终端
192.168.100.1在局域网可达(官方 App 都打不开的话,先解决路由器配置) - 运行
python3 dish_grpc_text.py status obstruction_detail alert_detail,第一组终端状态会以 CSV 打印到屏幕 - 加
-t 60参数改为每 60 秒轮询一次,即可作为长期数据采集;不想装 Python 依赖的话,也可直接拉取项目提供的 Docker 镜像运行
把"黑盒"终端变成可查询、可控、可持续记录的设备,这就是这套工具的核心价值。克隆仓库跑通上面第 4 步的命令,就能拿到第一手数据。
【免费下载链接】starlink-grpc-toolsRandom scripts and other bits for interacting with the SpaceX Starlink user terminal hardware项目地址: https://gitcode.com/gh_mirrors/st/starlink-grpc-tools
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考