插件

这件事外观看起来是一个社会公平性问题,实质上只需要结合一些常见的现象来看就很明白:某人有体臭,旁人忍受不了而戴了个香囊。某人一想,你戴香囊不就等于告诉大家我有体臭了吗?于是约谈之。当然,谈话过程中是不会说自己有体臭的,只好扯些“戴香囊影响了别人”之类云云。

小论家庭太阳能发电的可能性

有人问我太阳能电池板的最大理论效率是多少,我就稍微计算一下。
首先是维基百科上的一些数据。
太阳发光功率 3.846×10^26 W
日地距离:1.496×10^11m
地球轨道的戴森球面积=4*3.14159*(1.496×10^11)*(1.496×10^11)=
2.812*10^23平方米
假设太阳是均匀发光的,地球轨道上每平方米接收到的最大日光能量为1368瓦。
考虑到大气的遮挡以及不是所有地方都是太阳直射的,太阳能电池板的典型最大效率应该为每平方米500~1000瓦左右。考虑到太阳能电池的效率还不高,每平米能输出300瓦应该很不错了,刚好能带动一台台式机。
如果想通过带动汽车可能是不太可能的了,小汽车的功率动则几十千瓦。汽车所有表面能提供的功率连个零头都不够。这就是为何你看到的太阳能原型车都是又轻又小的原因。
那么家庭太阳能发电能否供给家庭需求呢?
如果家住阳光充足的地区,又不是公寓房子,在屋顶全部装上太阳能电池板应该能供应一家白天的电力需求。如果有50平米的屋顶用来作为太阳能发电用,假设一天的日照产生的能量相当于四小时的最大日照。那么一天能够产生60度电,对于一家人来说应该很够用了。问题是太阳下山以后怎么办?
对于晚上的供电问题,使用蓄电池是一种效率不高的方法。但是其它在电厂广泛使用的方法也未必有效。抽水蓄电?如果住的地方足够大,可以考虑抽水蓄电。如果建一个储水量125吨水的水塔(5mx5mx5m),高度为十米,大约能存3.4度电,只够勉强使用,还不考虑到水力发电过程中的损耗。更加高级一些的办法是熔盐储电,不过可能这就不适合DIY了。当然125吨水的水塔大约也不适合DIY吧?其它方法还包括把水加热到一百度,然后在晚上通过加热沸点更低的物质发电。通过提升比水更重的物质(比如铅)来提高储能效率。不过这些东西中哪样听起来都觉得不该出现在你家的院子里。
所以发电并不难,难的是怎么储存住这么多能量。储能是如此的困难。我见过的最佳储能物质就是变形金刚用的能量块。这玩意无时无刻不在提醒人类我们的科技水平还多么的初级。
更合理的办法应该是把白天发的电输往本地的储能厂,然后在晚上储能厂把电送还给你,当然是收取一定费用的。储能厂当然很喜欢这个模式,因为买太阳能电池板绝对是一种赔钱买卖。如果家庭太阳能发电真的普及的话,白天的电能会变得很便宜,便宜到你的邻居都想把电白送给你。而晚上的电还是很贵。当然如果一连十几天阴天的话,你就看着智能电表上的单价蹭蹭往上蹿吧。
所以家庭发电什么的还是算了吧。如果家里有个大天台,种点花花草草的应该是不错的选择。

紧凑型卧室媒体中心remake — 扩展篇2

自己DIY如果想不浪费钱,就不能一次买一堆零件来试。每次都是试验好一个部件以后再思考下一步需要什么,该怎么做。很多时间也用来等待购买的零件到货。不过这也是DIY的乐趣之所在,如果零件没到,或者工作太忙,或者没有好的想法,就可以把DIY的东西放下一阵子。只是如果不想一放下就不想再拿起的话,大概的最终目标还是要的。

上次说到为了通过单个电源给系统供电,还需要一个DC-DC。在淘宝上找了个外观看起来还不错的。12v转5v,这样通过一个12v电源就可以同时为系统提供12v和5v的电压了。

还需要为全频单元找一个音箱。因为3寸单元低频量感会不足,所以我选择了迷宫结构的箱体。所谓迷宫箱,就是在音箱内部折叠了曲折的声线,以达到增加低频谐振,提高低频音量的能力。我对hifi没什么研究,看见有人说这个好,就来尝试一下。

我这个箱子的开孔位置跟正常音箱的位置不同,而且只要一个,所以需要订做。大约一个礼拜后收到货了。这个就是箱子的外观。迷宫箱有两种工艺,一个是正常的箱子在内部用板材隔出声线形状。还有一种是将板材用切割机切割成剖面形状,粘合在一起后两边装上侧板。我比较喜欢后面这种工艺,结构看起来比较牢固,声线转弯的地方也可以圆滑很多。当然用料比前者也大大增加了。这样一个12cmx20cmx20cm的空箱子要99元。

这个音箱背板没有留接线盒的位置,而是把接线孔开在了单元仓的正上方,之后功放板会放在音箱上面,这样功放板到单元的线路长度达到最短。音箱内部的声线也少了单元线的干扰。这是我个人认为音箱的最佳开孔位置。

音箱内部的样子,和普通音箱不同,迷宫箱内部是曲折的空间,所以有迷宫的称号。

把单元放上去看了下效果,还挺不错。音箱的外观略显粗糙,还需要慢慢打磨。这个系统我打算给它起名叫”Cyclops”

Cyclops的图片,看看是不是有点像?

把树莓派和外围部件在箱子上边摆放了一下,大致的布局是这样的。布局还需要仔细调整一下,因为将来还有一个灯光效果要加在系统里面。5V DC输出连接在树莓派的USB口上,这样可以同时给树莓派和USB设备供电。实测下来树莓派的供电电压要稳定得多。

把系统接好以后,发现一个问题。Raspberry Pi的模拟输出效果不太好。开始播放的时候喇叭会“砰”一声。挖了论坛后发现树莓派的模拟音频输出精度只有11bit,而且还有输出电平匹配的问题。论坛上的意见都是不要用树莓派的模拟音频。于是我打算入一个usb dac。在比较了现成的usb声卡和usb dac两种方案以后,我决定还是使用基于PCM2704的usb DAC板。于是又进入了下单后的等待期。

BOM小记

Raspberry Pi: 350

无线网卡:69

TF卡:30

遥控器:99

USB电源线:8

开关电源:99

喇叭:56

功放板:21

DC-DC:7

迷宫全频音箱:100

线材:10

—-

合计:849,眼看就要超过一千大关了,我会尽量控制在一千以内的。

紧凑型卧室媒体中心remake — 扩展篇1

我的目标是紧凑型卧室媒体中心,所以紧凑是核心概念。总的来说,有以下几点要求:

1. 外观紧凑,紧凑不仅是指体积,同时也指外观应当呈现一个唯一的可搬动的物体的状态。不希望像现在这样声卡,网线,喇叭,usb红外等几个部件拖在外面的情况。

2. 没有不必要的连接线,外观上只有一根电源线连接到媒体中心,别的连接线全部没有。

3. 功能部件紧凑,不存在多余的部件。

4. 可以适当扩展增加视觉效果。

综合起来媒体中心的核心应该是综合喇叭,功放,电脑的一体式音响。电脑和音响做成一体,有利于内部走线。同时因为有处理器芯片和Linux操作系统的支持,功能的可扩展性也远远大于市售的插卡式音箱。可配置性也比市售的无线媒体音乐中心要灵活得多。当然,主要还是可以按照自己的需求进行配置,不用局限于市售系统预先搭配好的配置和功能。

首先就要开始搭配核心的音响系统。我选择了单声道输出,因为如果选择双声道的话,要追求音场就得选择分离式双箱体设计,这样结构上的紧凑性就无从谈起。要是采用单箱设计的话,箱体结构就是一门高深的学问,急切间学不来。而且对于卧室音箱的几个常见摆放位置来说,单箱体根本就无法提供合理的声场。不如还是采用单声道输出来得简单一些。

打定主意以后就开始了部件的采购工作,因为采取了单声道输出,所以这部分的成本也就减半了。首先购入了20w数字功放板,3寸15w全频喇叭,和12v4A开关稳压电源。

20w数字功放板。选择D类功放板主要是因为效率高,热损耗小。恰好找到这个单声道的功放板就买下了。这块板本身还支持外部信号控制开关,这样的话也可以在不播放时关闭喇叭防止底噪。效果不详,因为不知道是用什么芯片做的所以也没有资料可查。这个功率级别的功放板都不贵,有兴趣的也可以找一些模拟的功放板来搭建自己的系统。有些功放模块还是颇有口碑的。可惜我这块被磨掉了,看不出来。

三寸全频喇叭,在淘宝上找了个销量高的就下单了。我对音响远远没到发烧的级别,所以对单元的选择就比较随意了。选择全频喇叭主要是因为单个单元无需分频,连线和设计都很简单。像我这样的音响门外汉,少一个部件就少一个搞砸的机会。3寸15W4欧姆,这个功率不算大,但是对付卧室听一点睡前音乐足够了。全频喇叭的低音比较欠缺,但是可以通过箱体的选择弥补,这个稍后再提。

12v4A开关稳压电源,这个用来做媒体中心的总电源。计划中树莓派,喇叭,照明等都通过这个电源来供电。48W的功率应付这些需求足够有余了。

