...

среда, 11 июня 2014 г.

[recovery mode] Raspberry Pi как HTTP, NFS, FTP, Torrent, MiniDLNA и Firebird server

Больше всего я не люблю шум. Даже минимальный шум от внешнего винчестера долго не дает мне заснуть.

Поэтому я решил оборудовать свой домашний медиацентр только бесшумными (в крайнем случае, малошумными) составляющими.

В наличии был ПК (в кабинете), внешний винчестер WD 1Gb, подключенный к ТВ, звуковой проектор Yamaha YSP-900, куда по toslink выводился звук (это добро в комнате для просмотра фильмов, то есть в спальной).


Телевизор Samsung B550, 2009 года, хотя и показывает фильмы с USB (после шаманства с настройками), но далеко не все, также не умеет битстримить DTS на проектор. Для просмотра фильмов был выбран дешевый WDTV Live Streaming 2012 года, славящийся своей всеядностью. Однако, винчестер продолжал шуметь и мешать как просмотру, так и сну.


Поэтому, винчестер был перенесен в кабинет, и подключен к новокупленному Raspberry Pi, после чего был переформатирован в ext4.


Сам Raspberry Pi питается от USB порта компьютера (такая схема работает в том числе и при глубоком сне).


Далее туториал по настройке Raspberry Pi




1. Устанавливаем последнюю версию Raspbian http://ift.tt/1ixxX2e на карточку

2. Меняем настройки загрузки (для fullHd экрана)

disable_overscan=1

hdmi_group=1

hdmi_mode=16

arm_freq=800

Установка частоты больше 800 требует дополнительного охлаждения, иначе система будет нестабильна и на сложных задачах будет намертво зависать.

3. Меняем wheezy на jessie в /etc/apt/sources.list, переименовываем /etc/apt/sources.list.d/collabora.list и /etc/apt/http://ift.tt/1l8eGUD с ~

4. Обновляемся sudo apt-get dist-update &&sudo rpi-update

5. Настраиваем вход по SSH по ключам (http://ift.tt/UtisD6 и www.howtoforge.com /ssh_key_based_logins_putty), отключаем вход по паролю

6. Теперь нужно иметь постоянно примонтированный USB

Делается это так

sudo blkid -c /dev/null

/etc/fstab

UUID=ae614151-2654-4ca0-88ee-4fc97a62c048 /media/WD_MyBook_1 ext4 relatime,errors=remount-ro 0 1

UUID=17f5c5ce-6fde-48ce-98c7-b78d42205e9c /media/WD_MyBook_2 ext4 relatime,errors=remount-ro 0 1

8. На jessie есть проблема с локалями. Исправляем http://ift.tt/ILGTVN

9. Устанавливам torrent-клиент transmission

sudo apt-get install transmission-daemon

sudo adduser --disabled-password transmission

sudo su transmission

transmission-daemon -f

Меняем настройки

sudo chown -R transmission:transmission ./WD_MyBook_1

sudo chown -R transmission:transmission ./WD_MyBook_2

http://ift.tt/1l8eGUF http://ift.tt/Utis5Y

10. Устанавливаем NFS

sudo apt-get install nfs-kernel-server portmap nfs-common

http://ift.tt/1gJEIzc

На WDTV Live Streaming нужно включить поддержку Linux Shares

11. Устанавливаем Lighthpd server и PHP http://ift.tt/OXsw3Z

12. Устанавливаем FTP, настраиваем анонимный доступ внутри локальной сети.

sudo apt-get install vsftpd

Правим vsftpd.conf

anonymous_enable=YES

write_enable=YES

anon_root=/media/

anon_umask=0000

chown_upload_mode=0644

anon_other_write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

use_localtime=YES

connect_from_port_20=YES

chown_uploads=YES

chown_username=transmission

ftp_username=transmission

async_abor_enable=YES

Скорость скачивания по локальной 100 MBit сети — около 11 MBit/s


13. Следующие шаги требуют сборки из исходников, потому устанавливаем git и checkinstall

sudo apt-get install git-core checkinstall

14. Собираем последнюю версию MiniDLNA

собираем x264 ./configure --enable-shared --prefix=/shared && make && sudo checkinstall --pkgname=x264 --pkgversion «1:0.git`date +%Y%m%d`+`git rev-list HEAD -n 1 | head -c 7`» --backup=no --default --fstrans=no

собираем ffmpeg


sudo apt-get install build-essential libfaac-dev libfaad-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev texi2html yasm zlib1g-dev libsqlite3-dev libflac-dev


./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-x11grab --extra-cflags="-I/shared/include" --extra-ldflags="-L/shared/lib" --extra-libs=-ldl --enable-shared --disable-static

make

sudo checkinstall -fstrans=no -install=yes -pkgname=ffmpeg -pkgversion «1:0.svn`date +%Y%m%d`« -default


собираем MiniDLNA

./configure

make

sudo checkinstall -fstrans=no -install=yes -pkgname=MiniDLNA -pkgversion «1:0.svn`date +%Y%m%d`« -default


Меняем настройки MiniDLNA


media_dir=V,/media

friendly_name=Raspberry DLNA Server

db_dir=/home/pi/.minidlna

log_dir=/home/pi/.minidlna/log


На Android смотрю фильмы через BubbleUPNP


15. Устанавливаем Firebird 2.5 http://ift.tt/UtisD9


16. Дополнительные плюшки:

15.1. я установил etherwake, и по необходимости вывожу основной компьютер из спячки удаленно по SSH

15.2. написал на PHP скрипт для автоматического переключения на резервный ADSL канал, если основной провайдер умрёт (роутер ASUS DSL-N10 B1 не делает это автоматически), поместил в сron

15.3. Как оказалось, WDTV Live Streaming не умеет показывать BD Remux, но прекрасно показывает BD-ISO. Потому ремуксы перегоняем в ISO genisoimage -allow-limited-size -o .iso

15.4. Отключил лишние tty

15.5. Собрал elinks2

15.6. Написал консольную версию игры 2048 http://ift.tt/1l8eHb2


Планы:

1. Подключить mono как fastcgi, поднять ASP.NET MVC сайт

2. Подключить датчик температуры и влажности (куплен)

3. Поднять интернет-радио на Raspberry


Итого: Raspberry Pi скачивает и раздает контент, WDTV Live Streaming и планшет его показывает. И тишина, потому что компьютер, съемный винчестер и Raspberry Pi стоят в отдельном кабинете.


Raspberry Pi — прекрасная штука для экспериментов.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий