Умный дом - это не только управление освещением и голосовые помощники. Умный дом - это комфорт и удобство. Иногда это достигается вполне себе обычными неумными устройствами, а иногда понадобятся технологии, которые могут использоваться и в отрыве от Умного дома.
Когда у меня появился в новой квартире телевизор, я хотел смотреть на большом ярком экране фильмы и сериалы. Это же гораздо удобнее, чем делать это за компьютером или телефоном, не правда ли? Но наслаждаться эфирным ТВ или использовать стриминговые сервисы не всегда подходит. Много контента просто нет на стриминговых сервисах и приходится качать этот контент из других источников. Изначально я просто включал DLNA-сервер на моем windows-компьютере, но с появлением сервера умного дома на raspberrypi 4 я подумал, почему бы не использовать этот одноплатный компьютер как медиасервер, благо вычислительной мощности умный дом занимал немного и ресурсы еще были.
Перед простыми тремя шагами по установке медиасервера я хочу рассказать историю, которая произошла со мной. Во время отпуска мы с женой уехали к ее родителям на неделю, они живут в 400 километрах от нас и навещать удается не часто. Культурная программа была быстро освоена и оставалось еще много времени на вечерние посиделки у телевизора. Мы с женой хотели показать ее родителям новый захватывающий сериал, который им обязательно должен был понравиться, но записать его заранее на флэшку забыли. Телевизор же хоть и был оснащен функцией Smart TV, но уже был достаточно стар, прошивка устарела, кино в браузере смотреть было уже невозможно. Что же делать? И тут я вспомнил о своем медиасервере. С телефона нашел необходимый сериал, запустил скачивание на своем домашнем сервере, за время скачивания установил на телевизоре приложение Plex (именно его использую и дома, вместе с Plex Media Server) и подключился к моему серверу с тёщиного телевизора в гостиной, который находится в 400 километров от моего сервера. После этого несколько дней мы наслаждались беспроблемным воспроизведением захватывающего сериала.
Как я это реализовал?
Шаг 1. Подключаем к raspberrypi USB HDD.
Операционная система на одноплатном компьютере установлена на флэш-накопитель типа microsd объемом 32 гигабайта. Для того чтобы продлить ему жизнь при постоянной перезаписи, а также для обеспечения приличного объема хранимого медиаконтента необходимо подключить внешний жесткий диск. У меня уже был такой старый диск на 1 ТБ, который я и использовал для хранения мультимедиа.
Диск подключаем по USB 3.0, далее монтируем его в систему следующим образом
Выполняем в консоли следующие команды:
lsblk
покажет какие диски есть в системе. Находим наш USB диск, он будет иметь вид /dev/sda1, цифры могут меняться.
sudo mkdir /mnt/usbdisk
Создадим папку, куда будем монтировать диск
sudo mount /dev/sda1 /mnt/usbdisk
выполнив эту команду, мы смонтируем диск в папку /mnt/usbdisk и получим доступ к файловой структуре диска.
sudo blkid /dev/sdb1
выполнив эту команду, мы узнаем UUID диска, это необходимо для того, чтобы монтировать его автоматически, вне зависимости от того, какое имя в системе он получит.
sudo nano /etc/fstab
на этом этапе откроется файл, куда мы должны добавить запись
UUID="9C3881223880FC90" /mnt/usbdisk ntfs defaults,auto,users,rw,nofail,noatime 0 0
где UUID - мы узнали из утилиты blkid, а /mnt/usbdisk это папка, в которую мы будем монтировать наш диск.
Сохраняем файл, закрываем его.
sudo umount /dev/sda1
sudo mount -a
тут сначала отмонтируем наш диск, а затем проверим, что он примонтируется автоматически, согласно изменениям в файле /etc/fstab
На этом работы с диском закончены.
Шаг 2. Установка Transmission в Docker
Чтобы качать с торрентов нам понадобится торрент клиент.
Создаем скрипт для установки в докер
sudo nano transmission.sh
В открывшимся файле пишем
docker create \
--name=transmission \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/Moscow \
-e USER=User \
-e PASS=password \
-p 9091:9091 \
-p 51413:51413 \
-p 51413:51413/udp \
-v /home/pi/transmisson/config:/config \
-v /mnt/usbdisk/Download:/downloads \
-v /mnt/usbdisk/watch:/watch \
--restart unless-stopped \
linuxserver/transmission
Пользователя и пароль необходимо заменить на свои. Далее сохраняем файл и выходим из редактора.
docker pull linuxserver/transmission
sudo sh transmissons.sh
После выполнения последних двух команд вэб-интерфейс transmission будет доступен по адресу http://ip-адрес-сервера:9091
Шаг 3. Установка Plex
В качестве медиасервера я выбрал Plex. Он достаточно простой, красиво формирует медиатеку по сезонам/сериалам, скачивает обложки и описание серий. В общем выбор был скорее эмоциональным, чем рациональным. К тому же для него есть приложения для всех платформ, в том числе и для smart tv.
sudo apt-get install apt-transport-https
sudo curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -
echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
sudo apt-get update
sudo apt-get install plexmediaserver
sudo service plexmediaserver restart
После выполнения этих команд plex будет доступен по адресу http://ip-адрес-сервера:32400
В целом, на этом можно остановиться. Я также установил Samba и организовал доступ к USB диску по сети, но для работы медиа сервера это необязательно. Если интересует, как это сделать - пишите в комментарии, это несложно. В Plex нужно настроить библиотеки и указать в каких папках искать фильмы. В моем случае я сослался на /mnt/usbdisk/Download , ведь именно туда будет качать файлы Transmission.
Теперь картина выглядит следующим образом - я могу заранее из любой точки мира скачать к себе на домашний сервер любой фильм/сериал/книгу, и пока еду с работы домой, благодаря скорости интернета в 100 мбит/секунду контент уже будет скачан, проиндексирован сервером Plex и доступен к просмотру на всех устройствах, даже дома для этого находиться необязательно.
Подписывайтесь на мой канал и страницу в инстаграм @smart.home53, чтобы не пропустить обновления.
#сериал #тёща #интернет вещей #iot #plex #transmission #электроника #умный дом #linux #smarthome