接下来是组装电路。把一根3.5mm对录线剪断,两个声道合并起来焊接在功放板的输入端。

功放板的喇叭端,电源端各连出引线。测试没有短路和断路以后和电源喇叭分别连接起来,音频接手机,接上电源以后试着播放一个mp3,一次性推响了。喇叭的声音听起来还不错,没有怪声发出。底噪貌似也没有。

下图是测试用的电路,功放板上有两根线未连,那是用来做外部控制的。如果系统装好后发现有底噪,那么不放音乐时就要通过这个端口来控制关闭功放电路。

接下来就要寻找音箱箱体了,同时为了能够通过单个电源给系统供电,还需要一个能输出5V的DC-DC,请等待《紧凑型卧室媒体中心remake — 扩展篇2》

BOM小记:

Raspberry Pi: 350

无线网卡:69

TF卡:30

遥控器:99

USB电源线:8

开关电源:99

喇叭:56

功放板:21

———————-

总和:RMB732

LED光谱研究

最近看到了一种LED中蓝光成分对眼睛有害的说法。说起来这种说法是有一定科学依据的。因为人眼对蓝光相对不敏感,所以对于高亮度蓝色光线相对不容易受到刺激。另外蓝光的波长大约在400-500nm,属于高能量光线,和紫外线一样潜在具有对生物体造成伤害的作用。

但是存在科学依据并不代表在科学上就是正确的,否则科学家发论文就不用拿实验数据,只需要把自己的科学依据讲一下就行了。所以白光LED中的蓝光成份究竟有多大,还是应该通过实验来做一下。

上淘宝搜了一下,能分析光谱的仪器价格基本都超过一千,贵的上万。所以只能找简单的定性工具,至于定量测定,还是只能上网查文献。

这个就是探测用的教学用分光镜,没有电源和刻度,只能做定量分析。

先观察一下白炽灯,连续光谱,蓝色成分特别低。灯光颜色本来就是黄色的。

节能荧光灯,光谱是离散的。蓝色端有一根亮线。红绿成分比蓝色高很多。

白色LED,光谱也是连续的。蓝色端并不特别亮。红绿比蓝色亮一些。

结论,没有确定性的结论,但是以下几点可以参考:

1. 直视光源对眼睛总是潜在有害的,应当避免直视光源。

2. 在室内的照度下,反射光的强度应该不太大。

3. 避免使用纯蓝色的光源,眼睛在自然条件中很少有机会看纯蓝色的光,所以调节保护能力可能有限。

紧凑型卧室媒体中心remake — 复刻篇

前一天下了单买Raspberry PI,第二天傍晚就到货了。魔都的快递还是很快的。当然我也很快,拿出在前一天已经准备好系统的SD卡,插进树莓派的SD卡槽。接上键盘,网线,电源。五分钟不到已经进入archlinux系统那熟悉的界面了。

体积比安卓电视棒略大,整个系统全部在SD卡上。对我来说方便了不少。为了刷安卓电视棒的系统,装驱动找adb连接接口花了我两天的业余时间。给这个树莓派装系统,连下载系统映像大约总共花了一小时的时间。

我选择了Arch Linux ARM版。这个发布用了很久已经很熟了。

花时间配置了一下sshd,接下来就可以拔掉HDMI线进入headless mode了。我并不需要这块板的视频输出,至少现在不需要。通过ssh连接系统进行配置也方便查资料。

网上有不少用raspberry pi搭建音乐媒体中心的文章,不过这些文章我都不想参考。Linux的音乐媒体中心方案基本都差不多,核心都是music player daemon,外围加上一些手机控制什么的。我的第一阶段目标是复刻原来卧室音乐媒体中心的功能。所以只需要把原本的系统配置都拿过来用就行了。

软件方面,第一步是配置声音,安装MPD。第二步是安装一些声音播放小工具,配合我自己写的脚本实现语音报时,天气预报等功能。

等音乐文件都复制过来以后,就可以通过mpd播放,音乐播放器的核心基本就成型了。

接下来是配置samba,共享一个音乐文件目录出来,方便往里面加音乐。

然后是复刻原本的红外遥控器,把红外遥控器从原来的媒体播放器上拔下来接上。配置好驱动以后把原本的控制脚本拷贝过来就能通过遥控器操作了。这个媒体中心设计为通过遥控器进行操作,毕竟软件方案修改设计要方便得多。

然后是无线网卡,树莓派本身是有一个有线网口的。但是要插网线的话就限制了系统的移动,所以无线网络功能在复刻阶段就准备加进去。

