OpenWebRx
OpenWebRX 項目提供了搭建WebSDR的解決方案,該項目基於 Python 編寫,除了完全開源外,官方還提供了完備的技術文檔。您只需要一台電腦或是樹莓派,一個SDR設備和網絡訪問權限(不是必須)即可。搭建完成后,無需使用其他客戶端軟件,直接在Web瀏覽器控制頻譜,同時,它還支持多種數字制式的解碼,喜歡數字制式的Ham可以嘗試一下。
硬件
Raspberry Pi 3B
RTL-SDR
方案一:直接燒錄OpenWebRX鏡像
(一)鏡像下載(615兆)
https://www.openwebrx.de/download/rpi.php
(二)鏡像燒錄
參考博客里樹莓派相關帖子,燒錄好系統后,在文件中創建一個沒有后綴的SSH文件開啟SSH登陸。
(三)相關配置
鏡像禁用了WIFI功能,需要使用網線接入Pi,輸入Pi默認的賬號密碼登陸。
所有命令須以root用戶身份運行,如果您使用的是sudo,需在之前sudo su -
- sudo su -
OpenWebRx設置文件共有三個,均在同一文件/etc/openwebrx,運行以下命令即可分別進行配置:
config_webrx.py:配置設置
bands.json:頻率范圍設置
bookmarks.json:預設書簽
1.配置config_webrx.py:
- cd /etc
- cd openwebrx
- nano config_webrx.py
在這里你可以設置個人電台資料、端口、IP等信息,這里默認端口是:8073
配置模式可以參考從零開始的 RTL-SDR 折騰記
2.配置bands.json
配置頻率帶寬和帶寬下各制式常用頻率
- nano bands.json
3.配置bookmarks.json:
在這里,你可以添加常用的頻率和模式,便於你直接在頻譜上選擇這些頻率。
- nano bookmarks.json
(四)測試
在同網絡下,瀏覽器輸入Pi的IP地址:8073即可登錄
登陸頁面后,右下角的調整菜單,有多種模式可供選擇。
1.DMR模式解碼測試,使用MMDVM信號,解碼沒有問題,同時解出了呼號、時隙、談話組等信息。
2.D-star模式解碼測試,使用MMDVM過來的信號,解碼服務器登陸提示和時間通告,語音清晰。
3.NXDN模式解碼測試,感謝BH7PUE提供的測試。
4.C4FM模式解碼測試,使用設備八重洲FT1D,解出設備使用的模式、呼號、位置信息等。
5.解碼APRS,頻率調制至當地APRS中繼,模式選擇Packet,即刻就能解出APRS信息。
點擊信標,你可以在地圖上找到相應台站位置,只是地圖調用谷歌內核,加載地圖上會有些問題。
6.解碼Pocsag信息,使用MMDVM信號,依然能夠正確解碼。
其他幾個模式,由於沒有設備和匹配的天線,有條件的Ham可以自行測試。
方案二:安裝依賴項,獲取並構建RTL-SDR,安裝運行OpenWebRX
(一)樹莓派燒錄Raspbian系統
(二)安裝依賴項,獲取並構建RTL-SDR,安裝編譯OpenWebRX
- #安裝依賴項
- sudo apt-get install build-essential git libfftw3-dev cmake libusb-1.0-0-dev
- #下載rtl-sdr源代碼
- git clone git://git.osmocom.org/rtl-sdr.git
- #編譯rtl-sdr驅動
- cd rtl-sdr/
- mkdir build
- cd build
- cmake ../ -DINSTALL_UDEV_RULES=ON
- make
- sudo make install
- sudo ldconfig
- cd ../..
- #禁用DVB-T驅動程序,這將阻止rtl_sdr工具訪問
- #(如果以后想將其用於DVB-T接收,則應撤消此更改):
- sudo bash -c 'echo -e "\n# for RTL-SDR:\nblacklist dvb_usb_rtl28xxu\n" >> /etc/modprobe.d/blacklist.conf'
- #僅在Ubuntu 16.04或更高版本上需要以下行才能應用對黑名單設置所做的更改。
- sudo update-initramfs -u #only on Ubuntu 16.04 or newer
- #在當前會話中禁用有問題的內核模塊:
- sudo rmmod dvb_usb_rtl28xxu
- #下載OpenWebRX和libcsdr(將在當前目錄下創建子目錄)。
- git clone https://github.com/simonyiszk/openwebrx.git
- git clone https://github.com/simonyiszk/csdr.git
- #編譯libcsdr(它是OpenWebRX的依賴項)
- cd csdr
- make
- sudo make install
- #編輯OpenWebRX配置或保留默認值
- nano ../openwebrx/config_webrx.py
- #運行OpenWebRX
- cd ../openwebrx
- ./openwebrx.py
經過以上步驟,打開瀏覽器輸入:局域網IP:8073即可訪問。
如執行上述禁用DVB-T驅動程序不成功,出現“usb_claim_interface error -6, Failed to open rtlsdr device #0.”,則需要按如下添加:
將dvb_usb_rtl28xxu內核模塊列入黑名單(需要root用戶下修改):
在/etc/modprobe.d/blacklist-rtlsdr.conf下創建文件,內容為:
- blacklist dvb_usb_rtl28xxu
某些內核模塊會鎖定USB設備,需要在使用SDR設備之前將其禁用。如果內核模塊未正確列入黑名單,則可能會出現“device not found”錯誤。
(三)在系統啟動時運行OpenWebRX
1.安裝tmux:
- sudo apt-get install tmux
2.然后編輯/etc/rc.local(需要root用戶下修改)。在exit 0之前添加此行:
- sudo -H -u pi tmux new -d -s openwebrx-session 'bash -c "cd /home/pi/openwebrx; ./openwebrx.py; bash"'
(別忘了用正確的路徑替代OpenWebRX!)
重新啟動Pi,OpenWebRX將自動運行。
可以通過以下命令查看運行情況:
- tmux a
tmux快捷鍵:
- Ctrl+b, then d : Detaches the tmux session. You can return to it by `tmux a`.
- Ctrl+b, then % or " : Splits your screen horizontally or vertically.
- Press Ctrl+d to close the newly created pane.
- Ctrl+b, then left/right/up/down : Navigate between split panes.
- Ctrl+b, then c : Creates a new window for you.
- Ctrl+b, then 1-2-3... : Lets you navigate through your windows.
參考帖子及博客
1、https://www.openwebrx.de
2、https://github.com/jketterl/openwebrx
3、https://github.com/ha7ilm/openwebrx/wiki
4、https://www.vr2xkp.org
5、https://ibcl.us
6、https://blog.sdr.hu
7、https://bg3iqs.com
8、https://bh8sel.com/5089.html