Домашний медиацентр (HTTP, NFS, FTP, Torrent, MiniDLNA и Firebird server) на основе Raspberry Pi

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

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

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

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

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

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


1. Устанавливаем последнюю версию Raspbian www.raspberrypi.org/downloads на карточку
2. Меняем настройки загрузки (для fullHd экрана)
disable_overscan=1
hdmi_group=1
hdmi_mode=16
arm_freq=800
3. Меняем wheezy на jessie в /etc/apt/sources.list, переименовываем /etc/apt/sources.list.d/collabora.list и /etc/apt/sources.list/raspi.list с ~
4. Обновляемся sudo apt-get dist-update &&sudo rpi-update
5. Настраиваем вход по SSH по ключам (http://www.howtoforge.com/set-up-ssh-with-public-key-authentication-debian-etch и https://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 есть проблема с локалями. Исправляем https://perlgeek.de/en/article/set-up-a-clean-utf8-environment
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
habrahabr.ru/post/87287 trac.transmissionbt.com/wiki/Scripts/initd
Скорость скачивания в 100 MBit сети провайдера — около 4.5 MB/s
10. Устанавливаем NFS
sudo apt-get install nfs-kernel-server portmap nfs-common
www.cyberciti.biz/faq/how-to-ubuntu-nfs-server-configuration-howto
На WDTV Live Streaming нужно включить поддержку Linux Shares
11. Устанавливаем Lighthpd server и PHP www.penguintutor.com/linux/light-webserver
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
Скорость скачивания по FTP в локальной 100 MBit сети — около 7 MB/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 mapopa.blogspot.com/2012/11/debian-and-raspberry-pi-love-small-arm.html
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 github.com/AndriiZ/2048
Планы:
1. Подключить mono как fastcgi, поднять ASP.NET MVC сайт
2. Подключить датчик температуры и влажности. Сделано
github.com/AndriiZ/RaspberryPI/tree/master/SmartHouse

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

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

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

Источник

03.12.2017 в 23:21, Просмотров: 810

http, nfs, ftp, torrent, minidlna, firebird server,

ID: 27




Поиск




Облако тэгов

raspberry pi 3, raspbian, raspberry pi zero w, windows 10, windows, ubuntu, python, установка ос, raspberry pi zero, raspberry pi 2, firebird server, dietpi, fedora, freebsd, risc, minidlna, ос, libreelec, osmc, livolo, siri, игры, linux, компьютерное зрение, умный дом

Форум

RSS-канал
Карта сайта
Обратная связь


Рейтинг@Mail.ru

Рубрики

  • Статьи
  • Модели
  • Мысли