安装无线网卡遇到了一点小问题,linux现在还没有这个网卡的驱动。我只好把网卡外壳拆开(买来还没几个小时啊),直接看网卡的芯片。发觉是RTL8188cus的。但是vendorID和productID没有被辨认出来。上Realtek网站下载了驱动源码,找到vendorID相关部分,把这块网卡加进去。重新编译驱动并安装,无线网卡很快被认出来了。

配置wireless连接和红外遥控器花了我更多时间。虽然Archlinux跟我是老朋友了。可是Arch认识了systemd这个新朋友。说实话systemd比起rc.*来说真心难配置,特别对需要自己写启动脚本的人来说。搞了整整两晚上终于弄好了。

配好这两样以后复刻媒体播放器的软硬件配置就完成了。拔掉已经没有用的HDMI和网线,插上耳机线,一个可用的系统就成型了。以下是成品,当然还需要找一个壳子装起来。但是现在还不着急,因为复刻的目的是为了对现有的功能进行扩展。请期待下篇《扩展篇》

PS: 一不小心插错根线,意外的发现树莓派可以通过USB口直接供电,这样就多一种方法突破200ma电流限制了。不过现在还不着急弄,因为下一步的重点是GPIO…

 

BOM小记:

Raspberry Pi: 350

无线网卡:69

TF卡:30

遥控器:99

USB电源线:8

———

复刻成本:RMB556

紧凑型卧室媒体中心remake — 谋划篇2(一个意外)

项目刚开始就遇到了一些小小的挫折,安卓电视棒买回来了。但是买之前没有好好做调查,买了RK3066的系统。买回来之后才发现Linux对这个硬件平台的支持才刚刚开始出到pre-alpha版。而且只有一位热心的开发者在维护。到现在连板载wifi还没有完全搞定。进入Linux也需要先进Android再通过adb命令进入Linux。按照这位好心人的指引安装了Ubuntu Linux, 确实还不太稳定。在我的系统(MK806)上连桌面都进不了。对于希望能够让这个系统稳定的跑在Linux上的我来说,这样的社区支持是远远不够的。本想回头看看Allwinner 10的系统,可是转念一想,也许raspberry pi平台更符合我的需求:

优点

1. 社区很成熟,现在已经有debian和archlinux版本。社区讨论以linux平台为基础,比较容易获得帮助

2. 单一硬件标准,反过来电视棒市面上不同品牌五花八门,硬件也有微小的不同。我试过刷MK808的固件就会出现wifi认不出的问题。说明硬件是有一些区别的。

3. 平台不自带flash,完全通过SD card扩充。也不预装系统。本来这应该算缺点,但是对于需要频繁刷机的人来说,整个系统可以拔下来插PC上备份是相当的具有诱惑力,试验不同系统也十分的方便,多准备几块SD card就行了。更换SD卡也比重刷系统要方便得多。

4. 平台自带GPIO,所以简单的电子扩充可以不通过arduino。(我希望能够通过GPIO控制媒体中心的一些外设,比如按钮,led,液晶屏,音箱电源等)

缺点

1. 不自带wifi,所以如果需要wifi需要自己买usb wifi来扩展。而RK3066的系统本身就是带wifi的,这也是我一开始选择RK3066的原因。

2. 缺省频率为700MHz单核,性能略差一些。这对我来说不是太大问题。对于音乐相关的应用来说这个频率远远够了。原本的媒体中心是400MHz的MIPS,连浮点硬件都没有,也够用了。

3. 体积跟信用卡一样大小,比RK3066电视棒大一点。这不算是太大的问题,如果能够省下arduino,系统能做得更加紧凑。

这里有个链接比较了Raspberry PI和MK802,可以作为参考。当然RK3066的性能比MK802更高一些,如果对性能有需求也许会有不同的想法。

Raspberry Pi and the MK802 a Side-by-Side Comparison

下单买了raspberry pi,等到手以后再继续这个项目了。

RASPBERRY PI的部件图。

 

买回来的MK806电视棒。插在电视HDMI口上可以当一台小电脑用。

接上去就是一个android系统,用来当电视媒体播放器是一个不错的选择,但是得选择HD类的应用。

紧凑型卧室媒体中心remake — 谋划篇

原本卧室有一个linkstation NAS改的卧室媒体中心,实现音乐播放,闹钟,语音报时,天气预报,网络收音机的功能。这个媒体中心已经用了六年多的时间了,六年来伴随着我每一天的入睡和起来。但是随着时间的流逝,这个系统的缺点也悄悄显露出来:

1. 内核版本老化,能烧的kernel最高到2.6版,严重影响扩展能力。很多新的硬件需要高版本的内核,比如想自己扩展个无线网卡或者收音机模块什么的就不太方便。

