Autor poniższego projektu żyje w Teksasie - przez znaczą większość roku temperatura powietrza przekracza tam 35°C, więc klasyczny kominek w domu zupełnie by się nie sprawdzał. Mimo tego autor chciał mieć w swoim domu coś tego rodzaju, co produkuje miły efekt wizualny - kominek sprawia ładne wrażenie i zawsze dobrze wygląda.
Pewnego dnia, siedząc w salonie, autor spostrzegł, że jego kominek jest w zasadzie tej samej wielkości co stary telewizor. Po kilku szybkich pomiarach okazało się, że istotnie tak jest i można połączyć telewizor z kominkiem, aby stworzyć wirtualny kominek. Do tego celu autor wykorzystał (oprócz telewizora) Raspberry Pi, które generować ma obraz i dźwięk kominka. Poniżej znajdziemy opis w jaki sposób skonfigurować Raspberry Pi do pracy jaki wirtualny kominek. Opis umieszczenia telewizora w kominku został pominięty - zależny będzie od kształtu kominka i użytego telewizora, więc każdy musi dostosować te elementy we własnym zakresie.
Konfigurację systemu rozpoczynamy od gołej instalacji Raspbiana Jessie w pełnej wersji na Raspberry Pi (a najlepiej Raspberry Pi 2; RPi Zero nie nadaje się do tego zadania - ma za małą wydajność do płynnego odtwarzanai wideo). Pierwszą rzeczą jaką musimy zrobić, po instalacji jest rozszerzenie systemu plików. W tym celu w konsoli wpisujemy:
W tym menu wybierz “Expand Filesystem”. Następnie musimy wymusić, aby system ładował się do konsoli po resecie, a nie na pulpit. Aby było to możliwe w raspi-config, w którym już jesteśmy w menu “Boot Options” wybieramy opcję “B2 Console Autologin”. Dodatkowo można w tym menu wyłączyć overscan, jeśli nasz telewizor tego wymaga. W menu “Advanced Options” wybieramy “Overscan” i wyłączamy tą opcję.
Dalej, przydatne może być zwiększenie dostępnej pamięci wideo, jako że komputer będzie głównie odtwarzał film. Ponownie w “Advanced Options” wybieramy menu “Memory Split” i ustawiamy np. na 128. Możemy teraz nacisnąć Finish, potwierdzić to i komputer zresetuje się z nowymi ustawieniami.
Problemem jest także uruchamianie interfejsu HDMI podczas załączania komputera. Włączy się on jedynie gdy telewizor będzie załączony. W naszym projekcie jedynym zadaniem 'Maliny' jest odtwarzanie filmu w pętli, więc może ładować się gdy telewizor jest wyłączony, zatem konieczne jest wymuszenie startu interfejsu HDMI niezależnie od wszystkiego. Realizacja tego może trochę zależeć od posiadanego telewizora.
Ale po kolei - najpierw musimy otworzyć w edytorze plik config.txt:
W pliku tym musimy wymusić podłączanie na gorąco HDMI, tak aby działało ono nawet gdy telewizor jest wyłączony. Odkomentowujemy (kasujemy kratkę) linię #hdmi_force_hotplug=1, aby w pliku wyglądała tak:
Następnie, aby odtwarzacz wideo mógł poprawnie używać HDMI przy poprawnej rozdzielczości musimy zapisać ustawienia telewizora dot. rozdzielczości etc. W ten sposób będą one poprawne, nawet gdy telewizor nie będzie widoczny w systemie. Wartości te podajemy jako zmienne hdmi_group oraz hdmi_mode. W dokumentacji tego pliku konfiguracyjnego znajdziemy dokładne informacje.
Autor projektu używa 1080p przy 60 Hz, typowych wartości dla większości telewizorów. Jego parametry wyglądają następująco:
Tera można zapisać plik i wyjść z edytora. Kolejnym krokiem jest skonfigurowanie odtwarzacza filmów. Musimy najpierw stworzyć folder dla naszych skryptów:
Musimy odtwarzać film w pętli. Sam film pobieramy np. z YouTube (ale można z innego miejsca. Autorowi spodobał się ten film:
Aby pobrać go ze strony korzystamy z youtube-dl. Instalujemy ten program komendą:
Teraz aby pobrać film wpisujemy:
Uwaga - ten konkretny film ma około 3 gb, więc trzeba mieć dostateczną ilość miejsca w systemie. Pobranie pliku zajmie chwilę. Po jego zakończeniu możemy zmienić nazwę pliku, na coś łatwiejszego do użycia. Wpisujemy:
I możemy zobaczyć, że plik nazwany został “Burning Fireplace with Crackling Fire Sounds (Full HD)-0fYL_qiDYf0.mp4”. Zmieniamy nazwę np. na "fireplace.mp4". Wpisujemy (pamiętając o dodaniu \ przed spacjami w linii komend):
Teraz możemy stworzyć skrypt zapętlający nasz filmik:
W pustym pliku wpisujemy:
Zapisujemy i wychodzimy. Skrypt sprawi, że plik będzie odtwarzał się w pętli, a audio odtwarzane będzie także przez HDMI.
Musimy jeszcze nadać naszemu skryptowi prawo do uruchamiania się:
I możemy przetestować jego działanie.
Film powinien rozpocząć się odtwarzać na TV w pętli. Możemy ją przerwać naciskając ctrl+c. Teraz musimy jeszcze sprawić, aby uruchamiał się on automatycznie po uruchomieniu komputera. W tym celu skorzystam z crontaba:
Crontab zapyta nas o preferowany edytor tekstowy - autor projektu używa nano, ale każdy się nada. Po ustaleniu edyora możey dopisać do otwartego pliku następujący tekst na końcu:
Zapisujemy i wychodzimy. Teraz po restarcie systemu uruchomi się automatycznie nasz skrypt. Możemy więc zresetować komputer:
Po ponownym uruchomieniu powinniśmy zobaczyć na ekranie telewizora (o ile jest włączony) obraz i usłyszeć dźwięk kominka. Jeśli podczas ładowania systemu TV jest wyłączony, to po jego uruchomieniu obraz powinien pojawić się automatycznie w dobrych już ustawieniach.
W ten oto sposób nasz kominek - Pireplace - jest gotowy do działania.
Źródło: https://oshlab.com/raspberry-pi-fireplace-video-looper/
Pewnego dnia, siedząc w salonie, autor spostrzegł, że jego kominek jest w zasadzie tej samej wielkości co stary telewizor. Po kilku szybkich pomiarach okazało się, że istotnie tak jest i można połączyć telewizor z kominkiem, aby stworzyć wirtualny kominek. Do tego celu autor wykorzystał (oprócz telewizora) Raspberry Pi, które generować ma obraz i dźwięk kominka. Poniżej znajdziemy opis w jaki sposób skonfigurować Raspberry Pi do pracy jaki wirtualny kominek. Opis umieszczenia telewizora w kominku został pominięty - zależny będzie od kształtu kominka i użytego telewizora, więc każdy musi dostosować te elementy we własnym zakresie.
Konfigurację systemu rozpoczynamy od gołej instalacji Raspbiana Jessie w pełnej wersji na Raspberry Pi (a najlepiej Raspberry Pi 2; RPi Zero nie nadaje się do tego zadania - ma za małą wydajność do płynnego odtwarzanai wideo). Pierwszą rzeczą jaką musimy zrobić, po instalacji jest rozszerzenie systemu plików. W tym celu w konsoli wpisujemy:
Kod: Bash
W tym menu wybierz “Expand Filesystem”. Następnie musimy wymusić, aby system ładował się do konsoli po resecie, a nie na pulpit. Aby było to możliwe w raspi-config, w którym już jesteśmy w menu “Boot Options” wybieramy opcję “B2 Console Autologin”. Dodatkowo można w tym menu wyłączyć overscan, jeśli nasz telewizor tego wymaga. W menu “Advanced Options” wybieramy “Overscan” i wyłączamy tą opcję.
Dalej, przydatne może być zwiększenie dostępnej pamięci wideo, jako że komputer będzie głównie odtwarzał film. Ponownie w “Advanced Options” wybieramy menu “Memory Split” i ustawiamy np. na 128. Możemy teraz nacisnąć Finish, potwierdzić to i komputer zresetuje się z nowymi ustawieniami.
Problemem jest także uruchamianie interfejsu HDMI podczas załączania komputera. Włączy się on jedynie gdy telewizor będzie załączony. W naszym projekcie jedynym zadaniem 'Maliny' jest odtwarzanie filmu w pętli, więc może ładować się gdy telewizor jest wyłączony, zatem konieczne jest wymuszenie startu interfejsu HDMI niezależnie od wszystkiego. Realizacja tego może trochę zależeć od posiadanego telewizora.
Ale po kolei - najpierw musimy otworzyć w edytorze plik config.txt:
Kod: Bash
W pliku tym musimy wymusić podłączanie na gorąco HDMI, tak aby działało ono nawet gdy telewizor jest wyłączony. Odkomentowujemy (kasujemy kratkę) linię #hdmi_force_hotplug=1, aby w pliku wyglądała tak:
Kod: Bash
Następnie, aby odtwarzacz wideo mógł poprawnie używać HDMI przy poprawnej rozdzielczości musimy zapisać ustawienia telewizora dot. rozdzielczości etc. W ten sposób będą one poprawne, nawet gdy telewizor nie będzie widoczny w systemie. Wartości te podajemy jako zmienne hdmi_group oraz hdmi_mode. W dokumentacji tego pliku konfiguracyjnego znajdziemy dokładne informacje.
Autor projektu używa 1080p przy 60 Hz, typowych wartości dla większości telewizorów. Jego parametry wyglądają następująco:
Kod: Bash
Tera można zapisać plik i wyjść z edytora. Kolejnym krokiem jest skonfigurowanie odtwarzacza filmów. Musimy najpierw stworzyć folder dla naszych skryptów:
Kod: Bash
Musimy odtwarzać film w pętli. Sam film pobieramy np. z YouTube (ale można z innego miejsca. Autorowi spodobał się ten film:
Aby pobrać go ze strony korzystamy z youtube-dl. Instalujemy ten program komendą:
Kod: Bash
Teraz aby pobrać film wpisujemy:
Kod: Bash
Uwaga - ten konkretny film ma około 3 gb, więc trzeba mieć dostateczną ilość miejsca w systemie. Pobranie pliku zajmie chwilę. Po jego zakończeniu możemy zmienić nazwę pliku, na coś łatwiejszego do użycia. Wpisujemy:
Kod: Bash
I możemy zobaczyć, że plik nazwany został “Burning Fireplace with Crackling Fire Sounds (Full HD)-0fYL_qiDYf0.mp4”. Zmieniamy nazwę np. na "fireplace.mp4". Wpisujemy (pamiętając o dodaniu \ przed spacjami w linii komend):
Kod: Bash
Teraz możemy stworzyć skrypt zapętlający nasz filmik:
Kod: Bash
W pustym pliku wpisujemy:
Kod: Bash
Zapisujemy i wychodzimy. Skrypt sprawi, że plik będzie odtwarzał się w pętli, a audio odtwarzane będzie także przez HDMI.
Musimy jeszcze nadać naszemu skryptowi prawo do uruchamiania się:
Kod: Bash
I możemy przetestować jego działanie.
Kod: Bash
Film powinien rozpocząć się odtwarzać na TV w pętli. Możemy ją przerwać naciskając ctrl+c. Teraz musimy jeszcze sprawić, aby uruchamiał się on automatycznie po uruchomieniu komputera. W tym celu skorzystam z crontaba:
Kod: Bash
Crontab zapyta nas o preferowany edytor tekstowy - autor projektu używa nano, ale każdy się nada. Po ustaleniu edyora możey dopisać do otwartego pliku następujący tekst na końcu:
Kod: Bash
Zapisujemy i wychodzimy. Teraz po restarcie systemu uruchomi się automatycznie nasz skrypt. Możemy więc zresetować komputer:
Kod: Bash
Po ponownym uruchomieniu powinniśmy zobaczyć na ekranie telewizora (o ile jest włączony) obraz i usłyszeć dźwięk kominka. Jeśli podczas ładowania systemu TV jest wyłączony, to po jego uruchomieniu obraz powinien pojawić się automatycznie w dobrych już ustawieniach.
W ten oto sposób nasz kominek - Pireplace - jest gotowy do działania.
Źródło: https://oshlab.com/raspberry-pi-fireplace-video-looper/
Fajne? Ranking DIY
