首页
/ SDRangel Web API 接口详解

SDRangel Web API 接口详解

2025-07-10 01:18:31作者:明树来

概述

SDRangel 是一款开源的软件定义无线电(SDR)平台,提供基于 Qt5/OpenGL 的图形用户界面和服务器功能。本文详细解析 SDRangel 的 Web REST/JSON API 接口规范,帮助开发者理解和使用这套接口进行二次开发。

API 基础信息

  • 版本: 7.0.0
  • 协议: HTTP
  • 数据格式: JSON
  • 基础路径: /

核心功能接口

1. 实例管理

获取实例摘要

GET /sdrangel

返回 SDRangel 实例的基本信息摘要,包括版本、运行状态等。

停止实例(仅服务器)

DELETE /sdrangel

发送停止服务器实例的指令,仅适用于服务器模式。

2. 配置管理

获取配置

GET /sdrangel/config

获取 Qt 保存的主设置(MainSettings)中的首选项(Preferences)、预设(Presets)和命令(Commands)信息,可用于配置备份。

更新配置

PUT /sdrangel/config

用请求体中的内容完全替换当前配置,可用于配置恢复。

部分更新配置

PATCH /sdrangel/config

部分更新配置,请求体中的预设和命令会被添加,工作预设中的通道会被添加,设备会被更新或添加(upsert操作)。

3. 设备与插件管理

获取可用采样设备

GET /sdrangel/devices

返回可用于设备集的采样设备列表,可通过direction参数(0-Rx,1-Tx,2-任意)筛选。

获取可用通道插件

GET /sdrangel/channels

返回当前实例中可用的通道插件列表,同样支持direction参数筛选。

获取可用功能插件

GET /sdrangel/features

返回当前实例中可用的功能插件列表。

4. 音频管理

获取音频设备列表

GET /sdrangel/audio

返回当前实例可用的音频设备列表。

设置音频输入设备参数

PATCH /sdrangel/audio/input/parameters

配置音频输入设备参数,使用index标识设备,仅考虑可设置字段。

设置音频输出设备参数

PATCH /sdrangel/audio/output/parameters

配置音频输出设备参数,使用index标识设备,仅考虑可设置字段。

5. 预设管理

获取所有预设

GET /sdrangel/presets

返回实例中所有的预设列表。

加载预设到设备集

PATCH /sdrangel/preset

将指定预设加载到设备集。

更新预设

PUT /sdrangel/preset

用设备集的当前设置更新指定预设。

创建新预设

POST /sdrangel/preset

基于设备集的当前设置创建新预设。

特殊说明

  1. 设备集限制:

    • GUI模式下第一个接收设备集不能被删除
    • 服务器模式初始没有设备集,可通过多次DELETE操作将设备集数量减少到零
  2. 预设功能:

    • 预设的导入/导出是服务器特有功能
    • 设备集焦点是GUI特有功能
  3. 未实现功能:

    • ATV和DATV解调器
    • 通道分析器NG
    • LoRa解调器
    • 返回状态码501
  4. 数据结构特点:

    • 设备设置和报告结构仅包含对应设备类型的子结构
    • 通道设置和报告结构仅包含对应通道类型的子结构

错误处理

API 定义了标准化的错误响应,包括:

  • 400: 无效请求
  • 404: 资源未找到
  • 500: 服务器内部错误
  • 501: 未实现功能

总结

SDRangel 的 Web API 提供了全面的接口来管理和控制软件定义无线电系统。通过这套 RESTful 接口,开发者可以实现远程控制、自动化配置和集成其他系统等功能。理解这些接口的规范和使用方法,可以充分发挥 SDRangel 的潜力,构建更强大的无线电应用解决方案。