2. 扩展能力有限,这个主要受限于内核版本。想要使用网络功能必须接网线。所以只能放在网线铺设到的地方而不能灵活的移动。

3. 依赖于pata硬盘,后来被我换成了笔记本硬盘,消除了噪音,但是机械硬盘噪音仍旧无法消除。

4. 没有显示屏,配置等等都要通过网络。

5. 整个系统为内置3.5“硬盘设计,不够紧凑。

当然这些缺点不是完全无法克服的,比如显示模块可以自己加,硬盘可以换成ssd的等等。这套系统继续使用下去没有任何问题。但是复刻一个新版本的硬件可能是更好的选择,并且带来更多的可能性。

原来的系统,红外遥控接收器在linkstation NAS的上面,后面还有一块USB声卡接着旁边的喇叭。所有外设功能都是通过usb线扩展出来的,所以系统外观显得比较臃肿,只能塞到角落里默默的服务默默的落灰。

 

复刻版的硬件需要有如下功能:

1. 系统紧凑,所有外设能够塞在一个外壳内。理想状况应该连音箱一起塞在外壳内。

2. 复刻原本的所有功能,包括音乐播放,闹钟,语音报时,天气预报,网络收音机等功能。

3. 不需要下载和网络存储功能。

4. 能够增加显示功能,能够在本机进行一些简单的设置。

5. 更多的可能性。

 

对于硬件的核心平台,考虑采用mk802方案。考虑这个方案因为以下几点:

1. 这个平台基于ARM,有更新的内核版本可以选用。

2. 系统高度集成,包括声卡,视频,无线网卡,存储等等,所以需要通过USB扩展的模块就少。

3. 硬件可扩展性相对比较强,有朋友自己增加摄像头或者连接arduino控制舵机等。

4. 性能高,功耗更小。毕竟差了六年,性能高了很多,功耗也一点都不差。

考虑分以下几个步骤:

1. 复刻 — 复刻原本系统的所有功能,实现基础软件平台

2. 扩展 — 扩展出显示,收音机等功能。外壳制作。

3. 可能 — 对一些可能性进行研究。

兼做NAS的离子平台媒体中心

这台媒体中心兼NAS是大约两年半前配的,到现在为止一直工作得很好。随着NUC 4×4平台即将上市,有点考虑要进行硬件平台的升级了,所以写篇文章纪念一下。

硬件篇

如下就是媒体中心电脑的样子了,电视柜左下角放置的是电脑主体。右边那格上边角落塞的是usb红外线接收器和无线键鼠接收器。另外有一个红外线发射器接在电视机上。

机箱内部配置

离子平台主板一块

内存两条4G,其中一部分分配给显存。

西数绿盘两块2T+1T

光驱无,有一个usb光驱需要时接上

 

机箱外部配置:

usb红外线接收器一个

无线键鼠

usb FM接收器

红外线发射器

喇叭一对,电视机一台

 

机箱用的是Shuttle K45准系统的机箱。话说这机箱并非刻意淘来,只是买回后用了不到两年主板就挂了,只得购买一套离子平台主板替换原有硬件。

下面就是系统的核心,离子平台主板。无风扇散热设计,通过一块DC稳压电源供电。有不少人关心离子平台性能如何。我用下来的感觉是除了flash卡以外别的都ok。只是我不看高码率原盘影片,所以这方面的性能不太清楚。

用了两年不到就挂掉的原主板(24×7开启),电容都鼓包了。原有的电源也吵死人。最夸张是机箱风扇,拆的时候发觉机箱风扇早就不转了。只得全都换掉,只留下原装硬盘一块。

USB红外线接收器是和这个遥控器配对的,就是普通的山寨媒体遥控器。

‘’

自制的红外线发射头粘在电视红外接收窗上,方便通过电脑遥控电视(主要是开关)。值得一提的是这根线的另外一端是连接在主板的PC Speaker针脚上,通过对PC Speaker编程完成红外线发射。

USB FM接收器,可以让媒体中心兼具播放广播的功能。左边这根线就是红外发射器的连接线了。

FM天线,为了更好的收音效果不得不连了根很长的天线。

功能篇

要配置一台满足需求的媒体中心,首先就需要考虑需要让它完成什么功能。我这台电脑有些辅助功能是慢慢建立起来的(比如FM广播),但是主要功能必须在搭建系统之前就确定:

1. 文件共享

2. 下载机

3. 电影播放

4. 音乐播放

5. 重要文件定时备份

6. 红外遥控

7. 调频广播

8. 网络视频观看

9. 日间整点半点三五座钟报时

