这里分享一下我在学习使用树莓派中遇到的一些事情,主要有以下部分:
- 购买
- 系统安装
- apt-get与镜像
- AirPlay
- ……
1. 购买
由于本人比较懒惰,不喜欢在网上精挑细选,所以就简单的在某宝上随便找了一家店,除了购买了Raspberry Pi 2 以外,另购入了店家的套装,包括:
- 亚克力机箱(雾)
- 无线USB网卡(EDUP EP-N8508GS,这个不需要另外下载驱动)
- 散热片(CPU和南桥,也可以换成风扇,但是本人更喜欢安静一些)
- 电源线(5V 1.8A的microUSB充电器即可)。
一整套下来一共180+60元左右(并不精确),也许以后会降价也说不定。
另外,树莓派使用TF card作为外部存储介质(其实就相当于PC的“硬盘”啦),所以一般还要另外购买一个TF卡。我买的是一个
- Kingston 16GB Class10的TF卡。
注意这里至少要4GB以上容量(系统好像需要3GiB左右),速度最好是Class 10或者更快的。然后不建议买Samsung的TF卡,网上有人说不能识别,不过我没试过,不太确定。
这里需要注意的,Raspberry Pi 2主要有两种,一种PRC产(就是国产),一种UK产,两者应该并没有什么区别,国产的应该是授权的,所以没必要在这里太过纠结。
下单之后安心的等待三四天,可能树莓派就送过来了(这里并不是在吐槽店家发货之慢)。到手之后就可以装机(雾)了。在这里我遇到了目前为止与树莓派有关的最大的坑:笨手笨脚的我之前并没有揭过新亚克力板的保护膜。在网上查了一下,有人建议用吹风机吹,有人建议用热水烫,不过这些对我来说都不现实——没有吹风机和热水——我在用指甲抠了很久之后突然想起了可以用锉子(指甲锉)。锉子确实是亚克力版保护膜的天敌。揭下保护膜之后就可以组装机箱(雾)了,组装的时候要注意亚克力版挺脆弱的,如果用力太大,亚克力版的卡扣就会毁掉,需要小心一些。
装好外壳,贴好散热片之后,整个电脑主机(雾)基本上就组装完成了,剩下的就是需要给他装上外存,接线,供电了。
2. 系统安装
关于系统安装的知识可以看GeekFan翻译的关于树莓派的一些文章,可以从这里开始→Adafruit的树莓派教程第一课:为你的树莓派准备一张SD卡
树莓派的系统我使用的是原版的raspbian,这个系统应该是树莓派官方在Debian的基础上添加了一些树莓派需要的东西,基本上可以当Debian来用(当然,我之前并没有用过Linux,所以它像Debian也好,像Ubuntu也好,对我来说都是新学)。
这里应当注意的是,如果你的系统是OS X,并选择了GeekFan翻译的那篇文章里所介绍的方法来写TF卡的时候,一定要看清驱动器编号,千万不要弄错,不然系统盘可能……
按照人家的方法做好系统之后,把TF插入树莓派中,就可以接电开机了。开机之后,最好在第一时间进行配置,不然真的很烦的。这里是使用HDMI显示器进行设置的方法:Adafruit的树莓派教程第二课:第一次配置。如果没有hdmi显示器或者电视机,可以参考网上的使用SSH进行登录的方法进行设置,此处不多做介绍。
基本上按照人家说的方法配置就好了,不会出现什么问题。如果界面略有不同,可以在界面上的Advanced Options里面看看,timezone的设置在Internationalisation Options里面。如果有什么忘记设置的,可以随时在terminal里面输入
$ sudu raspi-config
如果按照他们的方法进行设置并进入桌面之后,连接wifi。如果此时屏幕分辨率仍然不对,可以关机后将TF卡取出,用其他电脑对目录下的config.txt进行修改(注意备份),修改的方法可以参考这篇文章:自定义树莓派的显示分辨率(此外,这个网站也是很不错的树莓派咨询站)。我使用的是1080p的电脑显示器,所以在config.txt里做了如下修改
hdmi_group=2
hdmi_mode=82
hdmi_ignore_edid=0xa5000080
3. apt-get与镜像
我使用树莓派最开始的目的是希望得到一个廉价的AirPlay设备,常见的有两种方法可以使设备提供Airplay服务
- XBMC(现在已经改名为Kodi)
- Shairport
使用XBMC比较简单方便,网上有很多资料,不过这并不是我想要的方式,我更喜欢轻量一点的服务,这样还可以做一些其他事情,因此选择了使用Shairport来提供Airplay。下面这篇文章对使用这种方法构建AirPlay讲得比较详细:树莓派制作廉价AirPlay
然而,在使用这个方法的时候,我在第一步就遇到了麻烦,
$ apt-get update
$ apt-get upgrade
上面其实是Debian下最常用的命令之一,安装软件前都要先更新下,然而由于最近江浙沪地区的电信网络对外通道拥挤,网速非常之慢,更新需要无法忍受的时间,所以我在这里选择了中科大的镜像源。具体修改如下
$ sudo nano /etc/apt/sources.list
将文件改为
#deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi #Uncomment line below then 'apt-get update' to enable 'apt-get source' #deb-src http://archive.raspbian.org/raspbian/ wheezy main contrib non-free rpi deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
$ sudo nano sources.list.d/raspi.list
将文件改为
#deb http://archive.raspberrypi.org/debian/ wheezy main # Uncomment line below then 'apt-get update' to enable 'apt-get source' #deb-src http://archive.raspberrypi.org/debian/ wheezy main deb http://mirrors.ustc.edu.cn/debian/ wheezy main
以上感谢中科大。然而如果可以自如更新,并不建议更换镜像源,毕竟我们无法保证镜像源更新的及时性和安全性。
基于相同的原因,git
在我这里也是经常性地无法使用。因此我在执行step 4与step 5时,都是手动到github下载的zip包,手动放到了目标文件夹中。
其他步骤并没有遇到太大的问题,最终成功地开启了AirPlay服务。
4. AirPlay
启动AirPlay,连接音响,这时候无论是使用iOS还是OS X系统,都可以发现同一网络下的AirPlay服务,很开心地完成了AirPlay的简单部署。然而,很痛苦地发现,树莓派的音质差得让人无法忍受,背景噪音异常“清晰”。解决这一问题最好的方式就是入手一个USB DAC,然而稍好一点的USB DAC价格就比较高了,我对音乐并不是非常发烧,再采购一套USB DAC设备在我看来有些划不来,因此放弃了这一方法。之后我将Raspbian下的音量调到了最大,又降低了音响本身的音量,发现原本很大的背景噪音基本消失了,音质虽然没有很好,但已经可以接受了。
既然已经可以正常运行了,下一步就是让AirPort服务随树莓派开机启动。
这里参考了这篇文章:树莓派Raspberry设置python脚本开机启动。文章里面介绍的是开启启动ledblink脚本,这里我们换成AirPlay。脚本修改如下:
#!/bin/bash
# /etc/init.d/airjafe.sh
### BEGIN INIT INFO
# Provides: airjafe.sh
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: airplay initscript
# Description: This service is used to support the airplay.
### END INIT INFO
case "$1" in
start)
echo "Starting AirPlay"
cd /home/pi/shairport
./shairport.pl -a AirJafe
;;
stop)
echo "Stopping AirPlay"
#killall ledblink.py
kill $(ps aux | grep -m 1 'perl ./shairport.pl -a AirJafe' | awk '{ print $2 }')
;;
*)
echo "Usage: service AirJafe start|stop"
exit 1
;;
esac
exit 0
将其保存为airjafe.sh
文件,然后copy到/etc/init.d/
路径下,并依次执行如下命令:
$ sudo chmod +x /etc/init.d/airjafe.sh
$ sudo update-rc.d airjafe.sh defaults
这样就可以在开机的时候让AirPlay服务自动启动了,此外如原文所述,可以通过下面命令启动或停止AirPlay服务。
$ sudo service airjafe.sh start
或
$ sudo service airjafe.sh stop
之后就可以愉快地重启下树莓派,检验AirPort能否像流氓软件一样开机自启了。
5. ……
未完待续