# 铱/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 命令 (打开新窗口).
- 使用 19200/8-N-1 设置连接模块,并使用命令检查通信是否正常:
AT
.答复应该是好的
. - 更改波特率:
AT+IPR=9
- 现在使用 115200/8-N-1 设置重新连接模型并保存配置:
AT&W0
现在,该模块已可与 PX4 配合使用。
# 软件
配置串行端口 上运行 RockBlock 模块。 ISBD_CONFIG.无需设置端口的波特率,因为波特率由驱动程序配置。
# 岩块设置
在 RockBlock 上购买第一个模块时,首先需要创建一个用户账户。
登录 账户 (打开新窗口) 下注册 RockBlock 模块 我的 RockBLOCKs
.激活模块的线路租用,并确保账户上有足够的点数用于预计的飞行时间。使用默认设置时,飞行器每分钟向地面站发送一条信息。
为信息中继服务器设置一个发送组,并将模块添加到该发送组:
# 中继服务器设置
中继服务器应在 Ubuntu 16.04 或 14.04 操作系统上运行。
作为信息中继的服务器应有一个静态 IP 地址和两个可公开访问的开放 TCP 端口:
5672
为 RabbitMQ 消息中介(可在 rabbitmq 设置)45679
的 HTTP POST 接口(可在 relay.cfg 文件)
安装所需的 python 模块:
苏都 核心 安装 鼠兔龙卷风未来
安装
rabbitmq
消息代理:sudo apt install rabbitmq-server
配置代理的凭据(将 PWD 更改为您喜欢的密码):
苏都 rabbitmqctl add_user iridiumsbd 工务司 苏都 rabbitmqctl set_permissions iridiumsbd ".*"; ".*"; ".*";
克隆 卫星通信基础设施 (打开新窗口) 存放处:
git clone https://github.com/acfloria/SatComInfrastructure.git
转到 卫星通信基础设施 repo 并配置代理的队列:
./setup_rabbit.py localhost iridiumsbd PWD
验证设置:
sudo rabbitmqctl list_queues
这样就会出现一个包含 4 个队列的列表:
MO
,MO_LOG
,MT
,MT_LOG
编辑
relay.cfg
配置文件,以反映您的设置。以分离模式启动中继脚本:
screen -dm bash -c 'cd SatcomInfrastructure/; ./relay.py
其他说明包括
- 与屏幕分离:
ctrl+a d
- 停止执行脚本:
ctrl+a :quit
- 重新连接到屏幕::
屏幕 -dr
# 地面站计算机
设置地面站:
安装所需的 python 模块:
sudo pip install pika tornado future
克隆 SatComInfrastructure 资源库:
git clone https://github.com/acfloria/SatComInfrastructure.git
编辑 udp2rabbit.cfg 配置文件,以反映您的设置。
安装 QGroundControl (打开新窗口) (每日建设)。
在 QGC 中添加一个 UDP 连接,并设置参数:
- 监听端口:10000
- 目标主机:127.0.0.1:10001
- 高延迟:选中
# 验证
在地面站计算机上打开终端,切换到 卫星通信基础设施 存储库。然后启动 udp2rabbit.py 剧本
./udp2rabbit.py
从 洛克王国账户 (打开新窗口) 中创建的交付组。
测试交付组
标签。
如果在终端中 udp2rabbit.py
如果脚本运行几秒钟后就能观察到信息确认,则说明 RockBlock 发送组、中继服务器和 udp2rabbit 脚本设置正确:
# 运行系统
开始 QGroundControl.先手动连接高延迟链路,然后再连接常规遥测链路:
在地面站计算机上打开终端,切换到 卫星通信基础设施 存储库。然后启动 udp2rabbit.py 剧本
./udp2rabbit.py
启动载具。
等到第一个
高延迟2
信息。可以使用 MAVLink 检查员 小工具或工具栏上的 链接指示器.如果有一个以上的链接连接到活动载具,则 链接指示器 点击显示链接的名称,即可显示所有链接:链路指示器始终显示优先链路的名称。
卫星通信系统现在可以使用了。优先链路是发送命令的链路,通过以下方式确定:
如果用户没有命令链接,则优先选择普通无线电遥测链接,而不是高延迟链接。
如果飞行器处于上膛状态且无线电遥测链路丢失(在一定时间内未收到 MAVLink 信息),自动驾驶仪和 QGC 将从常规无线电遥测切换回高延迟链路。一旦无线电遥测链路恢复,QGC 和自动驾驶仪将立即切换回该链路。
用户可以选择优先于
链接指示器
工具栏上的只要该链接处于活动状态,或者用户选择了其他优先链接,该链接就会被保留为优先链接:
# 故障排除
接收到来自飞机的卫星通信信息,但无法发送指令(载具无反应)
- 检查中继服务器的设置,确保其正确无误,尤其是 IMEI。
地面站没有收到飞机发出的卫星通信信息:
- 使用系统控制台检查 铱sbd 驱动程序是否启动,以及模块是否接收到来自任何卫星的信号:
铱星状态
- 使用上述验证步骤,确保中继服务器、交付组和
udp2rabbit.py
脚本设置正确。 - 检查链接是否已连接,设置是否正确。
- 使用系统控制台检查 铱sbd 驱动程序是否启动,以及模块是否接收到来自任何卫星的信号:
IridiumSBD 驱动程序无法启动:
- 重新启动载具。如果这有助于增加
extras.txt
在启动驱动程序之前。如果还不行,请确保 Pixhawk 和模块的地面高度一致。同时确认模块的波特率设置为 115200。
- 重新启动载具。如果这有助于增加
地面接收到第一条信息,但飞行器一起飞就无法传输信息,或者延迟时间大大延长(约为几分钟)。
- 飞行后检查信号质量。如果在飞行过程中信号质量下降,而您使用的是内置天线,请考虑使用外置天线。如果您已经在使用外置天线,请尝试将天线尽可能远离电子设备或任何可能干扰信号的东西。同时确保天线没有损坏。
← RTK GPS 定位/航向 视频流 →