在搭建htpc前,最大的考量,就是要不要让媒体中心机的功能和文件服务器+下载机分开来。这回决定你是配一台电脑还是两台电脑,也会决定你配电脑的思路。因为NAS需要24×7开启才方便不同家庭成员随时随地访问,所以能耗和静音成为第一考虑因素。相反媒体中心则要求性能足够播放主流媒体文件,性能不能太低。所以把两部分的功能做在一台机器里也是需要仔细进行平衡的。我曾经也是文件服务器与媒体中心分开,用一台单独的嵌入式NAS来存放文件和下载,但是最后还是选择了两者合一的方案,主要考虑有以下几点:

1. 两套系统维护起来要比一套系统需要更多的时间和精力。

2. 嵌入式NAS作为文件分享没有任何问题,但是当用来做下载机时偶尔还是有吃力的问题。

3. 媒体中心访问NAS的文件需要通过局域网,又多了一个不稳定的因素。

一旦决定了合二为一的配机思路,那么主要的考虑就是能耗和性能间的平衡了。我原本用浩鑫的准系统,结果并不理想。机箱虽小但是很吵。后来主板挂了后换成离子平台,总算在性能,能耗,静音等方面都满意了。

电影播放不用说,有很多现成的解决方案可以用。但是到音乐播放,就关系到需不需要每次都开电视或者开远程桌面了。这两个都是很麻烦的,所以我选择的是不需要开电视或者远程桌面的musicpd 解决方案,只要按下遥控器的播放钮就能播放音乐。为了能随时听音乐,我选了有源音箱并且24×7开启。虽然牺牲了一些音质,可是也免去了维护一套功放的麻烦。

调频广播也是很有用的一个功能,如果有自己喜欢听的音乐台,就可以直接通过媒体中心收听,不需要再搞一台收音机了,音质也还说得过去。另外我也希望广播内容可以转化成局域网里的流媒体,方便在其它房间通过其它设备(如手机等)收听。

网络视频观看就更有用了。原本这个系统是没装浏览器的,后来家人说想看综艺节目,就装上浏览器可以随时看网络视频。没想到这个功能成为了热门功能。毕竟媒体中心只用来看电影有点浪费,常常看综艺或者电视剧后,使用率就相当高了。

日间整点半点三五座钟报时是属于比较怀旧的功能,小时候家里有台三五座钟,每过半个小时都会报一次时。装了媒体中心后就设定让它整点半点敲一下。有时白天在家枯坐的时候也有种时间流淌的感觉。当然这个功能夜间是自动关闭的,免得打搅美梦。

重要文件定时备份这个功能实在太重要了,我曾经一块硬盘做文件服务器裸奔了很长时间。后来又买了一块2T硬盘后,原本的1T就拿来备份系统分区和重要资料比如照片什么的。有几次操作系统升挂掉或者误删照片什么的,就是通过备份找回来的。

实现篇

确定好需要的功能后,接下来就是寻找适当的软件来完成这些功能,首先要决定的是用什么操作系统。

操作系统:Archlinux

选择操作系统有很多讲究。我选择Linux系统的原因最主要是它是免费的;其次Linux上面免费软件特别好找,不像Windows,得靠订阅各种博客,看各种论坛,日常积累各种信息才能了解主要软件的免费替代品;再其次Linux上大多数软件都是开源的,有时候某个功能实在没有也能把代码改改搞出来。

Linux的可配置性也相当高,当然我相信这方面Windows应该也不差。Windows的高手自然会选择Windows作为基础平台。

值得自夸一下的是,虽然换过一次硬件,甚至连硬盘都换过,但是我的操作系统整个四年没有重装过。Archlinux在升级方面表现极佳,只需要一个命令就能随时升级到最新版的内核和软件版本,使用最新的软件功能。四年始终使用最新的操作系统并且不用重装,这点Windows是很难做到的。这点对于一个高度定制的媒体中心来说是很重要的,谁愿意没事重新配置一大堆功能呢?

媒体中心软件:XBMC

媒体中心软件毫无疑问的选择了XBMC。流畅的菜单体验,强大的插件功能,开放的控制接口,多平台支持,加上针对Nvidia的图形加速支持,XBMC是媒体中心软件的首选之一。我原本用Freevo,试用了XBMC后立马就转换到XBMC上了。关于XBMC有多好就不多谈了,网上资源到处都有。需要提一下的是我把XBMC直接配置成桌面,所以系统启动后直接全屏进入XBMC,不使用任何窗口管理器。

文件共享:Samba

文件共享则使用了Linux的标配Samba。配置好后Windows机可以通过网络邻居直接看到文件服务器的目录。如果是windows机的话,直接分享目录即可。

下载机:MLDonkey和Transmission

