我目前使用的自製無線電接收器,輸入輸出皆使用兩根3.5mm的音訊線。天線架設在樓頂,但夏天非常炎熱,無法整晚在陽台守望。因此,我想到讓無線電透過網路連線,人在 downstairs 吹著空調,遠端控制。
經過研究,大致的方法是透過 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 伺服器,這樣就不需要再麻煩了。
使用 USB 連接的聲卡 (我隨意買了一個綠聯 US205,有麥克風和音訊兩個插孔)
`virtualhere` 需要在 OpenWRT 系統上運行,因此首先請嘗試將路由器刷成 OpenWRT,然後確認其處理器架構。我這台的處理器是 MediaTek MT7620A,架構為 ramips/mt7620 (屬於 MIPSel, MIPS24Kc),大家可以根據自己家路由器 CPU 型號查詢,不一定是這個架構。不過既然大家都會刷 OpenWRT 了,應該也都知道是什麼架構 = =

2. 請下載 virtualhere 的伺服端。下載下來的文件名稱可能不同,為了方便後續說明,我將其重新命名為「virtualhere」,假設您已將其下載到 D 盤中。
請注意,官方網站上有針對特定開發板 SBC(板上的處理器)或特定架構的效能優化版本,稱為「VirtualHere USB Server 的 CPU 優化建置,以獲得最佳效能」。但是,需要授權許可(在客戶端輸入授權碼…網路上有一些不正規的方法,但建議最好購買正版)。
2. 使用 `scp` 命令將 `virtualhere` 複製到路由器中,開啟終端機。假設您的路由器 IP 位址為 192.168.2.1,請執行:
使用 scp 命令將 D:\virtualhere 目錄複製到 192.168.2.1 這個 IP 位址上的伺服器,目標路徑為 /usr/share/。
然後授予權限,並執行。
進入 /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 音卡插入路由器上。返回房間,在蓮的電腦上應該能夠自動偵測到音訊設備,就像直接插在本機上一樣。接下來就可以愉快地使用了。
備註:由於路由器性能限制,偶爾可能出現掉包情況,但整體使用效果良好。另外,如果音卡採樣率允許調整,可以適當降低,以減輕吞吐壓力。此外,有意進行更進一步的無線電愛好者,也可以考慮利用路由器的內網穿透工具,實現真正的遠程操作?
感謝
本文攻略參考了一些網路教學。,尤其是在 https://www.toutiao.com/article/7123119746773565990/