去年我们报道过25美元的微型电脑“树莓派”,最近雷锋网读者@googol4u二世 拿到了实物,并特别为大家写了一篇详细的入手报告,结论是:“很好玩”。
关于树莓派的背景介绍在网上已经很多了,在树莓派的官方网站上也有一个长篇大论。这里只是简单的列一下:
后来的故事大家也知道了,由于他成立了树莓派基金运作这个事情,宣称要做一个只有25美金的家用电脑,而且体积和信用卡一样大,可以接电视,可以播高清视频,所以一下子吸引了眼球,以至于订购的人刷爆了他的网站。
淘宝上很早就有了,但是有点贵,我也不想断了人家的财路,也不想在这里帮别人做广告,反正最后我是以35美金加中国的17%的增值税加较高的运费(从上海到广州要40块钱)买到的,到手的价格还算合理。订购后2个星期内到货。
整块板卡的做工不错,拿在手上确实觉得很小,SD卡的插槽有点粗糙,见照片。
可能为了节省体积,电路板上没有任何可以用来固定的螺丝孔,所以一定要等有人做出专门的外壳或者专门的架子才能固定,树莓派基金承诺今年夏天会推出外壳。电源接口是microUSB而不是miniUSB,和我的C8500的接口一样,个人感觉如果是miniUSB会通用一点。由于只有两个USB口,但是正常使用除了接键盘鼠标外,大部分人还是需要接多一个USB硬盘的,所以需要配合一个USB HUB来使用,而且这种板卡的USB口的驱动能力不会很强的,所以还必须是有源的USB HUB才能接大点的硬盘。
没有插SD卡,加电时除了电源灯之外,不会有任何的反应,HDMI没有任何输出,树莓派的说明书中提到可以通过串口输入命令,但是它的串口是通过那两排GPIO的脚的其中三个脚印引出的,而且是TTL电平的,必须通过驱动芯片才能和PC机的串口连接。
树莓派的官网提供了三个版本的镜像文件,还有无数第三方的镜像,由于是初次接触,还是用官网的Raspbian版本,因为是基于Debian的,所以Debian的一些命令和配置方法可以用得上。还要下载Win32DiskImager工具,用于在Windows下将下载的IMG文件写入到SD卡中。至于为什么把镜像文件直接拷贝到SD卡中是无效的,一言难尽,就和刻录光碟的ISO镜像要用专门刻录镜像的功能,而不能直接把ISO文件刻录到光碟上的道理是一样的。
在这里下载文件,然后把读卡器和SD卡插入计算机,运行Win32DiskImager,选择镜像文件和合适的盘符,如果原来机器上插有其他的USB硬盘或者SD卡,建议在做这件事之前全部拔掉,避免发生选错盘符,把整个USB硬盘资料全部洗掉的情况。
写入完成后,就可以把SD卡插到树莓派上,把HDMI线、鼠标、键盘、网线全部插上。
加电后,如果电源灯旁边的绿色的灯(OK)会闪动,就说明SD卡是可用的。这时如果HDMI连接好电视了,电视上就会开始出现启动画面了。
接着是熟悉的Linux启动界面,企鹅被替换成了树莓:
首次启动将出现系统初始配置的界面,这个界面在也可以在之后的终端窗口中通过sudo raspi-config激活。
由于在初始配置的界面上没有看到有网络配置的选项,所以建议在网络环境中一定要有DHCP,也就是能自动获取IP的网络环境。因为Raspbian的各种软件的安装是需要网络连接支持的。需要用到的功能说明如下:
设置完成后,选择Finish,会提示是否重启,选择Yes。
重启后,将进入LXDE的X-Window环境,反正都是有桌面图标和开始菜单,应该比较容易掌握使用。
一直令我很奇怪的是,即使你用Debian的安装光碟安装系统,如果你把Locale改成了中文的话,系统是不会自动安装中文字体的,直接的效果是系统的很多信息都用中文显示,但是由于没有安装字体,所以全部变成了方块,所以完全不知道信息的内容是什么, 这个作为系统安装工具我认为是有问题的,因为这样会直接造成系统不可用,基于Debian的Raspbian也有同样的问题。所以如果你在初始设置时,不小心把系统的Locale设置成了zh_CN.UTF-8,当你进入Raspbian的图像界面时,会马上傻眼了,不知道图标、菜单的内容是什么,因为全部是方块。所以建议初始设置时,locale尽量用en_US.UTF-8或者en_GB.UTF-8。启动后,双击桌面那个计算机显示器图标,出现提示符时打入:
sudo apt-get install ttf-wqy-zenhei
将安装文泉驿的开源中文字体,在这里向文泉驿表示致敬,貌似它是唯一一个开源的中文字体库。郭嘉有钱建孔子学院,但是从来不会有钱搞一套比较完整的开源中文字库出来的。
中文是可以显示啦,输入呢?Linux下早就有啦,叫SCIM(Smart Common Input Method ),所以只要输入:
sudo apt-get install scim-pinyin
就会安装拼音输入法,安装完成后,可以直接打入scim激活,下次启动是会自动启动的。快捷键也是Ctrl+空格。或者直接点击右下角图标选择。
接着运行:
sudo raspi-config
然后选择change_locale,在Default locale for the system environment:中选择zh_CN.UTF-8。然后重启机器,就发现整个环境变成中文的了。
标准Raspbian版本中支持树莓派的GPU的播放器好像只有omxplayer,是个命令行程序,没有界面的,也不能拖动。它有很多参数,最常用的是-o,选项有local和hdmi,表示声音输出到audio out还是hdmi,omxplayer后面跟着要播放的文件名称,不支持wmv,不支持外置字幕。打开终端窗口,出现提示符后输入:
omxplayer -o hdmi 文件名
也可以先用cd命令,将当前路径改变到文件所在的目录,文件名就不需要绝对路径了。其实大家会觉得命令行输入非常麻烦,但只要用Tab键进行命令补齐,用ls列出当前目录的文件,再配合鼠标选择文字,然后按中键(就是按下滚轮)进行连动的复制粘贴,即使没有资源管理器也会发现目录操作可以很快速的。
由于一般媒体文件都是放置在外置的硬盘中,所以这时需要将硬盘接入到USB口上,系统默认会在/media目录下创建和硬盘卷标一样的目录,并将USB硬盘挂接上去,之后就可以访问了。
测试的结果大部分用X.264编码的1080p视频都可以正常流畅播放。唯一一部无法播放的是:[魔术师和兔子].Pixar.Short.Presto.1080p.BluRay.x264.mkv。
这是《变形金刚3》的播放效果:
omxplayer的快捷键如下:
Key | Action |
1 | 加速 |
2 | 减速 |
j | 上一条音轨 |
k | 下一条音轨 |
i | 上一节 |
o | 下一节 |
n | 上一条字幕轨 |
m | 下一条字幕轨 |
s | 显示/不显示字幕 |
q | 退出 |
空格或 p | 暂停/继续 |
- | 减小音量 |
+ | 增加音量 |
左 | 后退30 |
右 | 前进30 |
上 | 后退600 |
下 | 前进600 |
鬼佬在测试他们的浏览器时,经常都是打开几个英文网站,然后就观察一下载入网页的速度、内存占用情况,然后马上就宣称他们的浏览器在什么平台上运行非常平滑,内存占用有特别少,等等,我们先来看一下几个浏览器是怎么说他们自己的:
他们没有想到在神秘的东方,有一些不可思议的网站在等着他们。如:新浪新闻的首页。我曾经拿iPhone4和高端的安卓机去访问,基本都是会卡死在那里。实际测试流量的结果,打开整个新浪首页耗费的流量大约在1MByte到2Mbyte,这还是当年Flash视频没那么流行的时候。反正上面的这几个浏览器,在树莓派上,打开新浪新闻首页,肯定整个界面就会卡死一段时间,等全部页面下完了,拉动起来也非常吃力。
我突然想到了Chrome,搜索了一下,发现Chrome的开源版本Chromium也给port到了Raspbian上了,安装的方法如下:
打开终端窗口,出现提示符后,打入:
wget http://goo.gl/go5yx -O install.sh
成功后,打入:
chmod a+x install.sh
然后,输入(注意一定要加上前面的”点斜杆”):
./install.sh
就开始下载和安装一些必要的包,还有下载整个Chrome并安装,整个过程速度飞快,难道功夫网对Linux格外开恩?安装完成后,直接打入(&让它在背景运行):
chrome -disable-ipv6 &
就可以看到熟悉的Chrome界面了:
在进行魔鬼测试前,我先做了一点点优化,不像其他浏览器,Chrome是一定要有磁盘缓存的,不能关闭的,在正常情况下,这不是什么大问题,因为磁盘的速度远高于网速,但是现在我们用的是SD卡,例如我的class 6的卡,读取速度就是6Mbps,比很多ADSL都慢,所以缓存在这种情况下成为瓶颈,但是它的内部设计有是必须有缓存的,网上有些说法是把缓存的size改成1K,相当于disable掉它。但是缓存对提升速度还是有帮助的,我的做法是用USB硬盘做缓存,启动时打入下列的命令:
chrome -disable-ipv6 --disk-cache-dir=USB硬盘的某个目录 &
好,魔鬼测试开始,开新浪新闻:
整个载入时间花了可能接近一分钟,但是载入的过程中是可以拉动网页的,载入后也可以上下拉动,其他浏览器是几乎死掉了。网页下载的过程中,CPU的占用一直是满的,但是下载完后,CPU的占用就基本很小了。
我还是太傻太天真了,以为新浪新闻就是魔鬼测试了,哪知道还有个更大的魔鬼在后面,那就是新浪微博:
注意右下角的CPU占有率,微博在下载完页面后,还是保持基满的CPU占用率。这时整个浏览器拉动起来很费劲了,而且任何一个操作,比如点开图片都要等很久。用224的内存分配,情况好一点,但是基本没办法做到可用。原因应该是新浪微博用了大量的Javascript。
但是整体上来说,Chrome还是表现最佳。如果有人能用专业的测试工具测一下这几个浏览器的表现,看看瓶颈在哪里就好了。
玩家型的CPU都是支持超频的,通过更改/boog/config.txt中的下列参数可以实现超频:
Option | Description |
arm_freq | frequency of ARM in MHz. Default 700. |
gpu_freq | Sets core_freq, h264_freq, isp_freq, v3d_freq together. |
core_freq | frequency of GPU processor core in MHz. It have an impact on ARM performance since it drives L2 cache. Default 250. |
h264_freq | frequency of hardware video block in MHz. Default 250. |
isp_freq | frequency of image sensor pipeline block in MHz. Default 250. |
v3d_freq | frequency of 3D block in MHz. Default 250. |
sdram_freq | frequency of SDRAM in MHz. Default 400. |
over_voltage | ARM/GPU core voltage adjust. [-16,8] equates to [0.8V,1.4V] with 0.025V steps. Default 0 (1.2V) [1] |
over_voltage_sdram | Sets over_voltage_sdram_c, over_voltage_sdram_i, over_voltage_sdram_p together |
over_voltage_sdram_c | SDRAM controller voltage adjust. [-16,8] equates to [0.8V,1.4V] with 0.025V steps. Default 0 (1.2V) [1] |
over_voltage_sdram_i | SDRAM I/O voltage adjust. [-16,8] equates to [0.8V,1.4V] with 0.025V steps. Default 0 (1.2V)[1] |
over_voltage_sdram_p | SDRAM phy voltage adjust. [-16,8] equates to [0.8V,1.4V] with 0.025V steps. Default 0 (1.2V)[1] |
如何组合参照下表(注意:如果设置了over_voltage,质保就会失效,但是SD卡在你手上它怎么知道你设了?):
arm_freq | gpu_freq | core_freq | h264_freq | isp_freq | v3d_freq | sdram_freq | over_voltage | over_voltage_sdram |
750 | 255 | 450 | ||||||
900 | 250 | 500 | ||||||
900 | 275 | 500 | ||||||
900 | 450 | 450 | ||||||
930 | 350 | 500 | ||||||
1000 | 500 | 450 | 6 | |||||
1000 | 500 | 500 | 6 |
但是本人没有玩过,会不会发生冒烟、地震、火山爆发或61年一遇的洪水等情况,就不得而知了。
实际上就是 Android 4.0 (Ice Cream Sandwich) for Raspberry Pi。根据这个帖子,安卓4.0已经在树莓派上跑起来了,很快就会发布了。这是我非常期待的一个东西,之后就有大量的应用程序可以用了,但是我还是对性能上的表现十分担心,毕竟现在很多手机都是1G以上的CPU和1G内存了。
XBMC是Linux的媒体中心版,XBian就是XBMC和Raspbian结合的产物,作为播放器应用,这个也应该更加方便,支持的文件格式应该更多,尤其是能支持外置字幕。等我新买的SD卡到货后,就会马上刷这个试试。
现在网上已经有很多外壳的3D模型,用3D打印应该就可以打出来了,但是价格会非常昂贵,我询问了一下大概一个外壳要300块左右,如果有人能开模做出个低价的外壳出来就好了。
很好玩的一块板,作为家庭的播放器和下载机应该是没什么问题的,普通的上网浏览也是可以胜任的,如果opera能port到上面来,用服务器端进行渲染,应该访问复杂的页面也是可以的。由于所有的系统文件和虚拟内存(SWAP)全部都是在SD卡上,所以SD卡的速度对性能可能会有很大影响,等换一块高速卡对比一下再看。我觉得在上面做应用应该采用专门系统的方式,很难一个系统解决所有问题,比如做一个系统是专门打游戏的、一个专门优化后进行上网的、一个进行视频播放的,一个专门拿来做编程学习的,然后通过换不同SD卡的方式实现不同的功能,和以前的红白机一样。
可以在新浪微博上关注我 @googol4u二世 ,我会不定期发布一些其他的测试结果。
(若无特别注明,雷锋网文章皆为原创,转载请注明出处)