最近双11入手的K480和rsp1b。其实在接起来配合sdruno,在收音机方面感觉已经差不多了。但感觉还是能配合家里的剩余物资,例如荒废了挺久的r4s能扩展一下。
其实教程都是有的,只不过整合一下就能做到“在单位听家里的收音机”的效果,其实就是拿老早买的r4s当提供ddns跟sdr服务。
硬件方面:新买的K480天线,rsp1b,还有之前买的nanopi r4s
软件方面:家里要公网ip,有个域名,ddclient,sdrconect,还有光猫。。
大体思路就是,
1.r4s跑ddclient,通过Cloudflare api更新家里宽带的ip地址到域名。
2.r4s跑sdrconnect server提供sdr服务。
3.光猫开端口转发“放行”。
配置起来难点感觉是在ddns,已经不是我以前想象的样子了。
公网ip准备(深圳电信):
我不想搞vpn啊frp啊之类的麻烦东西,那问电信要个公网ip就是最好的选择。跑到离家最近的电信营业厅(电信营业厅居然还有不是自营的,记得找电信自营的),直接跟营业员说要公网ip,深圳这边是可以一个月100要的(世界加钱可及- -)。
需要注意的是,营业员一定会问使用公网ip的用途。千万不要让营业员知道你是提供公共服务(做网站啊,文件服务器之类)什么的。像要远程自家电脑啊,摄像头监控这样的要公网ip但别人不用的服务就没啥问题。
R4S的准备:
r4s其实是可以刷Debain或者Ubuntu的,甚至官方的友善电子就有镜像(虽然只是debain 11)。
https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R4S
4.2 Install OS章节下有个download link,然后也有各个镜像文件名的说明。理论上debain跟ubuntu的镜像都行。下下来以后,用win32diskimager写入sd卡,写完插进r4s,网线连r4s的wan口,插电开机就能通过dhcp获得ip,就能ssh连接了(官方镜像初始账号跟密码都是pi),最后建议还是设置一下固定ip。
DDNS部分:
很久以前我是搞过ddns的,印象中就是网管(一般是路由器,也可以是电信给的路由猫)会提供一个有限的ddns软件,只能用某些ddns服务(点名花生壳),并且配置起来有点“语焉不详”的感觉。
国内的ddns服务大多数都是要钱跟实名认证的(拍身份证+人脸识别那种),自然不想要(我自己都还有域名啊- -)。国外的找了dyndns跟no-ip,实际上也是要钱的,最后找到dynu.com试了好久,发现国内裸连是连不上的,只能去翻看Cloudflare的文档(我的域名现在都托在Cloudflare上,连续费也是),发现有用ddclient,使用Cloudflare api更新dns的方法。
https://github.com/ddclient/ddclient/
ddclient还是建议编译安装,github页面就有指导。记得装齐编译的工具,build-essential,autoconf,automake在都是要手动装的。装好后我的配置:
/etc/ddclient/ddclient.conf daemon=300 # check every 300 seconds syslog=yes # log update msgs to syslog pid=/var/run/ddclient.pid # record PID in file. ssl=yes # use ssl-support. Works with use=web, web=my.ip.fi/ protocol=cloudflare login=我的Cloudflare账号邮箱 password=Cloudflare账号的global api key(不能是其他的api key) zone=哪个域名下 具体到某个要更新的二级域名
ddclient的工作原理其实很简单,通过use什么去获取你现在的ip,然后通过Cloudflare api更新你的对应域名的ip。有两个地方需要注意一下:
一个是use=web,web=你从哪个返回你的ip地址的api获得公网ip,你需要提供一个只会返回ip地址的api网站,并且还要是国内能直连的(例如我现在用的my.ip.fi/)。ddclient示范的ipify
国内就直连不了。。
https://github.com/ihmily/ip-info-api
可以参考这个,“只返回本机(访客)IP地址,通过curl访问测试”下面的api,都可以试试。
第二个是现在Cloudflare的api key获取页面改版了,现在变成这样了,找不到必要的global api
只能进到某个域名下的这个地方,就能找到旧的api key获取页面了。
ddclient配置好了,就在dns下先新建个a记录,名字就是在ddclient.conf里你指定的二级域名,ip随便,然后r4s上跑一下
sudo ddclient -daemon=0 -debug -verbose -noquiet --force
如无意外应该那个二级域名就更新ip成功了。
sdrconnect:
最难的ddns搞完了。
因为是r4s,所以下的是linux arm64版本。chmod 775然后./一装,插上rsp1b,最后sudo service sdrconnect start,直接就会在50000端口监听。
端口转发:自然就是转发50000端口(both)就是,ip就是r4s的ip。
客户端连接:
ip/hostname就是刚刚搞好的域名,端口50000,test一下,刷新一下,现在开始拍:)
需要主要的是,sdrconnect会分iq跟audio的输出。公网条件基本只能传音频audio,传输频谱的iq模式需要的带宽惊人。
跑fm的话要30M+的带宽,就算是短波广播也是数M计。
基本上就是这样了。因为感觉是备忘的作用,所以感觉写得也不算是教程,比较潦草。_(:з」∠)_