如何用200元打造一个超小型的家庭服务器?
1 引言
随着在张大妈上面的时间越来越久,捡垃圾的频率也是越来越高,乱七八糟的设备,甭管有用没用都买了一大堆
今天这个设备,主要来自于之前所购买的一个香橙派的zero2。看过之前文章的应该知道,笔者选择这类设备的时候,处理器性能是一个方面,但是usb3.0或者千兆网口就必须得有那么一个。当初所选择这款设备的一个主要原因,还是其是目前能够找到的最小且带有较全接口的一个设备了。
当然,如果说最小的话,这款设备肯定比不上其他几款设备,如最近较火的刷成armbian的基于高通410处理器的设备以及稚珲君的那款夸克设备。但是谈论到可用性乃至易用性,目前最小的还是这款香橙派的产品,且相对于友善或者rockpi等产品,这款性价比还是最高的了。
以下贴图展示一下体积,以airpods pro作为参照。从左到右分别是稚珲君的那款夸克开发板、香橙派的zero2以及加上扩展板的无线上网卡。
当然,体积稍大一点的设备笔者手头还有基于RK3288方案的orangepi的r1 plus lts(可以作为软路由使用)以及nanopi r5s(支持软路由、安卓以及linux),大小对比如下:
那么为什么会选择这一款来作为本文的素材呢?主要确实是一款相对性能比较均衡且性价比相对较高、玩法较多的一款设备把。之所以说是200块钱呢,是因为这个还得加上散热装甲26元,以及一张tf卡,满打满算差不多200把。写这个的主要原因还有一点就是,之前写的那个rk3399的设备,总有值友说我在带货,说实话真的没有。此外,之前被吐槽的总是被买空,那这次来一个量产的产品总不会再有人说了把。。。。。
还是得声明一下,无利益相关,若是这么多设备都有利益相关的话,笔者早都发了不是。都是自己买回来捣鼓着玩的。
2 性能参数
关于接口方面,这款设备主打的就是一个极简,在保障基本使用体验的同时尽可能缩减接口,所以最后剩下的也只有一个usb2.0接口、一个千兆网口、一个micro HDMI接口以及一根wifi天线,至于其他的扩展屏幕的接口以及各类插针,笔者因为使用不到,所以也都没有特别研究过了。
在内存方面,主要有512M与1G的可以选择,笔者这里选择的是1G的版本。而具体的储存方面,则根据你自己所选择的tf卡的容量来选择了。
除此之外,这款设备还支持蓝牙5.0和双频wifi(这一点是我所没有想到的)。
这一款设备性能方面其实没有什么好说的,采用的是全志的H616芯片,属于H6同批次的产品,但是性能方面比H6又差上那么一丢丢,但是好在这一款是64位的处理器,能够支持的应用等范围就更广,不会出现玩客云受到32位处理器限制而很多docker应用不支持的情况。基本现有的arm架构能够支持的,这款设备都可以支持。
具体性能参数如图所示,当然,还是以S905作为参照,主要数据来源自gadgetversus:
由图可见,二者其实性能差距不是那么明显,H616确实是稍弱一点。但是换个角度来看,其实s905能干的活,h616也都能够胜任;而H616干不了的活,S905也不见得能干的了。
在视频解码方面,由于笔者并不是特别了解各种解码方式之间的区别,但是在字面参数上,这款处理器是能够胜任4K 60hz的视频播放的。
3 系统安装
3.1 安卓
目前这款设备支持的版本是安卓10的系统,安装方式与其他不同的地方在于,必须得用PhoenixCard来进行写卡的操作。镜像官网提供了下载,自行下载即可。
具体的烧写操作也比较简单,没有什么短接的操作,参照下图:
第一步,点击刷新盘符,找到你的sd卡。
第二步,点击恢复卡,格式化你的sd卡。
第三步,选择刷写的安卓固件。
第四步,勾选启动卡后,点击烧写即可。
待烧写完毕后,将卡插入你的设备,然后通过micro hdmi转接线连接显示器,就可以看到熟悉的安卓界面了。
3.2 linux
这部分应该就是最简单的了,打开balenaEtcher,选择好固件与sd卡,烧写,完毕后直接插入就行。
3.3 openwrt
这部分同上。
需要说明的一点是,笔者当时考虑到这款设备有着千兆网口,以及双频的wifi,拿来做软路由或者出差随身携带的一个小路由器也是非常方便的。
但是,香橙派官方对这款设备的定义并非是软路由,所以并没有提供对应的固件。因此,笔者私下联系了一下一个openwrt固件定制的作者,但是他所帮忙定制的固件并没有在这款设备上成功运行。所以此处暂时还是存疑的状态,期待这个后期能够有一个完美的解决方案把。
4 安卓系统的使用场景
关于安卓系统的使用,需要注意的一点是,笔者一开始使用的是一张很早以前的闪迪的8G的红卡,但是在使用的时候总是会有一些卡顿的感觉。后来就随便换了一张朗科的32g的高速卡,明显的提升了使用时候的流畅度,大家在选择储存卡的时候,也尽量选择读写速度较高的tf卡。
香橙派官方也提到了这个作为4k播放器的使用场景,并且也提供了对应的遥控器。笔者购买之后发现这个东西还是有一定问题存在的。
香橙派官方所提供的遥控器,一方面售价确实不便宜,19块钱一个遥控器,是一个红外遥控器。但是单单有一个遥控器还不能使用,必须得购买价值9块钱的一个扩展卡才能支持红外遥控。而这个扩展卡与我所购买的这个散热装甲并不适配,装上去之后无法固定,一直就是摇摇晃晃的状态。结合到前几年所购买的香橙派zero,想要完整使用这一套,就必须还得再加钱购买一个官方或者第三方定制的亚克力外壳。依据笔者的使用经验,这个小家伙实际跑起来发热并不低,如果不是采用我买的这个散热装甲的话,散热方面还是堪忧的,尤其是针对长时间开机使用的情况。众所周知,发热会带来降频,会降低芯片的实际性能,而这要降频的话,可能就会影响到日常的使用体验了。
因此,笔者在某宝另外购买了一款带接收器的2.4G的万能遥控器,接上之后确实也是足够完全使用的。但是还是有那么一丢丢问题,就是返回键在主界面无法正常使用,但是在kodi里面又能一切正常了,不过价格只要15块钱。
抛开上面的不谈,这款设备在实际使用中,体验尚且一般。主要试了一下B站的电视端,播放确实能够正常播放,但是还是稍显卡顿。
此外,在使用kodi播放视频时,播放nas中电影的实测中,1080P的电影是能够流畅播放的。但是播放4K视频的时候却会非常卡顿,甚至无法播放,按照性能来说确实不应该这样,毕竟字面参数是支持的,而且差不多的S905依据一些up主的视频,是能够播放大小40g左右的4k原片的。为了验证这一点,笔者使用性能强上很多的RK3368处理器的设备,即上面提到的r5s,在实际使用kodi播放的时候还是会出现卡顿的现象。关于这点不知道是设备的原因,还是笔者设置的原因,如果有相关知识的大佬能够指点一二,还是不甚感激。
5 Linux的使用场景
这一点别的不说,香橙派支持的系统还是相对较新的,官方提供了ubuntu20的系统和debian10的系统可供选择,笔者所采用的是ubuntu20的那个系统。
此处涉及到几个问题,就是你想拿这个设备用来干什么?
笔者主要划分两个方面,一个是功能性输出,另一个则是娱乐性输出。但是具体说这两点之前,还是先说明一下初始设置问题。
5.1 基础设置
在成功刷写完镜像之后,通过typec供电,插上网线之后,在路由器后台找到这个设备的ip,通常显示为orangepi。
通过ssh连接这款设备,填上IP和用户名root,密码暂且不填,因为肯定是要改的。
1、修改密码
原生密码是orangepi,进入系统之后,输入如下代码,然后输入两次你想要设置的密码:
passwd
2、更新系统
更新系统,输入如下代码,然后依据提示来,如果需要确认的地方输入y然后回车:
apt update
apt upgrade
3、安装docker
sudo apt install docker.io
4、挂载硬盘
这一步主要针对需要使用到usb2.0接口的情形,如插一个硬盘跑cdn服务,或者做一个轻型nas,部署自己的图床、网盘的友友们。如果没有这么个需求,那么直接跳过这部分不看即可。
这部分信息来源自前人的教程。
查看系统所检测到的磁盘(此时应该插上硬盘),输入如下代码,记录你所插入硬盘的盘符(根据容量):
lsblk
在根目录新建一个目录用于挂载硬盘,命令如下:
cd /. //进入根目录
mkdir mnts //新建目录名为‘mnts’ 可用'ls'查看
挂载新增的磁盘sda1(即对应硬盘的盘符,此处根据自身情况进行修改),所有新增硬盘都在/dve/目录下
//后面的都是注释,输入的时候删除//以及后面的部分
mount /dev/sda1 /mnts/ //挂载到 mnts
cd /mnts/ //进入挂载的硬盘 'ls'查看内容
设置开机自动挂载:
这条命令可以显示硬盘信息,并记下UUID,为下一步做准备,这里以sda1为例
blkid /dev/sda1
修改 /etc/fstab 即可。在 fstab 最后添加这行:
nano /etc/fstab
添加信息
UUID=722059EC2059B835 /mnts ntfs defaults 0 0
最后保存并应用, 则成功自定挂载,开机也会自动挂载(注意:这里只对只一个硬盘有效)
mount -a
5.2 娱乐性输出
由于设备性能与接口的限制,如果想用jellyfin或者emby确实有点强人所难了。所以这里只能是展示一下部署alist挂载网盘,再通过webdav的方式转发出去,让手机或者电视可以通过webdav的方式访问网盘内的内容。
创建一个目录,以后docker的内容都可以保存在这里,方面后续管理。
cd
mkdir docker
docker run -d --restart=always -v /docker/alist:/opt/alist/data -p 5244:5244 --name="alist" xhofe/alist:latest
查看alist密码
docker logs alist
docker exec -it AList ./alist -password
部署完成之后,可以参照这篇文章进行挂载操作。
本人还是推荐挂载夸克网盘,毕竟6T容量,还是88会员赠送的,不用白不用嘛不是。
挂载完成之后,如果是电视端的话,直接使用kodi链接webdav,如果是安卓或者苹果的话,可以用nplayer进行连接。如果是电脑端,那就通过raidriver来进行挂载,相关的文章已经有很多,不再赘述。
5.3 功能性输出
此处可以实现的东西其实就不是一篇文章所能够完全讲完的了。笔者之前也写过pritransfer等工具的部署,但是好像反响平平。因此这篇文章只打算讲一点笔者日常用到的东西,希望能够起到抛砖引玉的作用把。
1、ddnsgo
之前有写过如何用python去实现有公网ip的友友么怎么通过ddns实现内网穿透的文章,但是相对来说实现难度还是有那么点高,因此这里就简单的贴上如何部署,具体如何使用的话还请翻看站内更加相关的文章。
docker run -d --name ddns-go --restart=always --net=host jeessy/ddns-go
设置界面直接浏览器打开:主机ip地址:9876
2、搭建一个最简单的webdav
目前很多软件的同步都需要使用到webdav,如果想实现一个最最简单的网盘,自行搭建一个webdav即可。笔者日常都是使用obsidian进行记录以及收集信息的,这个软件就可以通过webdav实现在不同设备之间进行同步笔记。同理,joplin也是支持webdav同步的。
如果数据量比较小的话,比如说仅仅是同步笔记啥的,那么tf卡的空间就足够使用了;但如果想要实现一个简易网盘的话,那么还是自行插上一个硬盘把。
需要修改的部分值友password这一块,改成自己想要的密码即可。由于这款设备是arm架构的设备,因此最后选择对应的arm版本的镜像即可。
docker run --name webdav --restart=unless-stopped -p 811:80 -v $HOME/docker/webdav:/media -e USERNAME=admin -e PASSWORD=xxxxx -e TZ=Europe/Madrid -e UDI=1000 -e GID=1000 -d ugeek/webdav:arm
搭建完成后,可以直接通过IP、端口、用户名、密码这几个参数进行挂载。如alist那里所介绍的,可以在不同的设备上进行使用。
3、搭建一个自有的远程控制中转服务器
处针对的是之前rdp说不安全的情形,借用的rustdesk平台,此处代码参考网络,部分路径需要根据自己需要自行修改。
# 新建文件夹 restdesk 和 子目录
mkdir -p /docker/rustdesk/{hbbs,hbbr}
# 进入 restdesk 目录
cd /docker/rustdesk
# 运行容器 hbbs
docker run -d
--name rd-hbbs
--restart unless-stopped
--net=host
-v $(pwd)/hbbs:/root
rustdesk/rustdesk-server
hbbs -r <relay-server-ip[:port]>
# hbbs 示例
## relay-server-ip :为群晖主机 IP
## port 默认为 21117 , 没改的话可以不填
docker run -d
--name rd-hbbs
--restart unless-stopped
--net=host
-v $(pwd)/hbbs:/root
rustdesk/rustdesk-server
hbbs -r 192.168.0.197
# hbbr 示例
docker run -d
--name rd-hbbr
--restart unless-stopped
--net=host
-v $(pwd)/hbbr:/root
rustdesk/rustdesk-server
hbbr
然后通过frp或者ddns将21115-21117端口转发出去,然后在软件中设置一下中转服务器等信息,只需要填入域名或者公网ip即可,被控端与控制端都需要设置。
4、其他
上面的主要都是一些笔者验证过的应用。还有很多需要自行验证是否可以在arm设备上运行了。
推荐的还有网盘应用seafile,此处不推荐nextcloud,因为过于臃肿而且运行速度过慢。
如果是使用markdown笔记的用户,如joplin或者obsidian等,那么还是推荐建立一个自己的图床应用。此处需要更正的是,不再推荐easyimage这个docker应用,原因就是性能有点低下。推荐使用cheverto,支持同时上传大量图片。但是需要注意的地方在于,这个软件没有验证过是否可以在arm设备上运行,还需要值友们自行验证一下。后面可能开文慢慢说一下cheverto在x86环境下的部署。
其实还有很多很多很有用的应用,如笔者正在使用的bitwarden密码管理应用,广告屏蔽应用adguard,还有魔法应用等等,这个需要大家自行去探索了。
6 总结
折腾的路上总是充满着乐趣的。这款设备相比cm311可能并不是最便宜或者玩法最多的,但是易用性以及可玩性相对来说还是可以的。在拥有千兆网口的设备里,玩客云处理器架构过于老旧,而n1价格相对来说也不算便宜了。但是这款主打的就是极小的体积,带出去使用也不算什么障碍。设想一下,出差的时候想用一下看视频,完全可以刷成安卓应用,即便4k在硬件层面无法实现(此处存疑,前面有说过),看看1080p视频也可以。如果是做成linux的话,可以实现随身带着走,一根c口的充电线就可以供电;由于自带wifi,即便不带网线也是可以正常工作的。
在200元以内的价位里,拥有着极小体积的设备还是强推这款。虽然比不上稚珲君那款夸克(体积更小而且自带屏幕),但是相对充足的接口还是足以满足大家的需求的。不是所有人都需要超强的性能,也不是所有人都有着短接刷机的超强水平。刷一张卡,插进去就用,可能比起其他设备更加适合大家把!
最后还是希望大家使用愉快!
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~












值友1573653948
校验提示文案
神奇萝卜
校验提示文案
值友5058581406
您上面发的那些代码是哪种语言?
需要了解单片机相关的知识吗?
校验提示文案
哈利波特别特别大
校验提示文案
哈利波特别特别大
校验提示文案
值友5058581406
您上面发的那些代码是哪种语言?
需要了解单片机相关的知识吗?
校验提示文案
神奇萝卜
校验提示文案
值友1573653948
校验提示文案