Съдържание:

Направете Chromecast като Raspberry Pi устройство: 7 стъпки
Направете Chromecast като Raspberry Pi устройство: 7 стъпки

Видео: Направете Chromecast като Raspberry Pi устройство: 7 стъпки

Видео: Направете Chromecast като Raspberry Pi устройство: 7 стъпки
Видео: How to Turn Raspberry Pi Pico into PLC | Beremiz4Pico 2024, Юли
Anonim
Направете Chromecast като Raspberry Pi устройство
Направете Chromecast като Raspberry Pi устройство
Направете Chromecast като Raspberry Pi устройство
Направете Chromecast като Raspberry Pi устройство
Направете Chromecast като Raspberry Pi устройство
Направете Chromecast като Raspberry Pi устройство
Направете Chromecast като Raspberry Pi устройство
Направете Chromecast като Raspberry Pi устройство

Вече притежавам Chromecast v2 (кръглата, USB флашът е v1 и v3 прилича на v2, но с G на i и има тухла за захранване с Ethernet порт) и ми харесва, много е забавно да се използва и лесен за настройка, НО …

Да, има НО, когато съм на място, където нямам достъп до интернет и не мога да използвам плана си за данни, НЕ МОГА ДА ГО ИЗПОЛЗВАМ за поточно предаване на локални медии от телефона или таблета си, дори когато не изобщо не се нуждая от интернет, Google в „голямата мъдрост“на тях реши да не позволи дори да се стартира без интернет, това е лошо, ако в крайна сметка се нуждаете от него за поточно предаване

Имам мини-рутер GL-MT300A, много е малък и може да се захранва от телефон, външна батерия или зарядно за телефон, използвам го, за да свържа моя Chromecast с него и когато имам нужда от интернет, просто свързвам рутера към кабелния мрежа или ако имат само WiFi, той поддържа да се свърже с това като клиент и да действа едновременно като рутер, сега проблемът продължава да съществува, няма интернет = няма chromecast на локални медии за вас. Тук идва в игра Raspberry Pi Zero W (W идва от Wireless, има вградена карта, * yaay *, Bluetooth също, но не ми трябва: P)

Стъпка 1: Какво ви трябва и какво получавате

Какво имате нужда и какво получавате
Какво имате нужда и какво получавате
Какво имате нужда и какво получавате
Какво имате нужда и какво получавате
Какво имате нужда и какво получавате
Какво имате нужда и какво получавате

Имате нужда от:

  • Raspberry Pi Zero W (моят е в акрилен калъф)
  • HDMI кабел (хубаво е да имате такъв с пластмасови капачки)
  • Източник на захранване (зарядно за телефона в моя случай)
  • Мини HDMI (мъжки) към пълен HDMI (женски) адаптер (идва с PI)
  • SD карта от 8Gb или повече (използвам 16Gb от Medion)
  • Четец за SD карти (получих го като подарък с банка за захранване от Hama)
  • Интернет връзка и компютър за изтегляне на „Raspbian Stretch Lite“
  • Etcher Portable (писател на изображения на SD карта) -> вземете Etcher за Windows x86 (32 -битов) (Portable) ще работи и на x64
  • Изтеглете Putty от предоставената връзка или потърсете в Google

Ще получите:

Прехвърляща цел за видео файлове от онлайн услуги като YouTube и местни медии (видео, аудио и изображения) за Android (Raspicast), Windows и всяка операционна система, която поддържа SSH клиентско приложение

Не изисква интернет, ако носителят, който му изпращате, се съхранява на вашето устройство или някъде в локалната мрежа

Можете да получите дистанционно управление на целта като възпроизвеждане, да изберете източника, пускане/пауза, сила на звука, изход. (Малинов SSH или SSH бутон, замазка)

Получавате много бързо време за зареждане на устройството, за Raspberry Pi Zero, около 10 секунди

Получавате тапет по подразбиране и начин за показване на произволни тапети чрез натискане на бутон, които не заемат място на вашето устройство и остават там до рестартиране. (може да се промени, за да бъде постоянен, ще покажа по -късно как)