下载方面我以前一直使用MLDonkey下载VeryCD上的文件。这个软件可以下载多种协议,支持后台执行,支持web管理,同时也方便通过脚本交互。我曾经写过个脚本订阅VeryCD上某些专题页面,一有新链接放出就立马自动下载。可惜后来VeryCD大多数资源就不再提供了,这个软件也就偶尔应急用了。

后来开始用BT,就选择了Transmission,这个软件同样支持后台执行,也支持文件管理。更加方便的是可以配置一个文件夹,种子丢进去就自动开始下载。我把这个文件夹共享出来,这样就方便在Windows下面下载种子了,只需要保存到这个共享的文件夹里就可以。

文件定时备份:rsync

关于文件备份不同人有不同的策略,有人用raid热备份,有人用定时备份。我选择定时备份到专用的备份盘中。

这样选择,主要原因是raid需要两块一模一样的硬盘。这样如果需要升级磁盘容量,就需要购入两块一样的硬盘,开销无形中增加了。

另一个原因是raid没有历史记录,如果误删文件或者文件系统是无法回滚回去的。定时备份在时间上的延后性却解决了这个问题。我把备份时间设定在凌晨四点,只要不是在这个时刻误删文件,只要及时发现,还是能救回来的。我有一次升级的时候不慎把系统分区升挂了,还有几次不小心删了照片,就是通过备份文件系统找回了文件。在这里给大家提个醒,NAS一定要每天备份,免得到时后悔。

下面是备份用的两个脚本,第一个脚本将系统分区每周打一次包存到数据分区中,可以保存最近四周的四个系统分区备份。第二个脚本每天一次将数据分区备份到备份盘中。将这两个命令加入到crontab就可以每天定时执行了。如果有多个备份盘,也可以考虑将数据分区双备份或者分别备份一天前和一周前的数据。

rsync的使用非常容易,支持增量备份,所以不需要担心每次备份都要花很久。

音乐播放:musicpd

XBMC自身也带音乐播放功能,但是我使用的是musicpd软件,这个软件的特点是全后台运行,通过客户端进行控制。所以可以不用开电视就能操作。我一般是把播放功能映射到遥控器的几个按键上,通过遥控器就能控制播放,所以是完全不需要图形界面的。如果真的需要图形界面,也可以在Windows上安装gmplayer远程操作,界面如下。手机客户端可以配置后通过web操作。

红外遥控:自己写驱动(或者直接使用系统设置)

现在linux对usb遥控器都有很好的支持,比如我用的这款支持mceusb IR标准的遥控器,插上就能认出来,并且可以直接控制XBMC。不过我刚开始搭系统的时候,linux对usb红外遥控器的支持并没有这么完美。所以我自己写了个用户态小驱动,读取usb状态并且完成相应动作,同时操作对象也不止XBMC一项,可以操作的对象有:

1. XBMC界面

2. 收音机开始/停止/换台

3. musicpd播放/停止/换专辑

4. 开/关电视机

代码太长,而且对系统环境的针对性太强不具有通用性,就不贴出来了。现在linux对红外支持已经好了很多,这些功能应该都能通过lirc配置出来。

关于红外遥控还有一个需要达到的功能,通过红外线发射器控制电视机开关或者切换信号源。如果你使用的是学习型的遥控器,那么这一步可以略去。但是我的遥控器不是学习型的,所以我自己买了红外线led,DIY了一个红外线发射器。

接在pcspeaker上也是忽发奇想,pc speaker就是PC机开机时会“滴”一下的那个小喇叭。这个喇叭接在主板上的pcspkr引脚上。在这个引脚上输出的是0~5伏的一个方波。方波的频率由寄存器控制,正好满足红外遥控38kHz的发射要求。同时对外围电路要求很低(一个电阻搞定),正好适合我这样电子线路不行的人。

程序如果有人有兴趣的话再贴出,同样需要针对家里的电视机型号进行修改。如果嫌麻烦还是学习型遥控比较方便。

调频广播(自己写程序)

调频广播我用的是市售的pcear usb调频收音机,就是在硬件篇中的那个usb棒。这是我用到现在以来最稳定的方案。在这以前也试过两种方案:

1. 通过调频收音机连接音频线输出至媒体中心,再由媒体中心播放。但这样就多一个设备多一个插座,换台也不方便。

2. 网络上有很多调频电台流媒体,但是受网络影响很大。因为不是正式的服务,所以有时候就突然没有了。

最终选择的方案直接接收电台信号,转换成数字声音流通过usb传入,这样信号比较稳定,数字信号处理起来也方便。

PCear在linux上是通过v4l2驱动。我在网上下了个fm广播程序,根据自己的需求改了下,可以完成播放和换台。收音机被驱动模拟成一块声卡,读取声卡的输入就可以得到广播内容。

