本页介绍如何架设命令行版 wfview 服务器。本主题仅面向高级用户。对大多数用户而言,常规的图形化服务器设置已经够用。
以下文档非常“beta”,尚未就绪……但不妨一看。
构建服务器
首先应克隆常规的 wfview 仓库。(如有需要,也可以克隆其他分支——请查看我们的分支列表。)
git clone --depth 1 --recurse-submodules https://gitlab.com/eliggett/wfview.git
查看 WFSERVER.md 文件,并安装所需的依赖项。
接下来,创建构建目录并进入该目录:
mkdir build cd build
现在运行 qmake。注意指定正确的 pro 文件:
qmake ../wfview/wfserver.pro
现在运行 make。如果你的硬件跟得上,可以运行 make -j4,用四个(或更多)核心加快构建:
make
现在安装程序:
sudo make install
配置
wfserver 使用与 wfview 相同类型的配置文件,其中许多选项也相同。设置文件的默认位置为 ~/.config/wfview/wfserver.ini。首次运行 wfserver 时,如果配置文件尚不存在,它会创建一个基本配置文件。这是最简单的上手方式。
辅助配置
wfserver 的一项新功能(自 2026 年 4 月起,目前位于“wfserverfix”分支)可以引导你完成初始配置。首次运行时这样执行即可:
wfserver --setup
它会向你提出一系列问题,帮助你创建第一个配置文件。之后若有小改动,你可以自行编辑该配置文件。
配置文件
[General] AudioSystem=0
[Radios]
1\AudioInput=default
1\AudioOutput=default
1\ForceRTSasPTT=false
1\GUID={ee2725b2-ca44-41c7-93f5-d9efa0bc4445}
1\RigCIVuInt=0
1\RigName=
[Server] ServerAudioPort=50003 ServerCivPort=50002 ServerControlPort=50001 ServerEnabled=true Users\1\Password=ks/\xyzzyw Users\1\UserType=0 Users\1\Username=user Users\size=1
[General]:
- AudioSystem 把音频系统设为:
- 0:QtAudio,默认值,兼容性最好,通常也是最佳选择
- 1:Port Audio
- 2:RT Audio
[Radios](这些项以“1\”开头,因为此处对应第一台电台):
- AudioInput:这是 wfview 的输入,来自电台的接收机。“default”在某些安装环境中可能可用,但最好手动设置该变量。如果可能,使用 wfview 常规的图形界面客户端查看你的电台对应的音频设备名称。也可以带调试标志运行 wfserver,查看检测到的音频设备列表:
wfserver --debug
- AudioOutput:这是 wfview 的输出,用于电台的发射音频。
- ForceRTSasPTT:如果你的电台接口需要用 RTS 引脚作为 PTT,则设为 true。对于具有 PTT CI-V 命令的电台(如 7300),设为 false。
- GUID:内部生成的 ID,请勿修改
- RigCIVuInt:电台的 CI-V 地址,以无符号整数表示。注意:如果你的电台已启用 收发联动(CI-V Transceive),则无需设置该项(将其设为零)。wfserver 会自动找到电台。对于较老的电台,在此处设置与电台一致的 CI-V 地址。
- RigName:字符串,用于某些调试消息中的电台名称。推荐格式与型号相同——例如“IC-7300”。如果设为“
”,wfview 会用所发现电台的型号填入该项。 - SerialPortBaud:设为与电台相同的波特率。推荐使用较高的波特率,但并非总是越高越好。对于 IC-7300,必须使用 115200 瀑布图才能工作。
- SerialPortRadio:设为串口的设备路径。“auto”会直接取用
/dev/ttyUSB0。 - WaterfallFormat:通过该变量,wfview 可以强制瀑布图采用“标准”以太网格式或串口风格格式。这很有用,因为某些电台控制程序期望瀑布图采用其中某一种格式。
- 1:“combined”格式,Icom 电台通过网络发送该格式
- 0:“serial”格式(默认),Icom 电台通过串口发送该格式。在该格式中,一行频谱数据会被拆分成约 11 个数据块。
- size:表示定义了多少台电台。是的,将来有可能用一个服务器管理多台电台。目前该值应设为 1。
[Server]:
- Server X Port:这是 wfserver 将使用的三个 UDP 端口。切记,不要用路由器重映射端口,路由器两侧的端口号必须始终保持一致。
- ServerEnabled:设为 true 以启用服务器
- Users 与密码:在此设置用户和密码。密码可以是明文,也可以是“伪加密”格式。可在图形界面客户端上用 wfview 生成。
- UserType:
- 0 = 完整用户(Full User),具备发射能力
- 1 = 无发射权限的完整用户(Full User with No Transmit)
- 2 = 仅监听(Monitor only),无控制权限
音频电平
你可以在终端中使用 alsamixer 和 amixer 调整输入(采集)电平。注意,有些调节只是对电平做缩放,而有些调节才真正设置 ADC 转换增益。我们要的是转换增益。
要调出 1 号声卡的采集电平,使用以下命令(也可以试试 0 号和 2 号声卡,直到看到预期的控件):
alsamixer -c 1 --view=capture
调整好后,记下该调节值。之后你可以编写 amixer 脚本,在启动 wfserver 之前通过启动脚本自动完成该调节:
~amixer –set-volume=33 -c 1 –device=”capture”~(注意这条命令是错的,我需要研究一下)
自动运行
你可以创建一个 systemd 脚本,在启动时自动运行 wfserver。**绝对不要以 root 身份运行 wfserver。**这完全没有必要,也完全不受支持。如果遇到权限错误,请设法追查问题的根源(通常例如串口的所有权或用户组归属)。
若要在终端中持久运行 wfserver,目前推荐使用“screen”会话管理程序。只需按 control-a、d,即可分离 screen 会话并让 wfserver 继续运行。我们稍后会加入后台 fork 机制。