我手头的自制电台输入输出均为两根3.5mm音频线。天线架设在楼顶,但是夏日炎热,不可能在天台整夜守着。于是想到让audio走网络,人在楼下吹着空调远程控制。
研究了一通,大致方法就是通过USB声卡采集audio/mic信号,声卡插在到路由器上,路由器上运行的OpenWRT上跑Virtualhere。Virtualhere是一种远程USB方案,它使用改进的USB/IP协议,在保证性能的同时实现了多平台USB共享
未授权(试用)版本可以连接一台USB设备。官网https://www.virtualhere.com/
Virtualhere的服务端支持Android/Windows/macOS/Linux的各类主流架构。甚至支持NAS如群晖的DSM,华硕的ADM,威联通QNAP。 客户端就比较少,只有Windows/Linux(GUI或无头模式)。
所需材料
- 闲置的路由器,要求能刷OpenWRT固件(我用的是newifi mini)
Padavan固件也行,甚至恩山论坛上的固件已经内置了Virtualhere server,就免得折腾了
USB接口的声卡(我随便买了个绿联的US205,有mic和audio两个插口)
virtualhere需要跑在路由器的OpenWRT系统上上,所以首先请想办法把路由器刷成OpenWRT,然后得知其处理器架构。我手头这台是 MediaTek MT7620A处理器,架构为ramips/mt7620 (属于MIPSel,MIPS24KeC),大家按自己家路由器CPU型号查询,不一定是这个架构。不过大家既然都会刷OpenWRT了,肯定也知道是啥架构= =

2.去下载virtualhere服务端。下载到的文件名字各不相同,为后文叙述方便,我这里将其重命名为virtualhere,假设说你下载了放在D盘里。
注意官网这里有一些针对特定开发板SBC(板上处理器)或特定架构的性能优化版本,叫做“CPU optimized builds of VirtualHere USB Server for Maximum Performance” 。但是需要授权许可(在客户端上输入license key,这个key吧……网上有一些旁门左道(小声),但建议最好入正版)
2.使用scp命令将virtualhere拷贝到路由器中,打开终端。假设说你的路由器的IP是192.168.2.1,执行:
scp -O D:\virtualhere root@192.168.2.1:/usr/share/
然后给个权限,并且运行之
cd /usr/share
chmod +x /usr/share/virtualhere
/usr/share/virtualhere -b
3.将其添加到OpenWRT的自启任务中(路由器管理界面 系统→启动项→本地启动脚本)
在exit 0 前增加一行
/usr/share/virtualhere -b
4.去virtualhere官网下载客户端软件 https://www.virtualhere.com/usb_client_software,无需安装点击打开。如果连上了路由器,电脑上运行的客户端应当发现作为virtualhere服务器的路由器名称

5.将电台音频线缆和USB声卡接好,USB声卡插到路由器上。回到房间里,莲那个电脑上应当能自动发现音频设备,仿佛直接插在本机上。接下来就可以愉快地玩耍了。
备注:由于路由器性能限制、偶尔会出现丢包,但总体使用效果良好。另外如果声卡采样率允许调整可适当降低,减轻吞吐压力。此外,有意折腾的HAM,也可以考虑用路由器上的内网穿透工具,实现真正的离家远程操作?
致谢
本攻略参考了部分网上教程, 尤其是 https://www.toutiao.com/article/7123119746773565990/