读取到广播的声音流以后,还需要转化成网络媒体流,方便在局域网中点播。我使用的是icecast,下面这条命令就是通过arecord读取声音流,通过sox进行润色后,再传给icecast转化成网络流。

sox是一个声音流处理软件,我主要用来进行音量动态平衡。因为电台节目的音量会时大时小,通过音量动态平衡就能让音量始终保持在一个水平。如果家里收讯质量不好,也可以通过这个软件截去高频沙沙声,或者做噪声消除。

通过这样处理后,在家里的其它房间也能通过浏览器播放高音质调频流。我在卧室放了个小型流媒体播放器,这样临睡前起床时可以听一会广播。

网络视频观看(任何浏览器)

网络视频观看有两种方法,一是使用xbmc内置的插件。但是xbmc的网络视频插件并不太稳定,常常有某些热播剧集无法播放的情况,所以更多时候还是通过浏览器播放。

说到浏览器播放网络视频,这可能是离子平台的短板。现在大多数视频网站都是通过flash播放,可是flash在离子平台下就是慢慢慢。也许是Linux下flash对GPU加速支持不好的原因,CPU始终在200%以上。如果不介意看低清码流或者是幻灯片,浏览器播放还是不错的选择。否则也许插件播放更合适。这也是我打算升级硬件平台到NUC的原因。

日间整点半点三五座钟报时

这也算是媒体中心的趣味应用了。如果各位年龄足够大的话,小时家里总有一台钟每过段时间“当当当”的敲那么几下。现在的钟倒是完全寂静无声了。我曾经去店里面看过,复古式的落地钟怎么也要几千元才能扛回家。比较起来自己做一个整点报时也算是给家里增添了一些复古气氛。

你需要搞得就是自己中意的座钟声音档,再加上一些脚本编程就能搞定。这里需要考虑的是要根据系统音量来决定用什么音量播放。这样无论系统音量当时是大是小,座钟报时总是保持一个音量,不至于音量忽大忽小。

将来计划

将来计划是能升级到core i3级别的平台上,这样浏览器播放网络视频速度能得到保证。初步锁定NUC平台,无论从体积还是功耗上都比较合意。作为Linux系统,硬件的升级是比较容易的。不需要重装系统和配置。只需要拆下原来的硬盘插到新平台,再针对平台的差异配置下驱动就可以了。当然,事先做好备份很重要。

反思篇

最后说说我对软硬件DIY的一些反思。
以上这个平台是几年前搭的,受限于当时的限制,在一些地方使用了自己编写的程序。比如mceusb的红外遥控器在2005年时内核没有支持,所以就自己写了个用户态驱动,随后就一直沿用到现在了。红外线发射在软硬件上就更加独特了。

但是这些自己编程的部分也是后来投入维护精力最多的时候。因为希望能常常尝试一下最新软件(比如xbmc升级了),所以我的系统隔一阵子就会升级一下。有时候就会发觉升级以后程序就不好用了。有时候是系统接口发生了变化,这时候就得自己改下程序重新编译。这些工作都是很占用时间精力的,特别是有时本只是打算花十几分钟升级一下软件包,之后却发现因为需要维护自己写的程序,不得不熬夜到半夜。这些DIY的硬件也为未来升级平台造成障碍,比如新的主板都没有pcspkr接口了,那么通过pcspkr接口实现的红外发射怎么办?

我们在年纪尚轻的时候,往往有大把时间可以花在这些事情上。但是随着年龄的增长,许多时间由不得自己支配。所以DIY时要考虑到未来如果没很多时间维护的话怎么办。如果有天HTPC忽然挂了,你又有一个紧急的任务需要全身心投入怎么办?如果家人这时在追看某个剧集的话就只能干等着了。

我自诩配置一下系统应该不成问题,不过现在也尽量避免通过写程序或者定制硬件来满足自己的需求,尽量使用市售的标准化的软硬件解决方案。现有的写过程序的部件,也会逐渐通过空闲时间改成系统提供的方案。毕竟市售的方案都有一堆专门人员在那里维护可用性和互操作性,我自己却只是一个人,没法一直跟着维护自己写的程序。

我一直赞同通过DIY来满足自己对环境的需求,Geek们正是通过对环境的不断改造和完善把自己和常人区别开来。但是我也赞同如果有现成方案可以满足这些需求的话,应该使用这些现成的解决方案。DIY只是在现成的方案解决不了自身需求时所采取的替代办法。毕竟DIY是让自己生活变得更好的手段,这个手段是要耗费自己的时间的。自己的时间=生命。如果用钱能换生命的话,你愿意花多少?

珍惜生命,尽量远离DIY。

我只能说尽量了。