Той приема различни видове потоци (като HTTP, HTTPS, RTSP) и с помощта на компютър, лаптоп в моя случай, Sopcast, Acestream, както и локални носители с външни субтитри (като srt, sub)

Можете дори да давате файлове по HTTP, съхранявани на вашия компютър, с помощта на преносим, единичен файл, уеб сървър на плейъра

Има още какво да откриете, да добавите или премахнете, в зависимост от вашите нужди

Стъпка 2: Получаване на софтуера и инструментите за поставяне на Sdcard

Получаване на софтуера и инструментите за поставяне на Sdcard
Получаване на софтуера и инструментите за поставяне на Sdcard
Получаване на софтуера и инструментите за поставяне на Sdcard
Получаване на софтуера и инструментите за поставяне на Sdcard
Получаване на софтуера и инструментите за поставяне на Sdcard
Получаване на софтуера и инструментите за поставяне на Sdcard

Изтегляния:

Сега отидете на https://www.raspberrypi.org/downloads/raspbian/ и изтеглете „Raspbian Stretch Lite“

Отидете на https://www.balena.io/etcher/ и вземете Etcher за Windows x86 (32-битова) (преносима) (има и версии за Linux и Mac)

Изтеглете kit от

Сега, когато имате всичко това, ще стартираме Etcher и ще поставим картата в четеца на карти и четеца в компютъра: P

