一、家庭服务器实现的主要功能1、流媒体播放服务:利用DLNA实现电视、手机、电脑播放其上面的媒体文件。 2、文件共享:利用samba实现手机、电脑等终端与服务器的文件共享。 3、自动下载:利用aria2c实现自动下载。 先上几张效果图: 用orico的包装盒做了个机箱。
内部效果,线还是有些凌乱
放在桌上,感觉还不错,呵呵
二、准备工作1、树莓派B+ 2、安装raspbian系统,具体安装方法见:树莓派学习笔记(1):入手树莓派。 3、设置固定IP为192.168.1.120,设置方法见:树莓派学习笔记(3):利用VNC远程控制树莓派。 4、安装vnc软件,安装方法见:树莓派学习笔记(3):利用VNC远程控制树莓派。 5、准备了一块旧移动硬盘(80G) 6、准备了可外接供电的usb hub一个,树莓派本身输出电流较小,很难保证移动硬盘的运行,所以加了一个可外接供电的usb hub。 三、安装samba实现文件共享1、准备硬盘硬盘进行分区和格式化,这里我直接就分了一个区,格式化为ext4格式,据网上介绍说如果是fat或者ntfs等格式可能会出现权限问题,于是干脆直接格式化为ext4格式。硬盘在树莓派上格式化会比较慢,我就在电脑上进行了格式化。电脑操作系统是windows7,利用软件MiniTool Partition Wizard Home Edition 8.0,下载地址:http://www./download.html。具体使用方法是先将原分区删除,然后点击creat,在格式那里选ext4,类型我选的primary,label用的nas,然后点击apply就开始格式化硬盘了。(如果用容量较小的U盘,可以直接用树莓派格式化,命令为:mkfs -t ext4 /dev/sdb1) 2、将硬盘挂载到树莓派上树莓派开机后,用putty连接(连接方法见树莓派学习笔记(1):入手树莓派)后,为方便操作直接进行root用户(具体方法见http://www.cnblogs.com/xiaowuyi/p/3980037.html一楼评论处),然后运行df –h,查看硬盘挂载情况。
root@raspberrypi:/home/pi# df -h 最后一行/dev/sda1说明硬盘已经挂载。为下一步安装samba,将共享文件夹设为/samba。于是新建文件夹: mkdir /samba 设置访问权限:shmod 777 /samba 将硬盘挂载到/samba文件夹,具体步骤: umount /dev/sda1 #取消挂载 mount /dev/sda1 /samba 这里再查看df -h,结果为: 这里表示已挂载成功。 3、解决硬盘的自动挂载每次树莓派重启或者硬盘插拔都需要对硬盘进行重新挂载,比较麻烦,因此需要自动挂载。这里要修改/etc/fstab文件。有人喜欢用vi进行编辑,我比较喜欢直接vnc连接上后,用编辑器进行编辑。
可以看到,fstab文件其实就是一个表格,表格各列的含意如下: 第一列:磁盘分区名/卷标,一般是/dev/sdaN(N表示正整数) 第二列:挂载点,我们在这里把/dev/sda1挂到/samba上。 第三列:缺省设置,一般用defautls。 第四列:是否备份:0——表示不做 dump 备份;1——表示要将整个 <fie sysytem> 里的内容备份;2 也表示要做 dump 备份,但该分区的重要性比 1 小。 第五列:检测顺序:0——不进行检测;根分区(/),必须填写 1,其它的都不能填写 1。如果有分区填写大于 1 的话,则在检查完根分区后,从小到大依次检查下去。 具体填写方法在图中已注明。 4、安装samba更新一下源: sudo apt-get update 安装samba sudo apt-get install samba samba-common-bin 安装完成后,配置/etc/samba/smb.conf文件 在其最后添加以下命令:
#================================================ #转载请注明:@小五义http://www.cnblogs.com/xiaowuyi QQ群:64770604
[share] #共享文件的名称,将在网络上以此名称显示 #================================================ 保存后,重启samba服务,输入 /etc/init.d/samba restart 最后添加共享用户: smbpasswd –a pi #这里我用的pi。 设置开机自启动,编辑/etc/rc.loca,如下 5、测试samba安装效果在windows计算机上,打开我的电脑,在左下角网络点右键,选映射网络驱动器 点击完成会提示输入用户名和密码,这里输入设置的共享用户名和密码。
最后在计算机下会出现共享的文件夹,点开文件夹,新建test.txt文件进行一下测试,如果能正常建立,就说明ok了,如果不行,应该是权限问题,可再重新设置一下/samba文件夹权限。这里注意,如果在/samba文件夹下新建新的文件夹,也需要设置权限,可以用vnc连接后,用管理员浏览,点右键设置文件夹权限为read and write,也可以用chmod命令设置。 四、安装DLNA实现流媒体服务器DLNA主要面向媒体资源(比如视频、音乐)实现网内共享,具体步骤如下: 1、安装minidlna更新一下安装源 sudo apt-get update 安装minidlna sudo apt-get install minidlna 2、设置配置文件设置/etc/minidlna.conf文件,在文件尾部添加如下内容:
#===================================================================================
#转载请注明:@小五义http://www.cnblogs.com/xiaowuyi QQ群:64770604 3、建立文件夹在/samba文件夹下,建立以上文件夹,并设置好权限为read and write。 4、重启minidlna/etc/init.d/minidlna restart 测试: /etc/init.d/minidlna status 返回如下结果为正常。 5、在电脑上进行播放先在树莓派以上对应的video等文件夹内存上一些文件(可利用samba直接从电脑上考入),然后返回到计算机进行操作。 点击我的电脑下面的网络,出现媒体设备 双击进入媒体播放器,在左边的列表栏下方其它媒体库中出现raspberrypi:root,点击后,可选择音乐,视频等。
这时双击就可以欣赏了。 6、手机上进行播放手机上实现网络共享,可安装es file explorer软件,在其网络处进行设置,设置方法与电脑基本一样,这里不再详述。设置后,文件均可浏览,媒体文件双击可以在线播放。 也可以直接使用updp播放器,这里我安装的是moliplayer,可以在其附近设备里,直接找到raspberrypi:root,访问其媒体问题,注意,这里是访问的DLNA共享,所以不需要再输入密码。 7、智能电视进行播放智能电视一般都是用的android系统,与手机基本一样。 五、安装aria2实现下载机功能1、安装aria2更新一下安装源 sudo apt-get update 安装aria2 sudo apt-get install aria2 2、创建配置文件在/etc目录下创建aria2目录用来存放配置文件: sudo mkdir /etc/aria2 创建空白的aria2.session文件: sudo touch /etc/aria2/aria2.session 创建配置文件 sudo nano /etc/aria2/aria2.conf 在该文件中输入以下内容:
#=========文件保存目录自行修改 这里为了方便共享,我直接设置将文件下载到samba共享文件夹。 3、启动aria2sudo aria2c --conf-path=/etc/aria2/aria2.conf 如果没有提示任何错误信息,那就按ctrl+c停止上面的语句,转为后台运行: sudo aria2c --conf-path=/etc/aria2/aria2.conf -D 同时其此句写到开机启动中,编辑/etc/rc.loca,如下 4、安装appache为了能web管理aria2进行下载,需要安装yaaw和apache环境。 安装appach sudo apt-get install apache2 修改/var/www的权限 chmod 777 /var/www 5、安装yaaw从https://github.com/binux/yaaw下载yaaw,点击右下角的 ,下载后将解压后的文件夹内内容拷贝到/var/www文件夹下。这时输入树莓派IP,如果出现以下页面,则表示已经正常工作了。 这里可以点add添加下载任务,具体方法不再详述。 6、实现迅雷的离线下载很多网站都介绍了aria2实现迅雷离线下载的方法,这里也做一下描述。我以firefox浏览器为例,chrome浏览器本身有一个迅雷离线增加插件,可以从https://chrome.google.com/webstore/detail/mbl%E8%BF%85%E9%9B%B7%E7%A6%BB%E7%BA%BF%E5%A2%9E%E5%BC%BA%E8%84%9A%E6%9C%AC/bcbkegabebafalcgckcdphlpainejkja进行安装,安装后就和firefox基本一样了。 在firefox里添加一个书签: 具体为: =========================================================== 名称为:ThunderLixianExporter 地址为:javascript:void((function(){var d=document;var s=d.createElement('script');s.src='http://s./tle.js';s.id='TLE_script';d.body.appendChild(s)})()) ==================================================================
登录迅雷离线网站:lixian.xunlei.com,登录后,点一下书签中的ThunderLixianExporter,然后点击迅雷页面右上角的配置按钮(小齿轮)。 在上面的窗口中填写aria2.json-RPC Path,这个值来自于yaaw那个页面,具体方法是,输入树莓派IP显示yaaw页面,点击右上的配置图标,如下图 在set页面中存在该值: 保存好后,在离线页面的每行记录的取回本地后面会出现一个下拉菜单,选择yaaw就会直接添加到yaaw任务中了。
到此,树莓派的NAS服务器搭建完成,试了一下效果,还是很满意的。
六、制作外壳1、外壳直接从家里找了一个orico的包装盒,大小正好合适,而且外壳比较硬,外观也比较不错。 2、加装1602显示屏加装一个1602显示屏,目的是显示时间和CPU温度,当然也可以显示其它内容,我这里只显示了这两项。这里还需要加装一个电位器(也就是可变电阻,如果没有,可以加一个10K的电阻) (1)1602硬件连接1602共16个端口,只用其中12个,具体接法如下: LCD1602液晶屏模块提供了16个引脚,我们只需接其中的12个即可:
注意:1、这里的VSS、VDD等在有些1602的板子上会标明,有些则只标了数字,如一端写着1,一端写着16,1对应的就是VSS端,16对应的就是K端,因此依次连接就可以了。 2、GPIO各端口及5V、接地等端口见下图,因为我用的是B+的板了,因此这里的图也是B+的端口图。 3、连接通电后,1602会亮起,其中一行为黑色方格,一行什么也不显示,如果全不显示,可调节一下电位器
(2)代码
对于1602板子的操作,已经有人做了一个示例,这样用起来就比较简单了。示例代码下载地址:
3、开面自启动上面的程序将以上文件命名为1602.py,保存在/home/pi下面,修改/etc/rc.loca,添加上sudo python /home/pi/1602/py。树莓派开机时,插上电源,当1602能正常显示CPU温度时,表示机器已经启动完成,各项功能可正常使用。 4、一些其它的想法(1)本想再加装一个风扇用来散热,结果手上没有3.3V的风扇了,所以就没加。感兴趣的朋友可以自己加一下,因为树莓派输出为3.3V,所以最好是直接买3.3V的,如果买5V的,就一定要带个3.3V的继电器,要不没法对风扇控制。如果风扇一直常开那就无所谓了,5V就可以,直接接正负级。我原本的想法是CPU上了50度,风扇再运转,这样可以降温,同时噪音也不会大。 (2)这个家庭服务器搭建起来以后,后面还有很多文章可做,比如可以依托他建立家庭监控系统,装上两个摄像头什么的,也可以做一些外网访问的设置,这样就可以直接从外网进行操作了。 |
|