跳至内容

铱/RockBlock 卫星通信系统

卫星通信系统可用于提供地面站与载具之间的长距离高延迟链路。

本主题介绍如何建立一个使用 RockBlock 作为铱星 SBD 卫星通信系统服务提供商的系统。在信号质量良好的情况下,用户可以预期 10 至 15 秒的延迟时间。

概述

卫星通信链路需要以下组件:

  • A RockBlock 9603 铱星卫星调制解调器 模块连接到已刷新 PX4 自动驾驶仪的 Pixhawk。
  • 运行 Ubuntu Linux 的信息中继服务器。
  • 地面站计算机运行 QGroundControl 在 Ubuntu Linux 上

完整的系统结构如下所示:

建筑学

信息

使用当前版本的 QGroundControl 在 Ubuntu 14.04 和 16.04 上运行。

  • 该系统也许可以在其他地面站和操作系统上运行,但尚未进行过测试(也不保证一定能运行)。
  • RockBlock MK2 模块也可以使用。推荐使用 RockBlock 9603 模块,因为它体积更小、重量更轻,但功能相同。

费用

英国链接的运行成本包括线路租金和每条信息的费用:

  • 每个模块都需要激活,每月费用为 10.00 英镑
  • 通过该系统传输每条信息的成本为 学分 每 50 个字节。可以从 RockBlock 购买成捆的信用点数,每点 0.04 英镑至 0.11 英镑不等,具体价格取决于成捆信用点数的大小。

参考 RockBlock 文档 如需详细了解模块、运行成本和 岩块 一般来说

载具设置

布线

将 RockBlock 模块连接到 Pixhawk 的串行端口。由于模块的电源要求,只能通过高功率串行端口供电,因为在 5 V 电压下最大需要 0.5 A 电流。如果没有可用/空闲的电源,则必须设置另一个与 Pixhawk 具有相同接地水平并能提供所需功率的电源。有关 连接器电力需求 可以在 RockBlock 文档中找到。

模块

模块既可以使用内置天线,也可以使用连接到 SMA 连接器的外置天线。连接 在两种天线模式之间切换 需要改变小型射频连接电缆的位置。如果使用外置天线,一定要确保天线已连接到模块上,然后再通电,以免损坏模块。

模块的默认波特率为 19200。但 PX4 铱sbd 驱动程序要求波特率为 115200,因此需要使用 AT 命令.

  1. 使用 19200/8-N-1 设置连接模块,并使用命令检查通信是否正常: AT.答复应该是 好的.

  2. 更改波特率:

    AT+IPR=9
  3. 现在使用 115200/8-N-1 设置重新连接模型并保存配置:

    AT&W0

现在,该模块已可与 PX4 配合使用。

软件

配置串行端口 上运行 RockBlock 模块。 ISBD_CONFIG.无需设置端口的波特率,因为波特率由驱动程序配置。

信息

如果配置参数在 QGroundControl 那么您可能需要 为固件添加驱动程序:

drivers/telemetry/iridiumsbd

岩块设置

在 RockBlock 上购买第一个模块时,首先需要创建一个用户账户。

登录 账户 下注册 RockBlock 模块 我的 RockBLOCKs.激活模块的线路租用,并确保账户上有足够的点数用于预计的飞行时间。使用默认设置时,飞行器每分钟向地面站发送一条信息。

为信息中继服务器设置一个发送组,并将模块添加到该发送组:

交付组

中继服务器设置

中继服务器应在 Ubuntu 16.04 或 14.04 操作系统上运行。

  1. 作为信息中继的服务器应有一个静态 IP 地址和两个可公开访问的开放 TCP 端口:

    • 5672RabbitMQ 消息中介(可在 rabbitmq 设置)
    • 45679 的 HTTP POST 接口(可在 relay.cfg 文件)
  2. 安装所需的 python 模块:

    苏都 核心 安装 皮卡 龙卷 未来
  3. 安装 rabbitmq 消息代理:

    苏都 适切 安装 rabbitmq-server
  4. 配置代理证书(将 PWD 更改为您喜欢的密码):

    苏都 rabbitmqctl 添加用户 铱sbd 工务司
    苏都 rabbitmqctl 设置权限 铱sbd ".*"; ".*"; ".*";
  5. 克隆 卫星通信基础设施 存放处:

    Git 复制 https://github.com/acfloria/SatComInfrastructure.git
  6. 转到 卫星通信基础设施 repo 并配置代理队列:

    ./setup_rabbit.py 本地主机 铱sbd 工务司
  7. 验证设置:

    苏都 rabbitmqctl list_queues

    这样就会出现一个包含 4 个队列的列表: MO, MO_LOG, MT, MT_LOG

  8. 编辑 relay.cfg 配置文件,以反映您的设置。

  9. 以分离模式启动中继脚本:

    筛查 -dm 敲击 -c 'cd SatcomInfrastructure/; ./relay.py

其他说明包括

  • 与屏幕分离:

    ctrl+a d
  • 停止执行脚本:

    ctrl+a 退出
  • 重新连接到屏幕上:

    筛查 -dr

地面站计算机

设置地面站:

  1. 安装所需的 python 模块:

    苏都 核心 安装 皮卡 龙卷 未来
  2. 克隆 SatComInfrastructure 资源库:

    Git 复制 https://github.com/acfloria/SatComInfrastructure.git
  3. 编辑 udp2rabbit.cfg 配置文件,以反映您的设置。

  4. 安装 QGroundControl (每日建设)。

  5. 在 QGC 中添加一个 UDP 连接,并设置参数:

    • 监听端口:10000
    • 目标主机:127.0.0.1:10001
    • 高延迟:选中

    高延迟链路设置

验证

  1. 在地面站计算机上打开终端,切换到 卫星通信基础设施 存储库。然后启动 udp2rabbit.py 剧本

    ./udp2rabbit.py
  2. 洛克王国账户 中创建的交付组。 测试交付组 标签。

如果在终端中 udp2rabbit.py 如果脚本运行几秒钟后就能观察到信息确认,则说明 RockBlock 发送组、中继服务器和 udp2rabbit 脚本设置正确:

udp2rabbit 信息确认

运行系统

  1. 开始 QGroundControl.先手动连接高延迟链路,然后再连接常规遥测链路:

    连接高延迟链路

  2. 在地面站计算机上打开终端,切换到 卫星通信基础设施 存储库。然后启动 udp2rabbit.py 剧本

    ./udp2rabbit.py
  3. 启动载具。

  4. 等到第一个 高延迟2 信息。可以使用 MAVLink 检查员 小工具或工具栏上的 链接指示器.如果有一个以上的链接连接到活动载具,则 链接指示器 点击显示链接的名称,即可显示所有链接:

    链接工具栏

    链路指示器始终显示优先链路的名称。

  5. 卫星通信系统现在可以使用了。优先链路是发送命令的链路,通过以下方式确定:

    • 如果用户没有命令链接,则优先选择普通无线电遥测链接,而不是高延迟链接。

    • 如果飞行器处于上膛状态且无线电遥测链路丢失(在一定时间内未收到 MAVLink 信息),自动驾驶仪和 QGC 将从常规无线电遥测切换回高延迟链路。一旦无线电遥测链路恢复,QGC 和自动驾驶仪将立即切换回该链路。

    • 用户可以选择优先于 链接指示器 工具栏上的只要该链接处于活动状态,或者用户选择了其他优先链接,该链接就会被保留为优先链接:

      选择优先链接

故障排除

  • 接收到来自飞机的卫星通信信息,但无法发送指令(载具无反应)

    • 检查中继服务器的设置,确保其正确无误,尤其是 IMEI。
  • 地面站没有收到飞机发出的卫星通信信息:

    • 使用系统控制台检查 铱sbd 驱动程序是否启动,以及模块是否接收到来自任何卫星的信号:

      铱sbd 地位
    • 使用上述验证步骤,确保中继服务器、交付组和 udp2rabbit.py 脚本设置正确。

    • 检查链接是否已连接,设置是否正确。

  • IridiumSBD 驱动程序无法启动:

    • 重新启动载具。如果这有助于增加 extras.txt 在启动驱动程序之前。如果还不行,请确保 Pixhawk 和模块的地面高度一致。同时确认模块的波特率设置为 115200。
  • 地面接收到第一条信息,但飞行器一起飞就无法传输信息,或者延迟时间大大延长(约为几分钟)。

    • 飞行后检查信号质量。如果在飞行过程中信号质量下降,而您使用的是内置天线,请考虑使用外置天线。如果您已经在使用外置天线,请尝试将天线尽可能远离电子设备或任何可能干扰信号的东西。同时确保天线没有损坏。