先看效果:
在自带的地图中,新收到的ft8信号会默默的加到地图里,我们可以添加两行代码使其收到新的ft8信号时来一个弹窗展示。
首先和上一篇文章(点击进入)一样,进入容器里面的htdocs目录下,编辑map.html文件,在head标签里添加代码:
<script src="https://cdnjs.cloudflare.com/ajax/libs/notify/0.4.2/notify.min.js"></script>
保存。
接着编辑map.js,搜索 case 'locator'
在如下图相应位置添加代码
if (new Date().getTime() - update.lastseen + new Date().getTimezoneOffset() * 60 * 1000 < 30 * 1000 - 8 * 60 * 60 * 1000 && $.notify != undefined){
$.notify("Received a " + update.mode + " mode signal from " + update.callsign + " in " + update.location.locator + " on " + update.band + " band", {globalPosition: 'bottom right', autoHideDelay: 5000, className: 'info'});
}
保存。刷新页面,发现成功显示地图弹窗了。
小技巧:在这个url里面可以知道当前传播比较好的频率:https://pskreporter.info/cgi-bin/psk-freq.pl 。
它基于IP地址确定位置,并计算出该位置上传播好的频率。
如果你的sdr带宽不足以覆盖整个短波段,可以在OpenWebRX的Settings-SDR device settings-你的SDR里面的Additional optional settings添加一个Scheduler(计划),并设置好不同时间段在不同的频段进行守听解码。
以下是我的设置:根据太阳的起落时间(Daylight)来调节频段。白天使用20m波段,晚间使用40m波段,晨昏线上使用20m波段。
避免踩坑:如果你的地图迟迟没有解码的结果,但是在sdr上可以听到ft8的声音,请检查docker输出是否有Can't load shared library libQt5Core.so.5。
在某些版本的OpenWebRX中,jt9命令不可用,会输出Can't load shared library libQt5Core.so.5。
解决方法很简单:
apt install binutils
strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5