В Etcher щракнете върху изберете изображение и изберете изтегления zip файл (за мен по време на писането това е „2018-11-13-raspbian-stretch-lite.zip“, след това изберете четеца на карти от показания списък и поне щракнете върху flash, той ще поиска разрешение от Контрола на потребителските акаунти (UAC), разреши го, той трябва физически да получи достъп до sdcard в изключителен режим, за да напише изображението. Когато приключи, изключете го, той вече е изваден от Etcher и го постави обратно в, ще има зареждащ дял от ~ 50Mb и ще бъдете подканени да форматирате "неформатиран дял" НЕ ГО ФОРМИРАЙТЕ, Windows не може да чете Linux дялове и има ext4 дял.

Трябва да направите 2 файла в зареждащия дял.

нов файл без разширение, наречен ssh

друг, наречен wpa_supplicant.conf

Съдържанието на "wpa_supplicant.conf" е следното

държава = GB

ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1 network = {ssid = "YOUR_WIFI_SSID" psk = "YOUR_SUPER_SECRET_PASSWORD"}

Сега го включете в Raspberry Pi и свържете HDMI изходно устройство (известен още като телевизор, проектор и т.н.) и към захранването.

Последният ред преди влизането ще се покаже IP. (Като общо правило е добре да направите това разпределение на адреса статично за вашия рутер, вижте изображението на маршрутизатор на Linksys.

Стъпка 3: Актуализиране и настройване на всичко

Актуализиране и настройване на всичко
Актуализиране и настройване на всичко

Актуализирайте системата си:

sudo apt-get update

sudo apt-get upgrade sudo apt-get update sudo rpi-update

След като всичко е направено, той ще се рестартира и ще имате прозорец с шпакловка, който е неактивен, затворете го и започнете отново със същите данни от предишната стъпка.

Сега ще инсталираме omxplayer, няма нужда да го компилирате от източника е част от хранилищата на Raspbian.

sudo apt-get install omxplayer fonts-freefont-ttf

Искам да имам начин да променя HDMI порта на моя телевизор, с помощта на моята малинка, все едно искам да му предам нещо и не искам да използвам дистанционното, за да променя източника на този, където е свързан. Има начин да направите това от Pi и с помощта на команда от моето приложение по избор. Накратко, направете следното:

sudo apt-get install cec-utils

Сега следва framebuffer визуализатора на изображения, наречен fbi (има и по -напреднала версия, наречена също fim)

sudo apt-get install fbi

Поддръжка на Samba, Windows споделяне за достъп и споделяне на папка.

sudo apt-get install samba samba-common-bin

cd /home /pi

sudo mkdir -m 1777/home/pi/share

Редактирайте конфигурационния файл на samba

sudo nano /etc/samba/smb.conf

вмъкнете следните редове в края (тези, които започват с # са коментари и могат да бъдат игнорирани)

[дял]

Коментар = Pi споделена папка Път =/home/pi/share Browseable = да Writeable = Да само гост = не създаване на маска = 0777 маска на директория = 0777 Публично = да Гост добре = да

И накрая, запазете го; използване на nano в терминал:

натиснете “Ctrl+X”, за да затворите файла, след това “Y”, за да потвърдите запазването, след това “Enter”, за да запазите файла под дясното име на файла.

Сега задайте паролата за samba същата като за потребителя pi (по подразбиране: малинка)

sudo smbpasswd -a пи

рестартирайте услугата samba

sudo /etc/init.d/samba рестартиране

Сега имате основите, персонализирането следва.

Стъпка 4: Персонализиране

Персонализиране
Персонализиране

накарайте началния екран да се показва при стартиране вместо черен екран с бял текст.

Изтеглете WinSCP и влезте със същия IP, потребител и парола от SSH/Putty вход.

Отидете/home/pi/и качете изображението, предоставено в zip файла на тази стъпка, след разархивиране. След това излезте. Изображението е 1080p като разделителна способност.

въведете следната команда в kitty:

nano ~/.bashrc

превъртете до последния ред с клавишите със стрелки вмъкнете следните редове там (тези, които започват с # са коментари и могат да бъдат игнорирани)

# fifo за команди през ssh към omxplayer

mkfifo/tmp/cmd # splash screen за замяна на черния екран и текст sudo/usr/bin/fbi -noverbose -a -T 1 /home/pi/splashscreen.jpg

И накрая, запазете го; използвайки nano в терминала: натиснете “Ctrl+X”, за да затворите файла, след това “Y”, за да потвърдите запазването, след това “Enter”, за да запазите файла под правилното име на файла.

Сега правим автоматичното влизане на потребителя „pi“при зареждане, това ни трябва за показване на изображението, може да се направи по начин без автоматично влизане, но е по-трудно и може да се влоши бързо от една грешка при въвеждане.

sudo raspi-config

  1. Изберете Boot Option
  2. Изберете Desktop/CLI
  3. Изберете Автоматично влизане в конзолата за CLI

Сега ще рестартираме и сме готови с пи и ще направим екстри за игра.

sudo рестартиране

Идеята на моя проект е, че повечето неща се извършват в SSH клиента, тъй като могат да бъдат персонализирани и променени по начин, по който са необходими.

Стъпка 5: Как да го използвате:

Как се използва
Как се използва
Как се използва
Как се използва
Как се използва
Как се използва
Как се използва
Как се използва

Ще покажа командите и какво правят и как да конфигурирате допълнителния софтуер от стрийминг устройството.

Използвам 3 приложения за Android и 4 приложения за компютър за моите цели, но вие прилагате това, от което се нуждаете, от това, което ще ви покажа, или можете да имате всичко и дори да добавите още към него.

• YouTube: под Android използвайте Raspcast, под компютър използвайте сайт като https://www.onlinevideoconverter.com/ или

www.youtubnow.com/ или https://youtubemp4.to или още по-добре https://mpgun.com/youtube-to-mp4.html?yid=hTJAnWWK7YQ (hTJAnWWK7YQ е идентификатор на youtube) ще получите директна връзка към носителя, която може да се възпроизвежда чрез следната команда:

omxplayer -o hdmi "https://sv89.onlinevideoconverter.com/download?file=f5a0d3c2e4d3g6h7"/tmp/cmd

Добавянето на < /tmp /cmd ще позволи дистанционно управление и; ехо. > /tmp /cmd ще започне да възпроизвежда потока или иначе ще изчака команда от fifo. Параметърът -o hdmi на omxplayer ще се извежда към HDMI видео И аудиото отива там, това е важно за хората, които използват по -големите варианти на Raspberry Pi Zero W.

Сега ще ви покажа как да конфигурирате Raspicast за android, безплатен е и няма реклами.

Инсталирайте Raspicast от google play store и го конфигурирайте както в предоставените изображения.

play.google.com/store/apps/details?id=at.huber.raspicast

• Sopcast: стартирайте Sopcast на компютър, изберете канал и когато видите изображение, дайте следната команда

IP 192.168.1.6 е IP адресът на вашия компютър. ЛАПТОП НЕ Е ОНИЯ ОТ ПИ, в моя пример Pi има 192.168.1.9, а лаптопът е 192.168.1.6

omxplayer -o hdmi "192.168.1.6:8902" /tmp /cmd

• AcePlayer: стартирайте го, изберете канал и … има еднократни настройки, които трябва да промените, за да работи, отидете на Tools -> Preferences -> Thick All, Stream output -> Default stream output chain, където въвеждате следното

#duplicate {dst = "http {mux = ts, dst =: 8902/tv.asf}", dst = display}

Щракнете върху Запазване. Сега командата, която ще ви покаже потока, след като го стартирате в AcePlayer ofc:

omxplayer -o hdmi "https://192.168.1.6:8902/tv.asf"/tmp/cmd

• Прехвърляне от компютър на файл Имате нужда от Putty, Zervit, VLC инсталиран (не преносим)

Zervit получавате от

Първо трябва да поставите zervit.exe в папката с мултимедийните файлове, които искате да изпратите на вашия Raspberry PI, след това да го стартирате, той ще зададе няколко въпроса. "Номер на порта за слушане (80):" въведете 80 и въведете "Приемете списъка с директории [Д/Н]:" въведете y и въведете сега отворете браузър и въведете във вашия LAN IP адрес https://192.168.1.6, който ще видите всички медийни файлове там, копирайте връзката към един от тях с десен бутон -> копиране на връзката, след това ssh с шпакловка и въведете

omxplayer -o hdmi "https://192.168.1.6/Movie.mp4"/tmp/cmd < - или както се нарича вашият медиен файл

за файлове със субтитри поставете субтитрите със същото име като видео файл с разширение srt в споделената папка на windows на малината

RASPBERRYPI / share

или

192.168.1.9 / споделяне

където 192.168.1.9 е ip на вашата малина.

във вашата домашна папка (/home/pi)

winscp с pi: rasspberry и качете скрипт на python, наречен „omxplayersub.py“със следното съдържание:

подпроцес на импортиране

import sys import urllib2 if (len (sys.argv)! = 2): отпечатайте "Не е посочено име на файл" quit () file = sys.argv [1] subfile = "/home/pi/share/"+ file.split ("/") [-1] подфайл = подфайл [: -3] + "srt" подфайл = urllib2.unquote (подфайл) подпроцес. Popen ('omxplayer -o hdmi -r --font "/home/pi/Segoe Потребителски интерфейс, Medium.ttf "--italic-font"/home/pi/Segoe UI, Italic.ttf "-подравняване в центъра ' +'" ' +файл +' "' +'-субтитри ' +'" ' + подфайл +'"', черупка = вярно)

сега качете това с потребителския интерфейс на Segoe и FreeSans във вашата домашна папка (/home/pi) Променете имената на шрифтовете за желания тип шрифт и ако е необходимо добавете-размер на шрифта 55 (по подразбиране: 55) след --align с желания размер.

и използвайте следната команда за възпроизвеждане:

python omxplayersub.py "https://192.168.1.6/Defiance%20S01E02.mp4" </tmp/cmd <- или както се нарича вашият медиен файл

Ако не го виждате на екрана да се възпроизвежда, има проблем със съвместимостта, при някои h264 файлове профилът се показва от h264 -omx като -99, да, отрицателен 99, и той няма да се възпроизвежда, в този случай и в случай на файл с външни субтитри ще трябва да използвате VLC поток изберете файл/файлове, изберете HTTP, оставете порт по подразбиране, h.264/AAC (TS), задръжте мащаба до 1, Транскодиране - Настройки на дебели субтитри, натиснете бутона за поток и оставете той работи за няколко секунди.

omxplayer -o hdmi "https://192.168.1.6:8080/"/tmp/cmd < - ще започне да играе

Ние правим транскодиране, ще има малка загуба на качество на дисплея и процесорът ще работи повече на компютър, но работи.

CEC - Контрол

Включете телевизора

ехо на 0 | cec -client -s -d 1

Изключете телевизора

ехо готовност 0 | cec -client -s -d 1

Промяна на HDMI източника

HDMI1

ехо "tx 4F: 82: 10: 00" | cec -client -s -d 1

HDMI2

ехо "tx 4F: 82: 20: 00" | cec -client -s -d 1

HDMI3

ехо "tx 4F: 82: 30: 00" | cec -client -s -d 1

HDMI4

ехо "tx 4F: 82: 40: 00" | cec -client -s -d 1

Както виждате третия байт в шестнадесетичния низ, който озвучаваме, е номерът на HDMI конектора, който трябва да се активира.

Стъпка 6: Списък на командите за поставяне в приложения

Списък на команди, които да се поставят в приложения
Списък на команди, които да се поставят в приложения

Вече сте инсталирали Raspicast на предишната стъпка, сега трябва да избирате между Raspberry SSH (той е платен) или SSH Button (безплатен е и ми харесва повече, но вече съм купил Raspberry SSH преди да открия този).

Малина SSH

play.google.com/store/apps/details?id=uk.co.knowles_online.raspberryssh

Това приложение или бутон SSH е необходимо, ако трябва да излъчвате неща от компютър и имате нужда от дистанционно управление от устройство с Android, то може да се използва без него чрез шпакловка от компютър.

Конфигурацията и за двете е почти същата.

Бутон 1 Btn Текст: Рестартиране

Btn Cmd:

sudo рестартиране

Бутон 2

Btn текст: Poweroff

Btn Cmd:

sudo poweroff

Бутон 3

Btn текст: HDMI1

Btn Cmd:

ехо "tx 4F: 82: 10: 00" | cec -client -s -d 1

Бутон 4

Btn текст: HDMI2

Btn Cmd:

ехо "tx 4F: 82: 20: 00" | cec -client -s -d 1

Бутон 5

Btn текст: HDMI3

Btn Cmd:

ехо "tx 4F: 82: 30: 00" | cec -client -s -d 1

Бутон 6

Btn Text: Убийте omxplayer

Btn Cmd:

sudo killall -s 9 omxplayer.bin

Бутон 7

Btn текст: Sopcast

Btn Cmd:

omxplayer -o hdmi "https://192.168.1.6:8902"/tmp/cmd

Бутон 8

Btn текст: AcePlayer

Btn Cmd:

omxplayer -o hdmi "https://192.168.1.6:8902/tv.asf"/tmp/cmd

Бутон 9

Btn текст: VLC поток

Btn Cmd:

omxplayer -o hdmi "https://192.168.1.6:8080/"/tmp/cmd

Бутон 10

Btn Text: Възпроизвеждане/пауза

Btn Cmd:

echo -n p> /tmp /cmd

Бутон 11

Btn текст: том +

Btn Cmd:

echo -n +> /tmp /cmd

Бутон 12

Btn текст: том -

Btn Cmd:

echo -n -> /tmp /cmd

Бутон 13

Btn Text: Излезте от Omxplayer

Btn Cmd:

echo -n q> /tmp /cmd

Бутон 14

Btn текст: Случайни тапети

Btn Cmd:

wget -O DELME.jpg https://source.unsplash.com/random/1920x1080 &>/dev/null; sudo killall fbi &> /dev /null; sudo fbi -noverbose -a -T 1 DELME.jpg &> /dev /null; sleep 1; rm DELME.jpg

Бутон 15

Btn текст: Тапет по подразбиране

Btn Cmd:

sudo killall fbi &> /dev /null; sudo fbi -noverbose -a -T 1 splashscreen-j.webp

Бутон 16 Btn Текст: Тапет за слайдшоу

Btn Cmd:

cd/home/pi/слайдшоу/; sudo killall fbi &> /dev /null; sudo fbi -noverbose -a -T 1 -t 5 *-j.webp

-t 5 за 5 секунди

Бутон 17 Btn Текст: SUBTITLE HTTP PLAY (Редактиране)

Btn Cmd:

python omxplayersub.py "https://192.168.1.6/Some%20video%20with%20subtitle.mp4" </tmp/cmd

При редактиране променете „https://192.168.1.6/Some%20video%20with%20subtitle.mp4“с url на файла от външен източник или го променете на нещо като/home/pi/share. Субтитрите трябва винаги да са в/home/pi/share, ВИНАГИ.

Безплатна алтернатива на Raspberry SSHhttps://play.google.com/store/apps/details? Id = com.pd7l.sshbutton & hl = bg

Работи по същия начин като Raspberry SSH, няма реклами, по -малко цветове и всички бутони са на един ред не 2, но са безплатни и работи чудесно.

Сега накрая някои екзотични неща, предавайте поточно това, което записвате с телефона си в реално време, има няколко секунди закъснение, към вашия телевизор.

IP WEBCAMERA PRO (платено)

play.google.com/store/apps/details?id=com.pas.webcam.pro

Стартирайте поточно предаване и използвайте следната команда, за да го предадете на телевизора

omxplayer -o hdmi rtsp: //192.168.1.8: 8080/h264_ulaw.sdp

RTSP камера сървър (безплатно)

play.google.com/store/apps/details?id=com.miv.rtspcamera&hl=bg&rdid=com.miv.rtspcamera

Прави същото като платеното, но безплатно, без реклами

omxplayer -o hdmi "rtsp: //192.168.1.8: 5554/камера"

Активна камера - rtsp: // (IP адрес на устройството): 5554/камера Задна камера - rtsp: // (IP адрес на устройството): 5554/задна Предна камера - rtsp: // (IP адрес на устройството): 5554/предна

Параметри на URL адреса на камерата:

res Разделителна способност - ширина (номер) x височина (номер)

fps Кадър в секунда - fps (номер) микрофон Активиране/деактивиране на микрофона - включено (низ) или изключено (низ)

Пример: rtsp: // (IP адрес на устройството): 5554/назад? Res = 640x480 & fps = 10 & mic = on

Стъпка 7: Още неща… WEB интерфейс

Още нещо… WEB интерфейс
Още нещо… WEB интерфейс

Инсталирайте го с един ред от git

wget https://raw.githubusercontent.com/brainfoolong/omxwebgui-v2/master/install.sh && clear && sh install.sh

Потребителският интерфейс по подразбиране е включен в порт 4321, той не се нуждае от уеб сървър и работи всичко под php

Изисквания:

sudo apt-get install php-cli

sudo apt-get инсталирайте php-mbstring sudo apt-get инсталирайте php5-cli sudo apt-get инсталирайте php5-mbstring

Изтеглете/клонирайте/разопаковайте целия скрипт в папка, която харесвате. Задайте правилния chmod за скриптовете с

chmod +x *.sh

Създайте php уеб сървър, който слуша на порт 4321, можете да промените порта на каквото искате. Стартирайте това със същия потребител, от който се нуждаете, за да възпроизвеждате видеоклиповете. Моля, не използвайте apache или друг сървър за стартиране на php скрипта, той вероятно няма да работи.

php -S 0.0.0.0:4321 -t/home/pi/omxwebgui>/dev/null 2> & 1 &

Отворете уеб страницата с https://192.168.1.9:4321 (където 192.168.1.9 е raspberry pi IP)

За да активирате автоматичното стартиране при рестартиране, просто добавете следния ред към вашия crontab. Направете това със същия потребител, който ви е необходим за възпроизвеждане на видеоклиповете. Не се изисква sudo. Добавете следния ред към crontab с crontab -e, за да стартирате простия php уеб сървър при рестартиране.

crontab -е

сега добавете с

@reboot php -S 0.0.0.0:4321 -t omxwebgui> /dev /null 2> & 1 &

Добавете файловете в настройките, могат да се добавят само локални хоствани или картографирани споделяния и ofc потоци. Add/home/pi/share също в папката със субтитри и ако е необходимо, разрешете поправка за 2x скорост на възпроизвеждане и без звукови грешки.

Препоръчано: