关于INAV地面站的遥测功能
一、介绍
遥测功能允许你在飞行过程中实时了解飞机的状态,比如电池电压、GPS位置等信息可以发送到遥控器上。遥测可以设置为 始终开启,也可以设置为 解锁后开启。
如果遥测所用串口还被用于其他功能,那么该串口的遥测功能 只会在解锁后启用。启用遥测的方法是通过 feature TELEMETRY
指令:
feature TELEMETRY
目前支持多种遥测协议,包括:
- FrSky
- Graupner HoTT V4
- SmartPort (S.Port)
- LightTelemetry (LTM)
- MAVLink
- IBUS
- Crossfire (CRSF)
- GSM SMS
所有遥测协议都基于串口通信,请在串口设置中配置所需协议。
可以同时启用多个遥测协议,但 同一类型只能启用一个,比如:SmartPort + LTM 或 MAVLink + CRSF。
二、SmartPort(S.Port)遥测
SmartPort 是新一代 FrSky 遥控器使用的遥测系统,适用于 Taranis Q X7、X9D、X9D+、X9E、XJR 等搭配以下接收机使用:
- X4R(SB)、X8R、XSR、R-XSR、XSR-M、XSR-E 老款 D 系列接收机。
⚠️ SmartPort 使用的是反相串口协议,并不是所有飞控都能直接连接。根据飞控芯片不同,支持方式如下:
飞控芯片 | 直接连接 | 接收机反相改装 | 软件串口支持 | 需外接反相器 |
---|---|---|---|---|
STM32F4 | ❌(*) | ✅ | ✅ | ✅ |
STM32F7 | ✅ | 不需要 | ✅ | 不需要 |
STM32H7 | ✅ | 不需要 | ✅ | 不需要 |
\* 如果 STM32F4 飞控带有硬件反相器,也可以支持直接连接。SmartPort 串口速率为:57600 bps
2.1 连接方式
F7 / H7 飞控的直接连接方式:
只需将飞控的 TX 引脚连接到 SmartPort 接收机上即可:
set telemetry_inverted = OFF
set telemetry_halfduplex = ON
接收机“反相改装”方式(适用于 X4R、XSR 等):
一些接收机可以通过硬件修改,输出未反相的 SmartPort 信号。
此时将 未反相信号 接到串口 TX 引脚,并设置:
set telemetry_inverted = ON
set telemetry_halfduplex = ON
软件串口(Software Serial)连接
软件模拟串口允许你无需对接收机进行硬件改装,就可以连接 SmartPort 接收机。
你只需要将飞控的 TX 引脚接到接收机的 SmartPort 引脚上。
设置方法如下:
set telemetry_inverted = OFF
set telemetry_halfduplex = ON
如果上述方式不行,可以使用以下方法:
将 RX 和 TX 引脚 通过一个电阻连接,推荐值为 1kΩ(实测 100Ω、1kΩ、10kΩ 均可)。
连接示意图如下:SmartPort ---> RX(CH5引脚) ---> 1kΩ电阻 ---> TX(CH6引脚)
设置保持如下:
set telemetry_inverted = OFF
使用外接硬件反相器连接 SmartPort(适用于 STM32F1 / F4)
你可以使用 DIY UART 反相器 将 SmartPort 接收机连接到 F1 或 F4 系列飞控,无需对接收机进行硬件改装。
这种反相器可以用双极型晶体管(bipolar transistors)搭建:

使用单极型晶体管(Unipolar Transistor)构建 SmartPort 反相器:

⚠️ 警告:所选的 UART 引脚必须支持 5V 。 如果不支持 5V,请使用 3.3V 电源(但该方案尚未验证)。
当使用 外部反相器 时,必须应用以下配置:
set telemetry_halfduplex = OFF
set telemetry_inverted = ON
2.2 可用的 SmartPort(S.Port)传感器数据
传感器代码 | 含义说明 |
---|---|
GSpd | 当前水平地速(由 GPS 计算) |
VFAS | 实际电池电压(vbat)值 |
Curr | 实时电流消耗(单位:安培) |
Alt | 基于气压计的高度,相对起飞点 |
Fuel | 电量百分比(如启用 smartport_fuel_unit = PERCENT),否则为已使用电量(mAh) |
GPS | GPS 坐标 |
VSpd | 垂直速度(单位:cm/s) |
Hdg | 航向角(北为 0°,南为 180°) |
AccX/Y/Z | 加速度计数据(如果 frsky_pitch_roll = ON,则不会发送) |
飞行模式编码(ID: 470)
5 位数字编码 ABCDE,数字具可加性(例如:C 位为 6,表示已激活高度保持 + 定点):
- A 位:1 = 襟副翼模式,2 = 自动调参,4 = 失控保护
- B 位:1 = 一键返航,2 = 航点飞行,4 = 无头模式
- C 位:1 = 航向保持,2 = 高度保持,4 = 定点保持
- D 位:1 = 平飞模式,2 = 地平线模式,4 = 通道直通
- E 位:1 = 可解锁,2 = 禁止解锁,4 = 已解锁
⚠️ 说明:该 ID 原为 Tmp1,INAV 8.0 起改为 470。如需使用旧 ID,可设置: set frsky_use_legacy_gps_mode_sensor_ids = ON(不推荐,INAV 10.0 将移除)
GPS 状态编码(ID: 480)
4 位数字编码 ABCD,典型 GPS 锁定状态为: 3906
- A 位:1 = GPS锁定,2 = Home点锁定,4 = Home点重置(可叠加)
- B 位:HDOP 精度(0~9,9为最佳)
- C+D 位:锁定的卫星数量(例如 14 颗:C=1,D=4)
⚠️ 说明:该 ID 原为 Tmp2,现为 480,建议更新工具和脚本。
其他传感器
ID | 含义 |
---|---|
GAlt | GPS 高度(相对海平面) |
ASpd | 实际空速(pitot 管测得,单位:Knots×10) |
A4 | 单节电压平均值(非最低电压) |
0420 | 距离返航点距离(单位:米) |
0430 | 俯仰角 × 10(需开启 frsky_pitch_roll = ON) |
0440 | 横滚角 × 10(需开启 frsky_pitch_roll = ON) |
0450 | 飞行矢量角或地面航向角 × 10 |
0460 | 方位角 × 10 |
三、HoTT 遥测
INAV 中对 HoTT 遥测的支持仅 模拟 以下两类模块数据:
- 电动航空模块(EAM)
- GPS 模块
使用要求
- 请确保遥控器和接收机已更新为最新 Graupner 固件。
- 部分旧款遥控器(如 MX-20)需手动在遥测菜单中启用 EAM 和 GPS 模块。
接线方式(推荐)
✅ 适用于新版 INAV,或硬件支持单线通信的串口(如 UART):
- HoTT TX/RX → 直接连接到串口 TX 引脚
- 串口 RX 悬空(不接)
- CLI 中设置:
set telemetry_halfduplex = OFF
save
兼容方式(旧方案,仅供参考)
如果 FC 无法直接处理单线通信(TX/RX 分别走独立线),则需 硬件改造 + 二极管混合信号:
接线方案:
HoTT TX/RX → 串口 RX(直接连接)
HoTT TX/RX → 二极管 → 串口 TX(通过二极管连接)
CLI 设置:
set telemetry_halfduplex = ON
save
四、LightTelemetry (LTM) 遥测协议
LTM(LightTelemetry) 是一种轻量级、单向串行遥测协议,常用于:
- OSD 模块
- 地面站系统
- 天线跟踪器
INAV 对 LTM 的支持包括发送多个不同的数据帧,适用于低带宽、远距离遥测场景。
LTM 支持的数据帧
帧类型 | 内容说明 |
---|---|
G-FRAME | GPS 信息(纬度、经度、地速、海拔、卫星数) |
A-FRAME | 姿态信息(俯仰、横滚、航向) |
S-FRAME | 状态信息(电压、电流+、RSSI、空速+、飞行状态)(注:带 “+” 的项目 INAV 未实现) |
O-FRAME | 原点(Home 点)的 GPS 位置,包括经纬度与高度 |
N-FRAME | 导航信息(GPS 模式、导航模式、导航动作、航点编号、导航错误、导航标志) |
X-FRAME | 额外信息(目前仅支持 HDOP) |
特性说明
- 只发送(Transmit Only):无反馈功能,适合单向通信链路。
- 低速率运行良好:默认使用 9600 波特率,但即使 2400 也能稳定运行,非常适合软串口(SoftSerial)。
- 适合远距离遥测:低速率可延长遥测链路的通信距离。
带宽设置(ltm_update_rate
)
通过 CLI 参数 ltm_update_rate
可设置更新速率(影响带宽使用):
设置值 | 带宽需求 | 所需波特率 | 说明 |
---|---|---|---|
NORMAL | 303 字节/秒 | ≥4800 bps | 传统速率 |
MEDIUM | 164 字节/秒 | ≥2400 bps | 推荐用于中等距离 |
SLOW | 105 字节/秒 | ≥1200 bps | 更适合远距离链路(如 433MHz) |
五、 MAVLink 遥测协议
MAVLink(Micro Air Vehicle Link) 是一种轻量级的消息封装协议,广泛应用于:
- 地面站(如 Mission Planner、QGroundControl)
- OSD 模块
- 天线跟踪系统
- 兼容平台:PX4、PIXHAWK、APM、Parrot AR.Drone 等
INAV 中的 MAVLink 实现特性
- ✅ 仅发送(Transmit-Only):MAVLink 在 INAV 中为单向数据输出。
- ✅ 支持 MAVLink v1 和 v2 协议版本
- ✅ 可运行于软串口(SoftSerial) 最低波特率需求为 19200 适用于低速率、远距离遥测场景
六、蜂窝短信遥测
INAV 支持使用 SimCom SIM800 系列蜂窝模块 通过短信(Text Message)发送飞行遥测数据。
功能简介
- 可通过 拨打模块号码或发送短信 获取飞控状态。
- 模块可以按固定间隔发送遥测短信 ;在检测到加速度事件(如撞击、自由落体、着陆)时发送短信;接收短信指令,将飞控设置为 返航(RTH)模式
短信内容示例:
12.34V 2.0A ALT:5 SPD:10/13.6 DIS:78/19833 HDG:16 SAT:21 SIG:9 ANG maps.google.com/?q=6FG22222%2B222
内容字段 | 含义 |
---|---|
12.34V | 电池电压 |
2.0A | 当前电流 |
ALT:5 | 当前高度(米) |
SPD:10/13.6 | 当前速度 / 平均速度(m/s) |
DIS:78/19833 | 离家距离 / 总飞行距离(米) |
HDG:16 | 航向角(°) |
SAT:21 | 卫星数量 |
SIG:9 | 蜂窝信号质量(0-31,建议≥10) |
ANG | 当前飞行模式 |
maps.google.com | 实时 GPS 坐标位置链接 |
CLI 参数配置说明
sim_transmit_flags:设置发送条件(字符串标志)
- T:持续发送
- F:在 Failsafe 模式下发送
- A:在飞行高度低于 sim_low_altitude 时发送
- G:GPS 信号质量过低时发送
sim_low_altitude:低高度阈值(单位:米)
sim_transmit_interval:发送间隔,默认 60 秒
acc_event_threshold_high:高加速度阈值(撞击检测)
acc_event_threshold_low:低加速度阈值(自由落体检测)
acc_event_threshold_neg_x:负向X轴加速度阈值(固定翼着陆检测)
短信控制指令
- 发送内容以 RTH 开头:切换强制返航(RTH)开关
- 发送普通文本:设置新的 sim_transmit_flags(覆盖原有值)
- 发送空短信:关闭短信发送(相当于将所有 flag 清零)
速度事件标识
当启用加速度事件相关 CLI 参数时,短信开头会包含以下标志:
标志 | 含义 |
---|---|
HIT! | 撞击 / 高 G 事件 |
DROP | 自由落体 / 低 G 事件 |
HIT | 着陆 / 向后加速事件(多用于固定翼) |
七、IBus 遥测(IBus Telemetry)
IBus 是 FlySky 的遥测协议,INAV 支持通过 IBus 向遥控器发送飞行数据。
连接方式: 从飞控 一个双向串口的 TX 引脚 连接至接收机的 IBus SENS 引脚
IBus的TX 和 RX 共享 1 条线路,所以RX引脚不能用于其他串行端口。 它以 115200 的固定波特率运行,因此需要硬件 uart。

IBus 协议允许 多个传感器串联连接(Daisy Chain),遥测数据可能会被值传感器的数据覆盖。

7.1 IBUS Telemetry 支持情况
- 默认启用:大多数固件中默认开启 IBUS 遥测。
- 禁用例外: ALIENWIIF3 RMDO 在这些目标中会在 target.h 中通过 #undef TELEMETRY_IBUS 明确禁用。
7.2、可用遥测传感器(编号)
编号 | 类型 | 数据说明(单位) |
---|---|---|
1 | Internal voltage | 无实际用途 |
2 | 电压(Voltage) | 电池电压 |
3 | 温度(Temp) | 优先读取气压计温度,否则读取陀螺仪温度(°C) |
4 | 状态(Rpm) | 状态位信息 |
5 | 航向角(Rpm) | 方向角(°) |
6 | 电流(Voltage) | 当前电流(A) |
7 | 高度(Voltage) | 当前高度(m) |
8 | 回家方向(Rpm) | 朝返航点的方向(°) |
9 | 回家距离(Rpm) | 距返航点的距离(m) |
10 | GPS航向(Rpm) | GPS Course Over Ground |
11 | GPS 高度(Rpm) | GPS 高度(m) |
12 | 纬度后半(Rpm) | 经纬度后 4 位小数,例如 5678 代表 -12.345678 |
13 | 经度后半(Rpm) | 同上 |
14 | 纬度前半(Voltage) | 经纬度前半 2 位整数,例如 -12.45 |
15 | 经度前半(Voltage) | 同上 |
16 | GPS 速度(Rpm) | km/h,部分模式中可改为 m/s(见下方 CLI 说明) |
1x3 | 发射器电压/错误率 | 不可用 |
注意:8~16号传感器仅在编译时启用 GPS 时可用
7.3 GPS 状态字段解析(STATUS)
- FIX(GPS 定位状态): 1: 无定位 ;2: 2D 定位; 3: 3D 定位 ;6: 无定位 + 返航点锁定 ;8: 3D 定位 + 返航点锁定
- HDOP(定位精度): 0: 0-9m(好; 8: 80-90m ;9: >90m(差)
- Mode(飞行模式): 0: PASSTHROUGH ;1: ARMED (rate) ;2: HORIZON; 3: ANGLE ;4: WAYPOINT ;5: ALT HOLD ;6: POS HOLD; 7: RTH; 8: LAUNCH ;9: FAILSAFE
✅ 例如:12803 = 12颗星,3D定位,已锁定返航点,HDOP好,当前为 ANGLE 模式
7.4 CLI 参数设置ibus_telemetry_type
不同的遥测类型编号支持不同的传感器组合,特别是对 FlySky i6 开启10通道、GPS支持等用户非常重要。
类型编号 | 特点或适配固件 |
---|---|
0 | 标准传感器类型(FS-i6/FS-i6S) |
1 | GPS速度为 km/h 类型 |
2 | GPS高度为 ALT 类型 |
3 | 每个传感器使用独立 ID(适配 10ch_Mavlink_MOD) |
4 | 支持 4 字节传感器(需 RX 固件 >= v1.6) |
5 | 增加 CLIMB、MODE 等字段(适配 fix_updater) |
6 | 扩展支持(见 hali9_updater) |
7 | 与 6 类似,增加 GPS_STATUS,ARMED 和 MODE |
8 | 同 7,但反转 ARMED 状态 |
131~136 | 同 3~8,但 GPS 速度单位改为 m/s |
建议使用支持最多字段的固件配套,如 FS-i6 10ch Mavlink MOD 固件搭配类型 3~8。
7.5 IBUS RX 和 Telemetry 使用说明(单端口)
INAV 固件中, IBUS 接收和遥测通信只能使用一个 UART 端口,且需根据用途进行对应设置:
A. 仅使用 IBUS 接收(RX)
连接方式: Flysky 的 IBUS-SERVO(接收机输出) → 飞控的 UART RX 引脚
配置方式(INAV Configurator):
- 在该 UART 端口中启用 Serial RX
- Receiver Mode:设置为 RX_SERIAL
- Serial Receiver Provider:选择 IBUS
B. 仅使用 IBUS 遥测(Telemetry)
- 连接方式: Flysky 的 IBUS-SENS(遥测输入) → 飞控的 UART TX 引脚
- 配置方式(INAV Configurator): 在该 UART 端口中启用 Telemetry 功能 在 Features 中启用 TELEMETRY
C. 同时使用 IBUS 接收 + 遥测(共用一个端口)
由于 IBUS 的接收和遥测是共用物理总线的,需要通过以下硬件电路实现双向通信:

- R = 10KΩ:图中的 [R] 实际应为 10KΩ 电阻,用于限流,防止信号冲突。
- 二极管 1N4148:需要连接在 Servo 线(接收机输出)→ TX 信号线上,并且二极管的阴极(带条一端)要朝向接收机的 IBUS-Servo 引脚,以防止 TX 端返回的电流干扰接收机的 Servo 输出。
连接原理:
信号流 | 说明 |
---|---|
飞控 TX → 接收机 Sensor(遥测) | 通过 10KΩ 电阻发送 Telemetry 数据 |
接收机 Servo → 飞控 TX(接收数据) | 通过 1N4148 二极管允许单向数据进入 TX |
RX → 未连接 | 因为是单线通信,这种方式不需要使用 RX 引脚 |
八、SBUS2 遥测
SBUS2 遥测需要将飞控的一路 硬件串口的 TX 引脚(需支持反向信号)连接到 Futaba T-FHSS 或 FASSTest 系列接收机上的 SBUS2 引脚。该方式已在 T16IZ 遥控器 搭配 R7108SB 和 R3204SB 接收机 上测试通过。
- UART TX → 通过双向通信线路(Bi-directional)连接到 Futaba 接收机的 SBUS2 遥测端口。
- UART RX → 没有连接,保持未使用([not connected]),这是因为 SBUS2 使用的是单线双向通信,TX 足矣。

————本文引用至INAV官网: https://github.com/iNavFlight/inav/blob/master/docs/Telemetry.md